commit c9272c4f9fbe2087beb3392f526dc5b19efaa56b Merge: fb4284b... 744d18d... Author: Linus Torvalds Date: Sun Jul 27 16:47:55 2008 -0700 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode nfs_remount oops when rebooting + possible fix commit fb4284b2b7cfaf3b89557667587cca90bddccc59 Merge: 3e318b5... 583323b... Author: Linus Torvalds Date: Sun Jul 27 16:46:51 2008 -0700 Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86: fix cpu hotplug on 32bit commit 3e318b5b55fafebd3a6e4dd3a00b79bfc0668675 Merge: 940389b... 53cdb27... Author: Linus Torvalds Date: Sun Jul 27 16:46:08 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] Fix shared mmap when more than two maps of the same file exist [ARM] fix VIPT/VIVT macro optimisations, add comments [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_* [ARM] update defconfig for eseries. [ARM] PXA: squash warning in pxafb [ARM] pxa: PXA25x UDC - Fix warning during build [ARM] fix nwflash.c: 6ee8928d94841aa764aeaf645ad16daff811dc26 [ARM] fix IOP32x, IOP33x, MXC and Samsung builds [ARM] pci: provide dummy pci_get_legacy_ide_irq() [ARM] fix fls() for 64-bit arguments [ARM] fix mode for board-yl-9200.c [ARM] 5176/1: arm/Makefile: fix: ARM946T -> ARM946E commit 940389b8afad6495211614c13eb91ef7001773ec Author: Andrea Righi Date: Mon Jul 28 00:48:12 2008 +0200 task IO accounting: move all IO statistics in struct task_io_accounting Simplify the code of include/linux/task_io_accounting.h. It is also more reasonable to have all the task i/o-related statistics in a single struct (task_io_accounting). Signed-off-by: Andrea Righi Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 744d18dbfae07482ea461701b0aaec3a75ec9224 Author: Trond Myklebust Date: Sun Jul 27 18:03:19 2008 -0400 NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode In order to avoid the "Busy inodes after unmount" error message, we need to ensure that nfs_async_unlink_release() releases the super block after the call to nfs_free_unlinkdata(). Signed-off-by: Trond Myklebust commit 31c9446993f412ecb7875e30bba4bc7f216ae016 Author: Marc Zyngier Date: Thu Jul 17 13:21:55 2008 +0200 nfs_remount oops when rebooting + possible fix Jeff, Trond, The commit 48b605f83c920d8daa50e43fc2c7f718e04c7bfa (NFS: implement option checking when remounting NFS filesystems (resend)) generate an Oops on my platform when rebooting while its root FS on an NFS share (NFSv3, TCP) : Unmounting local filesystems...done. Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c3d00000 [00000000] *pgd=a3d72031, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core CPU: 0 Not tainted (2.6.26-03414-g33af79d-dirty #15) PC is at nfs_remount+0x40/0x264 LR is at do_remount_sb+0x158/0x194 pc : [] lr : [] psr: 60000013 sp : c2dd1e70 ip : c2dd1e98 fp : c2dd1e94 r10: 00000040 r9 : c3d17000 r8 : c3c3fc40 r7 : 00000000 r6 : 00000000 r5 : c3d2b200 r4 : 00000000 r3 : 00000003 r2 : 00000000 r1 : c2dd1e9c r0 : c3c3fc00 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0000397f Table: a3d00000 DAC: 00000015 Process mount (pid: 1462, stack limit = 0xc2dd0270) Stack: (0xc2dd1e70 to 0xc2dd2000) 1e60: 00000000 c3c3fc00 00000000 00000000 1e80: c3c3fc40 c3d17000 c2dd1ebc c2dd1e98 c0076c40 c00bbf20 c01c61e4 00000001 1ea0: c2dd1ebc 00000001 c3c3fc00 c2dd1ef0 c2dd1ee4 c2dd1ec0 c008c6d8 c0076af4 1ec0: 00000021 00000040 c2dd1ef0 c3d77000 c3eaa000 00000000 c2dd1f6c c2dd1ee8 1ee0: c008d1bc c008c5f8 00000000 c2dd0000 c3c0c320 c3805b38 c002064c 0001f820 1f00: 0001f810 00000001 00000001 00000000 c2dd0000 00000000 c2dd1f34 c2dd1f28 1f20: c005ead8 c005e6f8 c2dd1f44 c2dd1f38 c005eaf8 c005ead0 c2dd1f6c c2dd1f48 1f40: c008ae3c 00000000 c3d77000 0001f810 c0ed0021 c0020ca8 c2dd0000 00000000 1f60: c2dd1fa4 c2dd1f70 c008d2d4 c008d0bc 00000000 0001f810 c2dd1f9c c3eaa000 1f80: c3d17000 00000000 00000000 be8b6aa8 be8b6ad0 00000015 00000000 c2dd1fa8 1fa0: c0020b00 c008d254 00000000 be8b6aa8 0001f810 0001f820 0001f830 c0ed0021 1fc0: 00000000 be8b6aa8 be8b6ad0 00000015 00000000 be8b6ad0 0001f810 be8b6aa8 1fe0: 0001f810 be8b6964 0000aab8 40125124 60000010 0001f810 00000000 00000000 Backtrace: [] (nfs_remount+0x0/0x264) from [] (do_remount_sb+0x158/0x194) r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00 r4:00000000 [] (do_remount_sb+0x0/0x194) from [] (do_remount+0xec/0x118) r6:c2dd1ef0 r5:c3c3fc00 r4:00000001 [] (do_remount+0x0/0x118) from [] (do_mount+0x10c/0x198) [] (do_mount+0x0/0x198) from [] (sys_mount+0x8c/0xd4) [] (sys_mount+0x0/0xd4) from [] (ret_fast_syscall+0x0/0x2c) r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000 Code: 0a000086 ea000006 e3530003 8a000004 (e5923000) ---[ end trace 55e1b689cf8c8a6a ]--- ------------[ cut here ]------------ WARNING: at kernel/exit.c:966 do_exit+0x3c/0x628() Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core [] (dump_stack+0x0/0x14) from [] (warn_on_slowpath+0x4c/0x68) [] (warn_on_slowpath+0x0/0x68) from [] (do_exit+0x3c/0x628) r6:0000000b r5:c3c3dc80 r4:c2dd0000 [] (do_exit+0x0/0x628) from [] (die+0x2b0/0x30c) [] (die+0x0/0x30c) from [] (__do_kernel_fault+0x6c/0x80) [] (__do_kernel_fault+0x0/0x80) from [] (do_page_fault+0x210/0x230) r7:c3fa7118 r6:c3c3dc80 r5:c3d166a8 r4:00010000 [] (do_page_fault+0x0/0x230) from [] (do_DataAbort+0x3c/0xa0) [] (do_DataAbort+0x0/0xa0) from [] (__dabt_svc+0x4c/0x60) Exception stack(0xc2dd1e28 to 0xc2dd1e70) 1e20: c3c3fc00 c2dd1e9c 00000000 00000003 00000000 c3d2b200 1e40: 00000000 00000000 c3c3fc40 c3d17000 00000040 c2dd1e94 c2dd1e98 c2dd1e70 1e60: c0076c40 c00bbf54 60000013 ffffffff r8:c3c3fc40 r7:00000000 r6:00000000 r5:c2dd1e5c r4:ffffffff [] (nfs_remount+0x0/0x264) from [] (do_remount_sb+0x158/0x194) r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00 r4:00000000 [] (do_remount_sb+0x0/0x194) from [] (do_remount+0xec/0x118) r6:c2dd1ef0 r5:c3c3fc00 r4:00000001 [] (do_remount+0x0/0x118) from [] (do_mount+0x10c/0x198) [] (do_mount+0x0/0x198) from [] (sys_mount+0x8c/0xd4) [] (sys_mount+0x0/0xd4) from [] (ret_fast_syscall+0x0/0x2c) r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000 ---[ end trace 55e1b689cf8c8a6a ]--- /etc/rc6.d/S60umountroot: line 17: 1462 Segmentation fault mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2> /dev/null The new super.c:nfs_remount function doesn't check the validity of the options/options4 pointers. Unfortunately, this seems to happend. The obvious patch seems to check the pointers, and not to do anything if the happend to be NULL. Tested on an XScale PXA255 system, latest git. Regards, M. Signed-off-by: Marc Zyngier Signed-off-by: Trond Myklebust commit 583323b9d2f624884a8c9563fb5a4d795f39ab07 Author: Thomas Gleixner Date: Sun Jul 27 21:43:11 2008 +0200 x86: fix cpu hotplug on 32bit commit 3e9704739daf46a8ba6593d749c67b5f7cd633d2 ("x86: boot secondary cpus through initial_code") causes the kernel to crash when a CPU is brought online after the read only sections have been write protected. The write to initial_code in do_boot_cpu() fails. Move inital_code to .cpuinit.data section. Signed-off-by: Thomas Gleixner Acked-by: H. Peter Anvin commit 837b41b5de356aa67abb2cadb5eef3efc7776f91 Merge: 211c8d4... f05e21b... Author: Linus Torvalds Date: Sun Jul 27 10:24:06 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: state userland requirements in Kconfig help firewire: avoid memleak after phy config transmit failure firewire: fw-ohci: TSB43AB22/A dualbuffer workaround firewire: queue the right number of data firewire: warn on unfinished transactions during card removal firewire: small fw_fill_request cleanup firewire: fully initialize fw_transaction before marking it pending firewire: fix race of bus reset with request transmission commit 211c8d4942edf2f3337820dda101da6b13c8a19a Merge: 7a82323... cadbd4a... Author: Linus Torvalds Date: Sun Jul 27 10:04:52 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: (59 commits) [SCSI] replace __FUNCTION__ with __func__ [SCSI] extend the last_sector_bug flag to cover more sectors [SCSI] qla2xxx: Update version number to 8.02.01-k6. [SCSI] qla2xxx: Additional NPIV corrections. [SCSI] qla2xxx: suppress uninitialized-var warning [SCSI] qla2xxx: use memory_read_from_buffer() [SCSI] qla2xxx: Issue proper ISP callbacks during stop-firmware. [SCSI] ch: fix ch_remove oops [SCSI] 3w-9xxx: add MSI support and misc fixes [SCSI] scsi_lib: use blk_rq_tagged in scsi_request_fn [SCSI] ibmvfc: Update driver version to 1.0.1 [SCSI] ibmvfc: Add ADISC support [SCSI] ibmvfc: Miscellaneous fixes [SCSI] ibmvfc: Fix hang on module removal [SCSI] ibmvfc: Target refcounting fixes [SCSI] ibmvfc: Reduce unnecessary log noise [SCSI] sym53c8xx: free luntbl in sym_hcb_free [SCSI] scsi_scan.c: Release mutex in error handling code [SCSI] scsi_eh_prep_cmnd should save scmd->underflow [SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field ... commit 7a82323da3d21ea59a0509569fc5c7bc5aa7eed7 Merge: b0d8aa0... 3c26e17... Author: Linus Torvalds Date: Sun Jul 27 10:03:00 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: some mmc/sd cleanups include/video/atmel_lcdc.h must #include avr32: allow system timer to share interrupt to make OProfile work drivers/misc/atmel-ssc.c: Removed duplicated include avr32: Add platform data for AC97C platform device avr32: clean up mci platform code fix avr32 build errors commit b0d8aa081bcb2d396a257ae5b3be8c1b3006bfa4 Merge: 6948385... cc04454... Author: Linus Torvalds Date: Sun Jul 27 10:00:23 2008 -0700 Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: ppc: fix invalidation of large guest pages KVM: s390: Fix possible host kernel bug on lctl(g) handling KVM: s390: Fix instruction naming for lctlg KVM: s390: Fix program check on interrupt delivery handling KVM: s390: Change guestaddr type in gaccess KVM: s390: Fix guest kconfig KVM: s390: Advertise KVM_CAP_USER_MEMORY KVM: ia64: Fix irq disabling leak in error handling code KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter KVM: task switch: translate guest segment limit to virt-extension byte granular field KVM: Avoid instruction emulation when event delivery is pending KVM: task switch: use seg regs provided by subarch instead of reading from GDT KVM: task switch: segment base is linear address KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module commit 6948385cbd83201fb933125c1a578b29b456605d Merge: 7a76d89... 56b2f07... Author: Linus Torvalds Date: Sun Jul 27 09:59:59 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits) setlocalversion: do not describe if there is nothing to describe kconfig: fix typos: "Suport" -> "Support" kconfig: make defconfig is no longer chatty kconfig: make oldconfig is now less chatty kconfig: speed up all*config + randconfig kconfig: set all new symbols automatically kconfig: add diffconfig utility kbuild: remove Module.markers during mrproper kbuild: sparse needs CF not CHECKFLAGS kernel-doc: handle/strip __init vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section init: fix URL of "The GNU Accounting Utilities" kbuild: add arch/$ARCH/include to search path kbuild: asm symlink support for arch/$ARCH/include kbuild: support arch/$ARCH/include for tags, cscope kbuild: prepare headers_* for arch/$ARCH/include kbuild: install all headers when arch is changed kbuild: make clean removes *.o.* as well kbuild: optimize headers_* targets kbuild: only one call for include/ in make headers_* ... commit 7a76d89232f20411f32e7a79ccc1e2f95e9f826b Merge: f631a78... c0e741d... Author: Linus Torvalds Date: Sun Jul 27 09:59:24 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: talitos - sparse fix crypto: talitos - Stop leaking memory in error path crypto: talitos - Fix GFP flag usage crypto: talitos - Preempt overflow interrupts crypto: talitos - Correct dst != src case handling crypto: talitos - Remove calls to of_node_put commit f631a78445e94b8a9ae23980d00a5cb2d9c3d0c7 Merge: 13ffc32... c5b61d5... Author: Linus Torvalds Date: Sun Jul 27 09:58:59 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6: Fix namespace issue with Hisax commit 13ffc32eaf0b75a19bd8c3a8702faedde28853fe Author: Stephen Rothwell Date: Mon Jul 28 02:37:32 2008 +1000 isdn: mISDN HFC PCI support depends on virt_to_bus() On powerpc (allyesconfig build) we get this error: drivers/isdn/hardware/mISDN/hfcpci.c:1991: error: implicit declaration of function 'virt_to_bus' Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 5995477ab7f3522c497c9c4a1c55373e9d655574 Author: Andrea Righi Date: Sun Jul 27 17:29:15 2008 +0200 task IO accounting: improve code readability Put all i/o statistics in struct proc_io_accounting and use inline functions to initialize and increment statistics, removing a lot of single variable assignments. This also reduces the kernel size as following (with CONFIG_TASK_XACCT=y and CONFIG_TASK_IO_ACCOUNTING=y). text data bss dec hex filename 11651 0 0 11651 2d83 kernel/exit.o.before 11619 0 0 11619 2d63 kernel/exit.o.after 10886 132 136 11154 2b92 kernel/fork.o.before 10758 132 136 11026 2b12 kernel/fork.o.after 3082029 807968 4818600 8708597 84e1f5 vmlinux.o.before 3081869 807968 4818600 8708437 84e155 vmlinux.o.after Signed-off-by: Andrea Righi Acked-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 605ccb73f6a1c891a16268b3a2923208fc637958 Author: Andrea Righi Date: Sun Jul 27 13:39:03 2008 +0200 tracing: remove unused variable Remove the following warning with CONFIG_TRACING=y: kernel/trace/trace.c: In function ‘s_next’: kernel/trace/trace.c:1186: warning: unused variable ‘last_ent’ Signed-off-by: Andrea Righi Signed-off-by: Linus Torvalds commit 375614422509c98a1f3dbef410206bf81775169b Merge: eeb61f7... 536319a... Author: Linus Torvalds Date: Sun Jul 27 09:45:59 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: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel). ALSA: cs4232: fix crash during chip PNP detection ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop ALSA: make snd_ac97_add_vmaster() static ALSA: sound/pci/azt3328.h: no variables for enums ALSA: soc - wm9712 mono mixer ALSA: hda - Add support of ASUS Eeepc P90* ALSA: opti9xx: no isapnp param for !CONFIG_PNP ALSA: opti93x - Fix NULL dereference ALSA: hda - Added support for Asus V1Sn ALSA: ASoC: Factor PGA DAPM handling into main ALSA: ASoC: Refactor DAPM event handler ALSA: ALSA: ens1370: communicate PCI device to AC97 ALSA: ens1370: SRC stands for Sample Rate Converter ALSA: hda - Align BDL position adjustment parameter ALSA: Au1xpsc: psc not disabled when TX is idle ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name. commit eeb61f719c00c626115852bbc91189dc3011a844 Author: Al Viro Date: Sun Jul 27 08:59:33 2008 +0100 missing bits of net-namespace / sysctl Piss-poor sysctl registration API strikes again, film at 11... What we really need is _pathname_ required to be present in already registered table, so that kernel could warn about bad order. That's the next target for sysctl stuff (and generally saner and more explicit order of initialization of ipv[46] internals wouldn't hurt either). For the time being, here are full fixups required by ..._rotable() stuff; we make per-net sysctl sets descendents of "ro" one and make sure that sufficient skeleton is there before we start registering per-net sysctls. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit bfbcf034798b2ca45338cee5049b5694b7ddc865 Author: Al Viro Date: Sun Jul 27 06:31:22 2008 +0100 lost sysctl fix try_attach() should walk into the matching subdirectory, not the first one... Signed-off-by: Al Viro Tested-by: Valdis.Kletnieks@vt.edu Tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit c5b61d59a685b1227b8a994b52a9b0bd68dc8da8 Author: Karsten Keil Date: Sun Jul 27 18:32:50 2008 +0200 Fix namespace issue with Hisax you can pull this git://git./linux/kernel/git/kkeil/ISDN-2.6 master rename release_tei() to TEIrelease() because release_tei() was already exported bei the old HiSax driver. Signed-off-by: Karsten Keil commit cadbd4a5e36dde7e6c49b587b2c419103c0b7218 Author: Harvey Harrison Date: Thu Jul 3 23:47:27 2008 -0700 [SCSI] replace __FUNCTION__ with __func__ [jejb: fixed up a ton of missed conversions. All of you are on notice this has happened, driver trees will now need to be rebased] Signed-off-by: Harvey Harrison Cc: SCSI List Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2b142900784c6e38c8d39fa57d5f95ef08e735d8 Author: Alan Jenkins Date: Sun Jul 27 09:38:42 2008 +0100 [SCSI] extend the last_sector_bug flag to cover more sectors The last_sector_bug flag was added to work around a bug in certain usb cardreaders, where they would crash if a multiple sector read included the last sector. The original implementation avoids this by e.g. splitting an 8 sector read which includes the last sector into a 7 sector read, and a single sector read for the last sector. The flag is enabled for all USB devices. This revealed a second bug in other usb cardreaders, which crash when they get a multiple sector read which stops 1 sector short of the last sector. Affected hardware includes the Kingston "MobileLite" external USB cardreader and the internal USB cardreader on the Asus EeePC. Extend the last_sector_bug workaround to ensure that any access which touches the last 8 hardware sectors of the device is a single sector long. Requests are shrunk as necessary to meet this constraint. This gives us a safety margin against potential unknown or future bugs affecting multi-sector access to the end of the device. The two known bugs only affect the last 2 sectors. However, they suggest that these devices are prone to fencepost errors and that multi-sector access to the end of the device is not well tested. Popular OS's use multi-sector accesses, but they rarely read the last few sectors. Linux (with udev & vol_id) automatically reads sectors from the end of the device on insertion. It is assumed that single sector accesses are more thoroughly tested during development. Signed-off-by: Alan Jenkins Tested-by: Alan Jenkins Signed-off-by: James Bottomley commit 3c26e17032e42cfbe606882288223ad6146e4c38 Author: David Brownell Date: Sun Jul 27 02:34:45 2008 -0700 avr32: some mmc/sd cleanups Minor cleanups for the MMC/SD support on avr32: - Make at32_add_device_mci() properly initialize "missing" platform data ... so boards like STK1002 won't try GPIO 0. - Switch over to gpio_is_valid() instead of testing for only one designated value. - Provide STK1002 platform data for the unlikely case that switches are set so first Ethernet controller isn't in use. (That's the only way to get card detect and writeprotect switch sensing on the STK1000.) And get rid of one "unused variable" warning. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit eda3d8f5604860aae1bb9996bb5efc4213778369 Merge: 87a9f70... 8be1a6d... Author: Haavard Skinnemoen Date: Sun Jul 27 13:54:08 2008 +0200 Merge commit 'upstream/master' commit 53cdb27a933e4032934cbda0b447cfc9943c0eac Author: Russell King Date: Sun Jul 27 10:35:54 2008 +0100 [ARM] Fix shared mmap when more than two maps of the same file exist The shared mmap code works fine for the test case, which only checked for two shared maps of the same file. However, three shared maps result in one mapping remaining cached, resulting in stale data being visible via that mapping. Fix this. Signed-off-by: Russell King commit daf93dd55c48b65ab2f1907e0fc5ef994896c787 Author: Russell King Date: Sun Jul 27 10:10:58 2008 +0100 [ARM] fix VIPT/VIVT macro optimisations, add comments cacheflush.h was doing: ... VIVT only stuff ... VIPT only stuff ... VIVT or VIPT stuff which is clearly bogus - we would only ever use the "VIVT or VIPT" case when both VIVT and VIPT are not selected. Fix this. Add comments to each case, including noting the impossibility of correctly detecting the cache type of ARM926 and ARMv6 cores from the cache type register in the "VIVT or VIPT" case. Signed-off-by: Russell King commit cc04454fa81e93b5f1b5133950331639d2f59f85 Author: Hollis Blanchard Date: Fri Jul 25 13:54:50 2008 -0500 KVM: ppc: fix invalidation of large guest pages When guest invalidates a large tlb map, there may be more than one corresponding shadow tlb maps that need to be invalidated. Use eaddr and eend to find these shadow tlb maps. Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 6cab48602996cdbcb277375a8107d53e21e8c9b9 Author: Dmitry Baryshkov Date: Sun Jul 27 04:23:31 2008 +0100 [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_* IRQT_* and __IRQT_* were obsoleted long ago by patch [3692/1]. Remove them completely. Sed script for the reference: s/__IRQT_RISEDGE/IRQ_TYPE_EDGE_RISING/g s/__IRQT_FALEDGE/IRQ_TYPE_EDGE_FALLING/g s/__IRQT_LOWLVL/IRQ_TYPE_LEVEL_LOW/g s/__IRQT_HIGHLVL/IRQ_TYPE_LEVEL_HIGH/g s/IRQT_RISING/IRQ_TYPE_EDGE_RISING/g s/IRQT_FALLING/IRQ_TYPE_EDGE_FALLING/g s/IRQT_BOTHEDGE/IRQ_TYPE_EDGE_BOTH/g s/IRQT_LOW/IRQ_TYPE_LEVEL_LOW/g s/IRQT_HIGH/IRQ_TYPE_LEVEL_HIGH/g s/IRQT_PROBE/IRQ_TYPE_PROBE/g s/IRQT_NOEDGE/IRQ_TYPE_NONE/g Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 5a00a5e7a3e013b2323f87c1b69ff9557eae5ec9 Author: Christian Borntraeger Date: Fri Jul 25 15:53:12 2008 +0200 KVM: s390: Fix possible host kernel bug on lctl(g) handling The lctl(g) instructions require a specific alignment for the parameters. The architecture requires a specification program check if these alignments are not used. Enforcing this alignment also removes a possible host BUG, since the get_guest functions check for proper alignment and emits a BUG. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit f5e10b09a5f8fc40666c95fe0cd6bcc2b8f11437 Author: Christian Borntraeger Date: Fri Jul 25 15:52:44 2008 +0200 KVM: s390: Fix instruction naming for lctlg Lets fix the name for the lctlg instruction... Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 3cd612998f17d5b3588be7f4937720411d247ff6 Author: Christian Borntraeger Date: Fri Jul 25 15:51:54 2008 +0200 KVM: s390: Fix program check on interrupt delivery handling The current interrupt handling on s390 misbehaves on an error case. On s390 each cpu has the prefix area (lowcore) for interrupt delivery. This memory must always be available. If we fail to access the prefix area for a guest on interrupt delivery the configuration is completely unusable. There is no point in sending another program interrupt to an inaccessible lowcore. Furthermore, we should not bug the host kernel, because this can be triggered by userspace. I think the guest kernel itself can not trigger the problem, as SET PREFIX and SIGNAL PROCESSOR SET PREFIX both check that the memory is available and sane. As this is a userspace bug (e.g. setting the wrong guest offset, unmapping guest memory) we should kill the userspace process instead of BUGing the host kernel. In the long term we probably should notify the userspace process about this problem. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 0096369daa9eaaef1a309e5d8167b023af3f998d Author: Martin Schwidefsky Date: Fri Jul 25 15:51:00 2008 +0200 KVM: s390: Change guestaddr type in gaccess All registers are unsigned long types. This patch changes all occurences of guestaddr in gaccess from u64 to unsigned long. Signed-off-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 99e65c92f2bbf84f43766a8bf701e36817d62822 Author: Christian Borntraeger Date: Fri Jul 25 15:50:04 2008 +0200 KVM: s390: Fix guest kconfig Cornelia Huck noticed that a modular virtio without kvm guest support leads to a build error in the s390 virtio transport: CONFIG_VIRTIO=m leads to ERROR: "vmem_add_mapping" [drivers/s390/kvm/kvm_virtio.ko] undefined! ERROR: "max_pfn" [drivers/s390/kvm/kvm_virtio.ko] undefined! ERROR: "vmem_remove_mapping" [drivers/s390/kvm/kvm_virtio.ko] undefined! The virtio transport only works with kvm guest support and only as a builtin. Lets change the build process of drivers/s390/kvm/kvm_virtio.c to depend on kvm guest support, which is also a bool. CONFIG_S390_GUEST already selects CONFIG_VIRTIO, that should prevent CONFIG_S390_GUEST=y CONFIG_VIRTIO=n situations. CC: Cornelia Huck Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 2bd0ac4eb469ef58c3b1746fccd15da871fc55c4 Author: Carsten Otte Date: Fri Jul 25 15:49:13 2008 +0200 KVM: s390: Advertise KVM_CAP_USER_MEMORY KVM_CAP_USER_MEMORY is used by s390, therefore, we should advertise it. Signed-off-by: Carsten Otte Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit cab7a1eeeb007be309cd99cf14407261a72d2418 Author: Julia Lawall Date: Tue Jul 22 21:38:18 2008 +0200 KVM: ia64: Fix irq disabling leak in error handling code There is a call to local_irq_restore in the normal exit case, so it would seem that there should be one on an error return as well. The semantic patch that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; expression E,E1,E2; @@ local_irq_save(l); ... when != local_irq_restore(l) when != spin_unlock_irqrestore(E,l) when any when strict ( if (...) { ... when != local_irq_restore(l) when != spin_unlock_irqrestore(E1,l) + local_irq_restore(l); return ...; } | if (...) + {local_irq_restore(l); return ...; + } | spin_unlock_irqrestore(E2,l); | local_irq_restore(l); ) // Signed-off-by: Julia Lawall Signed-off-by: Avi Kivity commit 5fdbcb9dd16f1e89ead127d3ee1a38e3a00cf1ea Author: Sheng Yang Date: Wed Jul 16 09:25:40 2008 +0800 KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko As well as move set base/mask ptes to vmx_init(). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5ec5726a16245138f5d5305b00a752acb5730076 Author: Sheng Yang Date: Wed Jul 16 09:21:22 2008 +0800 KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit c93cd3a58845012df2d658fecd0ac99f7008d753 Author: Marcelo Tosatti Date: Sat Jul 19 19:08:07 2008 -0300 KVM: task switch: translate guest segment limit to virt-extension byte granular field If 'g' is one then limit is 4kb granular. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 577bdc496614ced56d999bbb425e85adf2386490 Author: Avi Kivity Date: Sat Jul 19 08:57:05 2008 +0300 KVM: Avoid instruction emulation when event delivery is pending When an event (such as an interrupt) is injected, and the stack is shadowed (and therefore write protected), the guest will exit. The current code will see that the stack is shadowed and emulate a few instructions, each time postponing the injection. Eventually the injection may succeed, but at that time the guest may be unwilling to accept the interrupt (for example, the TPR may have changed). This occurs every once in a while during a Windows 2008 boot. Fix by unshadowing the fault address if the fault was due to an event injection. Signed-off-by: Avi Kivity commit 34198bf8426276a2ce1e97056a0f02d43637e5ae Author: Marcelo Tosatti Date: Wed Jul 16 19:07:11 2008 -0300 KVM: task switch: use seg regs provided by subarch instead of reading from GDT There is no guarantee that the old TSS descriptor in the GDT contains the proper base address. This is the case for Windows installation's reboot-via-triplefault. Use guest registers instead. Also translate the address properly. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 98899aa0e0bf5de05850082be0eb837058c09ea5 Author: Marcelo Tosatti Date: Wed Jul 16 19:07:10 2008 -0300 KVM: task switch: segment base is linear address The segment base is always a linear address, so translate before accessing guest memory. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5f4cb662a0a2533b45656607471571460310a5ca Author: Joerg Roedel Date: Mon Jul 14 20:36:36 2008 +0200 KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module If NPT is enabled after loading both KVM modules on AMD and it should be disabled, both KVM modules must be reloaded. If only the architecture module is reloaded the behavior is undefined. With this patch it is possible to disable NPT only by reloading the kvm_amd module. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 536319afd1f25383009c0c88f6fb00104f49c178 Author: Nicolas Boichat Date: Mon Jul 21 22:18:01 2008 +0800 ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel). Currently, even if you pass model=intel-mac-v3 as a module parameter to snd_hda_intel, the function patch_stac922x (patch_sigmatel.c) will still try to auto-detect the model type. This is a problem on my MacBook Pro 1st generation, which needs intel-mac-v3, but sometimes incorrectly reports 0x00000100 as subsystem id, which causes the switch in patch_stac922x to select intel-mac-v4. To fix this, I added a new model called intel-mac-auto, so in case no module parameter is passed, and an Intel Mac board is detected, the model will be automatically detected, while no detection will be done if the model is forced to intel-mac-v3. This problem has been around for quite a while, and I used to fix it by moving the case statement for 0x00000100 in patch_stac922x so that intel-mac-v3 is chosen. Another way to fix the problem would be to check if a module parameter was set directly in patch_stac922x, using something like this: if (spec->board_config == STAC_INTEL_MAC_V3 && !codec->bus->modelname) { But I think it is less elegant (if you prefer that way, I can prepare a patch). Signed-off-by: Nicolas Boichat Signed-off-by: Takashi Iwai commit b15ebe2616289da258f85b3ff142fca237ef9f59 Author: Krzysztof Helt Date: Wed Jul 23 07:48:49 2008 +0200 ALSA: cs4232: fix crash during chip PNP detection The acard->wss pointer is uninitialized in this function which leads to crash during chip PNP detection. Signed-off-by: Krzysztof Helt Acked-by: Rene Herman Signed-off-by: Takashi Iwai commit fe7e873f52f17ad9b8ee9e2c70acaddcae22443b Author: Travis Place Date: Sun Jul 27 10:13:26 2008 +0200 ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop Make the Acer Aspire 5920G (1025:0121) select ALC883_ACER_ASPIRE by default. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai commit 13c2108de4437771a77f775fe33e9a33c53a8a14 Author: Adrian Bunk Date: Tue Jul 22 20:21:32 2008 +0300 ALSA: make snd_ac97_add_vmaster() static This patch makes the needlessly global snd_ac97_add_vmaster() static. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 6aa1e464453e398e4ab12558777fb10cff8a284d Author: Adrian Bunk Date: Tue Jul 22 20:21:28 2008 +0300 ALSA: sound/pci/azt3328.h: no variables for enums AZF_FREQUENCIES and AZF_GAME_CONFIGS were variables, and this doesn't seem to have been intended. Signed-off-by: Adrian Bunk Acked-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 8be1a6d6c77ab4532e4476fdb8177030ef48b52c Merge: 852fef6... cc9969c... Author: Linus Torvalds Date: Sat Jul 26 20:40:36 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: mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files mlx4_core: Add VLAN tag field to WQE control segment struct RDMA/nes: CM connection setup/teardown rework IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG IPoIB/cm: Connected mode is no longer EXPERIMENTAL RDMA/ucm: BKL is not needed for ib_ucm_open() RDMA/ucma: BKL is not needed for ucma_open() commit 852fef69c0d9510a28a70221cfddd004efa02552 Author: Oliver Neukum Date: Sat Jul 26 22:42:42 2008 +0200 fix for a memory leak in an error case introduced by fix for double free The fix NULLed a pointer without freeing it. Signed-off-by: Oliver Neukum Reported-by: Juha Motorsportcom Signed-off-by: Linus Torvalds commit 9ee08c2df47c10ba624ff05a6c0f2500748bcb69 Merge: eaf0ba5... 3d45955... Author: Linus Torvalds Date: Sat Jul 26 20:30:56 2008 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (57 commits) [MTD] [NAND] subpage read feature as a way to increase performance. CPUFREQ: S3C24XX NAND driver frequency scaling support. [MTD][NAND] au1550nd: remove unused variable [MTD] jedec_probe: Fix SST 16-bit chip detection [MTD][MTDPART] Fix a division by zero bug [MTD][MTDPART] Cleanup and document the erase region handling [MTD][MTDPART] Handle most checkpatch findings [MTD][MTDPART] Seperate main loop from per-partition code in add_mtd_partition [MTD] physmap: resume already suspended chips on failure to suspend [MTD] physmap: Fix suspend/resume/shutdown bugs. [MTD] [NOR] Fix -ETIMEO errors in CFI driver [MTD] [NAND] fsl_elbc_nand: fix section mismatch with CONFIG_MTD_OF_PARTS=y [JFFS2] Use .unlocked_ioctl [MTD] Fix const assignment in the MTD command line partitioning driver [MTD] [NOR] gen_probe: No debug message when debugging is disabled [MTD] [NAND] remove __PPC__ hardcoded address from DiskOnChip drivers [MTD] [MAPS] Remove the bast-flash driver. [MTD] [NAND] fsl_elbc_nand: ecclayout cleanups [MTD] [NAND] fsl_elbc_nand: implement support for flash-based BBT [MTD] [NAND] fsl_elbc_nand: fix OOB workability for large page NAND chips ... commit eaf0ba5ef69538b6913525294a3a0fcb0e0992e0 Merge: 732730d... a9906a1... Author: Linus Torvalds Date: Sat Jul 26 20:29:39 2008 -0700 Merge branch 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace * 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace: tracehook: comment fixes commit 732730d48dc777f6577a6e0fece42b860324998e Author: Geert Uytterhoeven Date: Sun Jul 27 01:39:52 2008 +0200 m68k: gs: use tty_port fixes commit b5391e29f428d11755ca2c91074c6db6f5c69d7c ("gs: use tty_port") forgot to update the m68k gs serial drivers. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bdee6ac7d1c9a4a9b65db1753b0bfa0b61361dde Merge: 4836e30... deec9ae... Author: Linus Torvalds Date: Sat Jul 26 20:27:31 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: atmel-mci: debugfs support mmc: Add per-card debugfs support mmc: Export internal host state through debugfs imxmmc: fix crash when no platform data is provided imxmmc: fix platform resources imxmmc: remove DEBUG definition mmc_spi: put signals to low power off fix commit 4836e3007882984279ca63d3c42bf0b14616eb78 Merge: 5c7c204... 4e1e018... Author: Linus Torvalds Date: Sat Jul 26 20:23:44 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits) [PATCH] fix RLIM_NOFILE handling [PATCH] get rid of corner case in dup3() entirely [PATCH] remove remaining namei_{32,64}.h crap [PATCH] get rid of indirect users of namei.h [PATCH] get rid of __user_path_lookup_open [PATCH] f_count may wrap around [PATCH] dup3 fix [PATCH] don't pass nameidata to __ncp_lookup_validate() [PATCH] don't pass nameidata to gfs2_lookupi() [PATCH] new (local) helper: user_path_parent() [PATCH] sanitize __user_walk_fd() et.al. [PATCH] preparation to __user_walk_fd cleanup [PATCH] kill nameidata passing to permission(), rename to inode_permission() [PATCH] take noexec checks to very few callers that care Re: [PATCH 3/6] vfs: open_exec cleanup [patch 4/4] vfs: immutable inode checking cleanup [patch 3/4] fat: dont call notify_change [patch 2/4] vfs: utimes cleanup [patch 1/4] vfs: utimes: move owner check into inode_change_ok() [PATCH] vfs: use kstrdup() and check failing allocation ... commit 5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8 Merge: 2284284... 3712b42... Author: Linus Torvalds Date: Sat Jul 26 20:19:41 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6: Add layer1 over IP support Add mISDN HFC multiport driver Add mISDN HFC PCI driver Add mISDN DSP Add mISDN core files Define AF_ISDN and PF_ISDN Add mISDN driver commit 228428428138e231a155464239880201e5cc8b44 Merge: 78681ac... 6c3b8fc... Author: Linus Torvalds Date: Sat Jul 26 20:17:56 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: netns: fix ip_rt_frag_needed rt_is_expired netfilter: nf_conntrack_extend: avoid unnecessary "ct->ext" dereferences netfilter: fix double-free and use-after free netfilter: arptables in netns for real netfilter: ip{,6}tables_security: fix future section mismatch selinux: use nf_register_hooks() netfilter: ebtables: use nf_register_hooks() Revert "pkt_sched: sch_sfq: dump a real number of flows" qeth: use dev->ml_priv instead of dev->priv syncookies: Make sure ECN is disabled net: drop unused BUG_TRAP() net: convert BUG_TRAP to generic WARN_ON drivers/net: convert BUG_TRAP to generic WARN_ON commit 78681ac08a611313595d13cafabae1183b71ef48 Author: Randy Dunlap Date: Sat Jul 26 15:22:28 2008 -0700 firmware: fix memmap printk format warnings Fix firmware/memmap printk format warnings: drivers/firmware/memmap.c:156: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t' drivers/firmware/memmap.c:161: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t' Signed-off-by: Randy Dunlap Cc: Bernhard Walle Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b8f14b41026fb7d7e9a4af2a4128a702d07ad26 Author: Adrian Bunk Date: Sat Jul 26 15:22:28 2008 -0700 mm/util.c must #include mm/util.c: In function 'arch_pick_mmap_layout': mm/util.c:144: error: dereferencing pointer to incomplete type mm/util.c:145: error: 'arch_get_unmapped_area' undeclared (first use in this function) mm/util.c:145: error: (Each undeclared identifier is reported only once mm/util.c:145: error: for each function it appears in.) mm/util.c:146: error: 'arch_unmap_area' undeclared (first use in this function) Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 510a35d4a47802f4a0028aa6bd2ca2170da5e32f Author: Andrea Righi Date: Sat Jul 26 15:22:27 2008 -0700 hugetlb: remove unused variable warning Remove the following warning when CONFIG_HUGETLB_PAGE is not set: ipc/shm.c: In function `shm_get_stat': ipc/shm.c:565: warning: unused variable `h' [akpm@linux-foundation.org: use tabs, not spaces] Signed-off-by: Andrea Righi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2d002dba5a8a4c0c3ec96fd1ff3c9def6bd71a1 Author: Andrea Righi Date: Sat Jul 26 15:22:27 2008 -0700 task IO accounting: correctly account threads IO statistics Oleg Nesterov points out that we should check that the task is still alive before we iterate over the threads. This patch includes a fixup for this. Also simplify do_io_accounting() implementation. Signed-off-by: Andrea Righi Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a9436d0c3cbe8941b1acd5b0736d355295cad98 Author: Michael Buesch Date: Sat Jul 26 15:22:26 2008 -0700 gpiolib: fix typo in comment This fixes an off-by-one error in a comment. Signed-off-by: Michael Buesch Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2 Author: Al Viro Date: Sat Jul 26 16:01:20 2008 -0400 [PATCH] fix RLIM_NOFILE handling * dup2() should return -EBADF on exceeded sysctl_nr_open * dup() should *not* return -EINVAL even if you have rlimit set to 0; it should get -EMFILE instead. Check for orig_start exceeding rlimit taken to sys_fcntl(). Failing expand_files() in dup{2,3}() now gets -EMFILE remapped to -EBADF. Consequently, remaining checks for rlimit are taken to expand_files(). Signed-off-by: Al Viro commit 6c5d0512a091480c9f981162227fdb1c9d70e555 Author: Al Viro Date: Sat Jul 26 13:38:19 2008 -0400 [PATCH] get rid of corner case in dup3() entirely Since Ulrich is OK with getting rid of dup3(fd, fd, flags) completely, to hell the damn thing goes. Corner case for dup2() is handled in sys_dup2() (complete with -EBADF if dup2(fd, fd) is called with fd that is not open), the rest is done in dup3(). Signed-off-by: Al Viro commit 4cc38a1b383f0c6c65a3fef4ff8144e8000e4ec3 Author: Al Viro Date: Sat Jul 26 03:48:26 2008 -0400 [PATCH] remove remaining namei_{32,64}.h crap Signed-off-by: Al Viro commit 3f8206d496e9e9495afb1d4e70d29712b4d403c9 Author: Al Viro Date: Sat Jul 26 03:46:43 2008 -0400 [PATCH] get rid of indirect users of namei.h fs.h needs path.h, not namei.h; nfs_fs.h doesn't need it at all. Several places in the tree needed direct include. Signed-off-by: Al Viro commit 964bd183624c03680796b63b4ab97ee3905a806a Author: Al Viro Date: Sat Jul 26 03:33:14 2008 -0400 [PATCH] get rid of __user_path_lookup_open Signed-off-by: Al Viro commit 516e0cc5646f377ab80fcc2ee639892eccb99853 Author: Al Viro Date: Sat Jul 26 00:39:17 2008 -0400 [PATCH] f_count may wrap around make it atomic_long_t; while we are at it, get rid of useless checks in affs, hfs and hpfs - ->open() always has it equal to 1, ->release() - to 0. Signed-off-by: Al Viro commit 3c333937ee3be114b181c4861188cfe8f6a59697 Author: Ulrich Drepper Date: Fri Jul 25 22:32:13 2008 -0400 [PATCH] dup3 fix Al Viro notice one cornercase that the new dup3() code. The dup2() function, as a special case, handles dup-ing to the same file descriptor. In this case the current dup3() code does nothing at all. I.e., it ingnores the flags parameter. This shouldn't happen, the close-on-exec flag should be set if requested. In case the O_CLOEXEC bit in the flags parameter is not set the dup3() function should behave in this respect identical to dup2(). This means dup3(fd, fd, 0) should not actively reset the c-o-e flag. The patch below implements this minor change. [AV: credits to Artur Grabowski for bringing that up as potential subtle point in dup2() behaviour] Signed-off-by: Ulrich Drepper Signed-off-by: Al Viro commit 58ec42b061bf5dad8fa0370a19966cfd96eaf80c Author: Al Viro Date: Wed Jul 23 14:45:55 2008 -0400 [PATCH] don't pass nameidata to __ncp_lookup_validate() Signed-off-by: Al Viro commit a569c711f63995ad80c23918525111e0cdb0bc73 Author: Al Viro Date: Wed Jul 23 14:42:05 2008 -0400 [PATCH] don't pass nameidata to gfs2_lookupi() Signed-off-by: Al Viro commit 2ad94ae654f5eb72fd3260b706aea645cf4a7791 Author: Al Viro Date: Mon Jul 21 09:32:51 2008 -0400 [PATCH] new (local) helper: user_path_parent() Preparation to untangling intents mess: reduce the number of do_path_lookup() callers. Signed-off-by: Al Viro commit 2d8f30380ab8c706f4e0a8f1aaa22b5886e9ac8a Author: Al Viro Date: Tue Jul 22 09:59:21 2008 -0400 [PATCH] sanitize __user_walk_fd() et.al. * do not pass nameidata; struct path is all the callers want. * switch to new helpers: user_path_at(dfd, pathname, flags, &path) user_path(pathname, &path) user_lpath(pathname, &path) user_path_dir(pathname, &path) (fail if not a directory) The last 3 are trivial macro wrappers for the first one. * remove nameidata in callers. Signed-off-by: Al Viro commit 256984a83880ff7ac78055cb87baea48137f0b77 Author: Al Viro Date: Tue Jul 22 08:09:30 2008 -0400 [PATCH] preparation to __user_walk_fd cleanup Almost all users __user_walk_fd() and friends care only about struct path. Get rid of the few that do not. Signed-off-by: Al Viro commit f419a2e3b64def707e1384ee38abb77f99af5f6d Author: Al Viro Date: Tue Jul 22 00:07:17 2008 -0400 [PATCH] kill nameidata passing to permission(), rename to inode_permission() Incidentally, the name that gives hundreds of false positives on grep is not a good idea... Signed-off-by: Al Viro commit 30524472c2f728c20d6bf35191042a5d455c0a64 Author: Al Viro Date: Tue Jul 22 00:02:33 2008 -0400 [PATCH] take noexec checks to very few callers that care Signed-off-by: Al Viro commit e56b6a5dda1a36ffaa532df6f975ea324298fa4d Author: Christoph Hellwig Date: Mon May 19 07:53:34 2008 +0200 Re: [PATCH 3/6] vfs: open_exec cleanup On Mon, May 19, 2008 at 12:01:49AM +0200, Marcin Slusarz wrote: > open_exec is needlessly indented, calls ERR_PTR with 0 argument > (which is not valid errno) and jumps into middle of function > just to return value. > So clean it up a bit. Still looks rather messy. See below for a better version. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit beb29e058c35ab69e96e455a12ccf7505f6de425 Author: Miklos Szeredi Date: Tue Jul 1 15:01:29 2008 +0200 [patch 4/4] vfs: immutable inode checking cleanup Move the immutable and append-only checks from chmod, chown and utimes into notify_change(). Checks for immutable and append-only files are always performed by the VFS and not by the filesystem (see permission() and may_...() in namei.c), so these belong in notify_change(), and not in inode_change_ok(). This should be completely equivalent. CC: Ulrich Drepper CC: Michael Kerrisk Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit b1da47e29e467f1ec36dc78d009bfb109fd533c7 Author: Miklos Szeredi Date: Tue Jul 1 15:01:28 2008 +0200 [patch 3/4] fat: dont call notify_change The FAT_IOCTL_SET_ATTRIBUTES ioctl() calls notify_change() to change the file mode before changing the inode attributes. Replace with explicit calls to security_inode_setattr(), fat_setattr() and fsnotify_change(). This is equivalent to the original. The reason it is needed, is that later in the series we move the immutable check into notify_change(). That would break the FAT_IOCTL_SET_ATTRIBUTES ioctl, as it needs to perform the mode change regardless of the immutability of the file. [Fix error if fat is built as a module. Thanks to OGAWA Hirofumi for noticing.] Signed-off-by: Miklos Szeredi Acked-by: OGAWA Hirofumi Signed-off-by: Al Viro commit e9b76fedc61235da80b6b7f81dfd67ec224dfb49 Author: Miklos Szeredi Date: Tue Jul 1 15:01:27 2008 +0200 [patch 2/4] vfs: utimes cleanup Untange the mess that is do_utimes(). Add kerneldoc comment to do_utimes(). CC: Ulrich Drepper CC: Michael Kerrisk Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 9767d74957450da6365c363d69e3d02d605d7375 Author: Miklos Szeredi Date: Tue Jul 1 15:01:26 2008 +0200 [patch 1/4] vfs: utimes: move owner check into inode_change_ok() Add a new ia_valid flag: ATTR_TIMES_SET, to handle the UTIMES_OMIT/UTIMES_NOW and UTIMES_NOW/UTIMES_OMIT cases. In these cases neither ATTR_MTIME_SET nor ATTR_ATIME_SET is in the flags, yet the POSIX draft specifies that permission checking is performed the same way as if one or both of the times was explicitly set to a timestamp. See the path "vfs: utimensat(): fix error checking for {UTIME_NOW,UTIME_OMIT} case" by Michael Kerrisk for the patch introducing this behavior. This is a cleanup, as well as allowing filesystems (NFS/fuse/...) to perform their own permission checking instead of the default. CC: Ulrich Drepper CC: Michael Kerrisk Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 88b387824fdaecb6ba0f471acf0aadf7d24739fd Author: Li Zefan Date: Mon Jul 21 18:06:36 2008 +0800 [PATCH] vfs: use kstrdup() and check failing allocation - use kstrdup() instead of kmalloc() + memcpy() - return NULL if allocating ->mnt_devname failed - mnt_devname should be const Signed-off-by: Li Zefan Acked-by: Cyrill Gorcunov Signed-off-by: Al Viro commit 672b16b2f66c149888bd876a4f92342112205fe1 Author: Al Viro Date: Thu Jul 17 09:45:01 2008 -0400 [PATCH] more nameidata removal: exec_permission_lite() doesn't need it Signed-off-by: Al Viro commit b77b0646ef4efe31a7449bb3d9360fd00f95433d Author: Al Viro Date: Thu Jul 17 09:37:02 2008 -0400 [PATCH] pass MAY_OPEN to vfs_permission() explicitly ... and get rid of the last "let's deduce mask from nameidata->flags" bit. Signed-off-by: Al Viro commit a110343f0d6d41f68b7cf8c00b57a3172c67f816 Author: Al Viro Date: Thu Jul 17 09:19:08 2008 -0400 [PATCH] fix MAY_CHDIR/MAY_ACCESS/LOOKUP_ACCESS mess * MAY_CHDIR is redundant - it's an equivalent of MAY_ACCESS * MAY_ACCESS on fuse should affect only the last step of pathname resolution * fchdir() and chroot() should pass MAY_ACCESS, for the same reason why chdir() needs that. * now that we pass MAY_ACCESS explicitly in all cases, LOOKUP_ACCESS can be removed; it has no business being in nameidata. Signed-off-by: Al Viro commit 7f2da1e7d0330395e5e9e350b879b98a1ea495df Author: Al Viro Date: Sat May 10 20:44:54 2008 -0400 [PATCH] kill altroot long overdue... Signed-off-by: Al Viro commit 8bb79224b87aab92071e94d46e70bd160d89bf34 Author: Al Viro Date: Wed Jul 16 09:51:03 2008 -0400 [PATCH] permission checks for chdir need special treatment only on the last step ... so we ought to pass MAY_CHDIR to vfs_permission() instead of having it triggered on every step of preceding pathname resolution. LOOKUP_CHDIR is killed by that. Signed-off-by: Al Viro commit db2e747b14991a4c6a5c98b0e5f552a193237c03 Author: Miklos Szeredi Date: Tue Jun 24 16:50:16 2008 +0200 [patch 5/5] vfs: remove mode parameter from vfs_symlink() Remove the unused mode parameter from vfs_symlink and callers. Thanks to Tetsuo Handa for noticing. CC: Tetsuo Handa Signed-off-by: Miklos Szeredi commit 7e79eedb3b22200cc8b774baea3a7bf28d766101 Author: Tetsuo Handa Date: Tue Jun 24 16:50:15 2008 +0200 [patch 4/5] vfs: reuse local variable in vfs_link() Why not reuse "inode" which is assigned as struct inode *inode = old_dentry->d_inode; in the beginning of vfs_link() ? Signed-off-by: Tetsuo Handa Signed-off-by: Miklos Szeredi commit 2f1936b87783a3a56c9441b27b9ba7a747f11e8e Author: Miklos Szeredi Date: Tue Jun 24 16:50:14 2008 +0200 [patch 3/5] vfs: change remove_suid() to file_remove_suid() All calls to remove_suid() are made with a file pointer, because (similarly to file_update_time) it is called when the file is written. Clean up callers by passing in a file instead of a dentry. Signed-off-by: Miklos Szeredi commit c82e42da8a6b2f3a85dc4d4278cb8238702f8f64 Author: Miklos Szeredi Date: Tue Jun 24 16:50:12 2008 +0200 [patch 1/5] vfs: truncate: dont check immutable twice vfs_permission(MAY_WRITE) already checked for the inode being immutable, so no need to repeat it. Signed-off-by: Miklos Szeredi Acked-by: Christoph Hellwig commit e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695 Author: Al Viro Date: Tue Jul 15 21:03:57 2008 -0400 [PATCH] sanitize ->permission() prototype * kill nameidata * argument; map the 3 bits in ->flags anybody cares about to new MAY_... ones and pass with the mask. * kill redundant gfs2_iop_permission() * sanitize ecryptfs_permission() * fix remaining places where ->permission() instances might barf on new MAY_... found in mask. The obvious next target in that direction is permission(9) folded fix for nfs_permission() breakage from Miklos Szeredi Signed-off-by: Al Viro commit 1bd5191d9f5d1928c4efdf604c4164b04bb88dbe Author: Miklos Szeredi Date: Wed May 21 19:15:03 2008 +0200 [patch 05/14] hpfs: dont call permission() hpfs_unlink() calls permission() prior to truncating the file. HPFS doesn't define a .permission method, so replace with explicit call to generic_permission(). This is equivalent, except that devcgroup_inode_permission() and security_inode_permission() are not called. The truncation is just an implementation detail of the unlink, so these security checks are unnecessary. I suspect that even calling generic_permission() is unnecessary, since we shouldn't mind if the file isn't writable. But I leave that to the maintainer to decide. Signed-off-by: Miklos Szeredi CC: Mikulas Patocka commit 9043476f726802f4b00c96d0c4f418dde48d1304 Author: Al Viro Date: Tue Jul 15 08:54:06 2008 -0400 [PATCH] sanitize proc_sysctl * keep references to ctl_table_head and ctl_table in /proc/sys inodes * grab the former during operations, use the latter for access to entry if that succeeds * have ->d_compare() check if table should be seen for one who does lookup; that allows us to avoid flipping inodes - if we have the same name resolve to different things, we'll just keep several dentries and ->d_compare() will reject the wrong ones. * have ->lookup() and ->readdir() scan the table of our inode first, then walk all ctl_table_header and scan ->attached_by for those that are attached to our directory. * implement ->getattr(). * get rid of insane amounts of tree-walking * get rid of the need to know dentry in ->permission() and of the contortions induced by that. Signed-off-by: Al Viro commit ae7edecc9b8810770a8e5cb9a466ea4bdcfa8401 Author: Al Viro Date: Tue Jul 15 06:33:31 2008 -0400 [PATCH] sysctl: keep track of tree relationships In a sense, that's the heart of the series. It's based on the following property of the trees we are actually asked to add: they can be split into stem that is already covered by registered trees and crown that is entirely new. IOW, if a/b and a/c/d are introduced by our tree, then a/c is also introduced by it. That allows to associate tree and table entry with each node in the union; while directory nodes might be covered by many trees, only one will cover the node by its crown. And that will allow much saner logics for /proc/sys in the next patches. This patch introduces the data structures needed to keep track of that. When adding a sysctl table, we find a "parent" one. Which is to say, find the deepest node on its stem that already is present in one of the tables from our table set or its ancestor sets. That table will be our parent and that node in it - attachment point. Add our table to list anchored in parent, have it refer the parent and contents of attachment point. Also remember where its crown lives. Signed-off-by: Al Viro commit bd7b1533cd6a68c734062aa69394bec7e2b1718e Author: Al Viro Date: Tue Jul 15 16:00:59 2008 -0400 [PATCH] sysctl: make sure that /proc/sys/net/ipv4 appears before per-ns ones Massage ipv4 initialization - make sure that net.ipv4 appears as non-per-net-namespace before it shows up in per-net-namespace sysctls. That's the only change outside of sysctl.c needed to get sane ordering rules and data structures for sysctls (esp. for procfs side of that mess). Signed-off-by: Al Viro commit f7e6ced4061da509f737541ca4dbd44d83a6e82f Author: Al Viro Date: Tue Jul 15 01:44:23 2008 -0400 [PATCH] allow delayed freeing of ctl_table_header Refcount the sucker; instead of freeing it by the end of unregistration just drop the refcount and free only when it hits zero. Make sure that we _always_ make ->unregistering non-NULL in start_unregistering(). That allows anybody to get a reference to such puppy, preventing its freeing and reuse. It does *not* block unregistration. Anybody who holds such a reference can * try to grab a "use" reference (ctl_head_grab()); that will succeeds if and only if it hadn't entered unregistration yet. If it succeeds, we can use it in all normal ways until we release the "use" reference (with ctl_head_finish()). Note that this relies on having ->unregistering become non-NULL in all cases when one starts to unregister the sucker. * keep pointers to ctl_table entries; they *can* be freed if the entire thing is unregistered. However, if ctl_head_grab() succeeds, we know that unregistration had not happened (and will not happen until ctl_head_finish()) and such pointers can be used safely. IOW, now we can have inodes under /proc/sys keep references to ctl_table entries, protecting them with references to ctl_table_header and grabbing the latter for the duration of operations that require access to ctl_table. That won't cause deadlocks, since unregistration will not be stopped by mere keeping a reference to ctl_table_header. Signed-off-by: Al Viro commit 734550921e9b7ab924a43aa3d0bd4239dac4fbf1 Author: Al Viro Date: Mon Jul 14 21:22:20 2008 -0400 [PATCH] beginning of sysctl cleanup - ctl_table_set New object: set of sysctls [currently - root and per-net-ns]. Contains: pointer to parent set, list of tables and "should I see this set?" method (->is_seen(set)). Current lists of tables are subsumed by that; net-ns contains such a beast. ->lookup() for ctl_table_root returns pointer to ctl_table_set instead of that to ->list of that ctl_table_set. [folded compile fixes by rdd for configs without sysctl] Signed-off-by: Al Viro commit 7ac6cd653d7c31ad6b7bb5b88c549c4ebf628c34 Author: Miklos Szeredi Date: Tue Jul 1 23:07:54 2008 +0200 [patch] hppfs: remove hppfs_permission hppfs_permission() is equivalent to the '.permission == NULL' case. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit d2d9648ec6858e19d16a0b16da62534e85888653 Author: Denys Vlasenko Date: Tue Jul 1 14:16:09 2008 +0200 [PATCH] reuse xxx_fifo_fops for xxx_pipe_fops Merge fifo and pipe file_operations. Signed-off-by: Denys Vlasenko Signed-off-by: Al Viro commit d70b67c8bc72ee23b55381bd6a884f4796692f77 Author: Miklos Szeredi Date: Wed Jul 2 21:30:15 2008 +0200 [patch] vfs: fix lookup on deleted directory Lookup can install a child dentry for a deleted directory. This keeps the directory dentry alive, and the inode pinned in the cache and on disk, even after all external references have gone away. This isn't a big problem normally, since memory pressure or umount will clear out the directory dentry and its children, releasing the inode. But for UBIFS this causes problems because its orphan area can overflow. Fix this by returning ENOENT for all lookups on a S_DEAD directory before creating a child dentry. Thanks to Zoltan Sogor for noticing this while testing UBIFS, and Artem for the excellent analysis of the problem and testing. Reported-by: Artem Bityutskiy Tested-by: Artem Bityutskiy Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 6c3b8fc618905d7599dcc514c99ce4293d476f39 Author: Hugh Dickins Date: Sat Jul 26 17:51:06 2008 -0700 netns: fix ip_rt_frag_needed rt_is_expired Running recent kernels, and using a particular vpn gateway, I've been having to edit my mails down to get them accepted by the smtp server. Git bisect led to commit e84f84f276473dcc673f360e8ff3203148bdf0e2 - netns: place rt_genid into struct net. The conversion from a != test to rt_is_expired() put one negative too many: and now my mail works. Signed-off-by: Hugh Dickins Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6c64825bf40ecc1b01610762ca736b18c8a9db92 Author: Patrick McHardy Date: Sat Jul 26 17:50:05 2008 -0700 netfilter: nf_conntrack_extend: avoid unnecessary "ct->ext" dereferences As Linus points out, "ct->ext" and "new" are always equal, avoid unnecessary dereferences and use "new" directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 93bc4e89c260d91576840c4881d1066d84ccd422 Author: Pekka Enberg Date: Sat Jul 26 17:49:33 2008 -0700 netfilter: fix double-free and use-after free As suggested by Patrick McHardy, introduce a __krealloc() that doesn't free the original buffer to fix a double-free and use-after-free bug introduced by me in netfilter that uses RCU. Reported-by: Patrick McHardy Signed-off-by: Pekka Enberg Tested-by: Dieter Ries Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3918fed5f31213067c1c345bd904e1ea369e6819 Author: Alexey Dobriyan Date: Sat Jul 26 17:48:59 2008 -0700 netfilter: arptables in netns for real IN, FORWARD -- grab netns from in device, OUT -- from out device. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f858b4869a9136dd28cc2ab37f8b89268cc99462 Author: Alexey Dobriyan Date: Sat Jul 26 17:48:38 2008 -0700 netfilter: ip{,6}tables_security: fix future section mismatch Currently not visible, because NET_NS is mutually exclusive with SYSFS which is required by SECURITY. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6c5a9d2e1599a099b0e47235a1c1502162b14310 Author: Alexey Dobriyan Date: Sat Jul 26 17:48:15 2008 -0700 selinux: use nf_register_hooks() Signed-off-by: Alexey Dobriyan Acked-by: James Morris Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e40f51a36a6ca718e829c0933ab1e79333ac932e Author: Alexey Dobriyan Date: Sat Jul 26 17:47:53 2008 -0700 netfilter: ebtables: use nf_register_hooks() Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3712b42d4b1bec29a4232a6673bf2e6dcc5faa68 Author: Karsten Keil Date: Sun Jul 27 02:02:10 2008 +0200 Add layer1 over IP support Implement a ISDN over IP tunnel to use mISDN hardware on remote locations. Signed-off-by: Karsten Keil commit af69fb3a8ffa37e986db00ed93099dc44babeef4 Author: Karsten Keil Date: Sun Jul 27 02:00:43 2008 +0200 Add mISDN HFC multiport driver Enable support for cards with Cologne Chip AG's HFC multiport chip. Signed-off-by: Karsten Keil commit 1700fe1a10dc0eaac0ef60a8093eaeafa9bff9ae Author: Karsten Keil Date: Sat Jul 26 18:55:28 2008 +0200 Add mISDN HFC PCI driver Enable support for card with Cologne Chip AG's HFC PCIbased cards Signed-off-by: Karsten Keil commit 960366cf8dbb3359afaca30cf7fdbf69a6d6dda7 Author: Karsten Keil Date: Sun Jul 27 01:56:38 2008 +0200 Add mISDN DSP Enable support for digital audio processing capability. This module may be used for special applications that require cross connecting of bchannels, conferencing, dtmf decoding echo cancelation, tone generation, and Blowfish encryption and decryption. It may use hardware features if available. Signed-off-by: Karsten Keil commit 1b2b03f8e514e4f68e293846ba511a948b80243c Author: Karsten Keil Date: Sun Jul 27 01:54:58 2008 +0200 Add mISDN core files Add mISDN core files Signed-off-by: Karsten Keil commit 04578dd330f1ec6bc9c4233833bee0d0ca73ff09 Author: Karsten Keil Date: Sat Jul 26 18:52:34 2008 +0200 Define AF_ISDN and PF_ISDN Define the address and protocol family value for mISDN. Signed-off-by: Karsten Keil commit e4ac9bc1f6686dcb8c34e2756aa93cc9546fa6ae Author: Karsten Keil Date: Sat Jul 26 18:52:11 2008 +0200 Add mISDN driver mISDN is a new modular ISDN driver, in the long term it should replace the old I4L driver architecture for passiv ISDN cards. Signed-off-by: Karsten Keil commit deec9ae31e6079551ce9260d29a4cf83e5b19a83 Author: Haavard Skinnemoen Date: Thu Jul 24 14:18:59 2008 +0200 atmel-mci: debugfs support Create additional files under the host's debugfs directory containing additional host-specific debug information. Signed-off-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit f4b7f927b531ca350cfc4ca1bdc3377dac7f9a32 Author: Haavard Skinnemoen Date: Thu Jul 24 14:18:58 2008 +0200 mmc: Add per-card debugfs support For each card successfully added to the bus, create a subdirectory under the host's debugfs root with information about the card. At the moment, only a single file is added to the card directory for all cards: "state". It reflects the "state" field in struct mmc_card, indicating whether the card is present, readonly, etc. For MMC and SD cards (not SDIO), another file is added: "status". Reading this file will ask the card about its current status and return it. This can be useful if the card just refuses to respond to any commands, which might indicate that the card state is not what the MMC core thinks it is (due to a missing stop command, for example.) Signed-off-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit 6edd8ee60ac9b974bd6ec3b1bcb2aab02762fa8c Author: Haavard Skinnemoen Date: Thu Jul 24 14:18:57 2008 +0200 mmc: Export internal host state through debugfs When CONFIG_DEBUG_FS is set, create a few files under /sys/kernel/debug containing information about an mmc host's internal state. Currently, just a single file is created, "ios", which contains information about the current operating parameters for the bus (clock speed, bus width, etc.) Host drivers can add additional files and directories under the host's root directory by passing the debugfs_root field in struct mmc_host as the 'parent' parameter to debugfs_create_*. Signed-off-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit c5d5e9c40fc6cabedd5fdc7441e6e9d37f5c9bba Author: Paulius Zaleckas Date: Wed Jul 9 16:03:20 2008 +0300 imxmmc: fix crash when no platform data is provided Don't crash if no platform data is provided. In this case assume that card is present. Signed-off-by: Paulius Zaleckas Acked-by: Pavel Pisa Signed-off-by: Pierre Ossman commit 5fc63dfba8a016caf832572aeaa90abef82f0ba0 Author: Paulius Zaleckas Date: Wed Jul 9 16:03:17 2008 +0300 imxmmc: fix platform resources Fixup platform resources handling. Signed-off-by: Paulius Zaleckas Acked-by: Pavel Pisa Signed-off-by: Pierre Ossman commit 322069c9df1fd4da269b2a57d78f753684962523 Author: Paulius Zaleckas Date: Wed Jul 9 16:03:13 2008 +0300 imxmmc: remove DEBUG definition Removed DEBUG #define #undef, because module is automaticaly compiled with -DDEBUG when CONFIG_MMC_DEBUG is defined. Currently it just generates compiler warning about redefinition. Signed-off-by: Paulius Zaleckas Acked-by: Pavel Pisa Signed-off-by: Pierre Ossman commit d9ecdb282c91952796b7542c4f57fd6de6948d7b Merge: 4ef584b... 1d1f8b3... Author: Russell King Date: Sat Jul 26 23:04:59 2008 +0100 Merge branch 'for_rmk_13' of git://git.mnementh.co.uk/linux-2.6-im commit a9906a19193db69ad0158f289f839edf8aaf103f Author: Roland McGrath Date: Sat Jul 26 14:41:26 2008 -0700 tracehook: comment fixes This fixes some typos and errors in comments. No code changes. Signed-off-by: Roland McGrath commit 1d1f8b377c48e5aeddaea52eba74cc0539f088cd Author: Ian Molton Date: Sat Jul 26 22:39:58 2008 +0100 [ARM] update defconfig for eseries. Signed-off-by: Ian Molton commit e84e954a72153ffd5630df6156720440b430c877 Author: Ian Molton Date: Mon Jul 21 11:02:40 2008 +0100 [ARM] PXA: squash warning in pxafb Fixes a warning about using the wrong type in pxafb.c Signed-off-by: Ian Molton commit aafe0ad81d7458b6c61eeb39068432683c70c9a9 Author: Ian Molton Date: Sat Jul 12 11:55:42 2008 +0100 [ARM] pxa: PXA25x UDC - Fix warning during build Fixes an unterminated ' warning building PXA25X UDC. Signed-off-by: Ian Molton commit cc9969c96765476db5e30c9e074a57838604c1d1 Merge: 5ba18b1... 9905922... 51a379d... 6492cdf... Author: Roland Dreier Date: Sat Jul 26 13:59:47 2008 -0700 Merge branches 'bkl-removal', 'ipoib', 'mlx4' and 'nes' into for-linus commit a048d3aff8b828b6c0fa7ddd90a531248ab4e0f9 Merge: fb3b806... 1fe3710... Author: Linus Torvalds Date: Sat Jul 26 13:25:47 2008 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ftrace: fix modular build ftrace: disable tracing on acpi idle calls ftrace: remove latency-tracer leftover ftrace: only trace preempt off with preempt tracer ftrace: fix 4d3702b6 (post-v2.6.26): WARNING: at kernel/lockdep.c:2731 check_flags (ftrace) commit fb3b80614438f8b73b3879a19350439d6aa402da Merge: 7f268a2... 3a61ec3... Author: Linus Torvalds Date: Sat Jul 26 13:25:05 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, AMD IOMMU: include amd_iommu_last_bdf in device initialization x86: fix IBM Summit based systems' phys_cpu_present_map on 32-bit kernels x86, RDC321x: remove gpio.h complications x86, RDC321x: add to mach-default crashdump: fix undefined reference to `elfcorehdr_addr' flag parameters: fix compile error of sys_epoll_create1 commit 7f268a2ba7c884a239713696238dd4207a57dd9a Merge: 689796a... 2d20098... Author: Linus Torvalds Date: Sat Jul 26 13:23:17 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: (30 commits) Blackfin arch: If we double fault, rather than hang forever, reset Blackfin arch: When icache is off, make sure people know it Blackfin arch: Fix bug - skip single step in high priority interrupt handler instead of disabling all interrupts in single step debugging. Blackfin arch: cache the values of vco/sclk/cclk as the overhead of doing so (~24 bytes) is worth avoiding the software mult/div routines Blackfin arch: fix bug - IMDMA is not type struct dma_register Blackfin arch: check the EXTBANKS field of the DDRCTL1 register to see if we are using both memory banks Blackfin arch: Apply Bluetechnix CM-BF527 board support patch Blackfin arch: Add unwinding for stack info, and a little more detail on trace buffer Blackfin arch: Add ISP1760 board resources to BF548-EZKIT Blackfin arch: fix bug - detect 0.1 silicon revision BF527-EZKIT as 0.0 version Blackfin arch: add missing IORESOURCE_MEM flags to UART3 Blackfin arch: Add return value check in bfin_sir_probe(), remove SSYNC(). Blackfin arch: Extend sram malloc to handle L2 SRAM. Blackfin arch: Remove useless config option. Blackfin arch: change L1 malloc to base on slab cache and lists. Blackfin arch: use local labels and ENDPROC() markings Blackfin arch: Do not need this dualcore test module in kernel. Blackfin arch: Allow ptrace to peek and poke application data in L1 data SRAM. Blackfin arch: Add ANOMALY_05000368 workaround Blackfin arch: Functional power management support ... commit 689796a141cea79d745a4689c65dd01c39e5e100 Author: Geert Uytterhoeven Date: Sat Jul 26 17:15:05 2008 +0200 dsp56k: Fix BKL pushdown commit 236b8756a2b6f90498d45b2c36d43e5372f2d4b8 ("dsp56k: BKL pushdown") removed the `struct inode *inode' parameter from dsp56k_ioctl(), but forgot to update the use of `inode' in the first line of the function. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 37e67b75804b84e092ae9f1d7a19dc3522ef78ab Author: Huang Weiyi Date: Sat Jul 26 19:37:57 2008 +0800 drivers/video/fbmem.c: removed duplicated include Removed duplicated include in drivers/video/fbmem.c Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 4b1fefaca9f5fdd43b24aa248777a75a81dfa8d6 Merge: 6ca813c... e2d2867... Author: Linus Torvalds Date: Sat Jul 26 12:45:32 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: When verifying the decoded header before decoding the object identifier [CIFS] Fix warnings from checkpatch [CIFS] Fix improper endian conversion of ACL subauth field [CIFS] Fix possible double free if search immediately after search rewind fails [CIFS] remove checkpatch warning Signed-off-by: Alexey Dobriyan cifs: assorted endian annotations [CIFS] break ATTR_SIZE changes out into their own function lockdep: annotate cifs in-kernel sockets [CIFS] Fix compiler warning on 64-bit commit 4cfc51017db3e3f4eaaa2cb436a905097a4f08e2 Author: Andrew Vasquez Date: Thu Jul 24 08:31:50 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k6. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c9c5ced90abc22a94c96fa7db0e29c13483a6db0 Author: Andrew Vasquez Date: Thu Jul 24 08:31:49 2008 -0700 [SCSI] qla2xxx: Additional NPIV corrections. Minor fixes addressing: - rport managements during vport deletion. - acquire proper physical-ha during qla24xx_abort_command() and qla24xx_queuecommand() - do not needlessly acquire the pha for non-NPIV capable ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bf6583b5831d3195c45f98ec3016499389cbe18f Author: Andrew Morton Date: Thu Jul 24 08:31:48 2008 -0700 [SCSI] qla2xxx: suppress uninitialized-var warning drivers/scsi/qla2xxx/qla_os.c: In function 'qla2x00_post_work': drivers/scsi/qla2xxx/qla_os.c:2158: warning: 'flags' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b3dc9088f3714642284245a6c580305a1415e0e3 Author: Akinobu Mita Date: Thu Jul 24 08:31:47 2008 -0700 [SCSI] qla2xxx: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8201e207997b4665a5fcb375bab293fddb2e6adb Author: Andrew Vasquez Date: Thu Jul 24 08:31:46 2008 -0700 [SCSI] qla2xxx: Issue proper ISP callbacks during stop-firmware. As the original code would incorrectly call the non-ISP24xx/25xx callbacks during recovery, a stop-firmware failure could result in improper bit-banging of the RISC and in some cases manifest in a NMI-watchdog trigger due to the RISC not coming out of its reset state. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3d164fb09bb5cb8a223eddf634fc0d355714fcfe Author: FUJITA Tomonori Date: Sat Jul 26 23:25:43 2008 +0900 [SCSI] ch: fix ch_remove oops The following commit causes ch_remove oops: commit 24b42566c3fcbb5a9011d1446783d0f5844ccd45 Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 SCSI: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). It fixes the problem in all of the scsi drivers that need it. Cc: Kay Sievers Cc: Doug Gilbert Cc: James E.J. Bottomley Signed-off-by: Greg Kroah-Hartman The problem is ch_probe stores ch's private data at a wrong place. We need to store it at scsi_device->sdev_gendev but the above patch stores it at device struct that device_create_drvdata returns. So we hit an oops when ch_remove accesses scsi_device->sdev_gendev->driver_data, which is NULL. Actually, there wasn't a race because ch doesn't create sysfs files with device struct that device_create returns. This patch puts back dev_set_drvdata() to set ch's private data properly. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3dabec7175bc6d49e88748cf03951357e74496ca Author: adam radford Date: Tue Jul 22 16:47:40 2008 -0700 [SCSI] 3w-9xxx: add MSI support and misc fixes This patch for the 3w-9xxx scsi driver applies on top of the BKL-pushdown changes in -git9. This patch does the following: - Increase max AENs drained to 256. - Add MSI support and "use_msi" module parameter. - Fix bug in twa_get_param() on 4GB+. - Use pci_resource_len() for ioremap(). Signed-off-by: James Bottomley commit 6bd522f6a226f435508433d24e0de4619e016a9d Author: Mike Christie Date: Tue Jul 22 15:34:38 2008 -0500 [SCSI] scsi_lib: use blk_rq_tagged in scsi_request_fn I goofed and did not see the macro for checking if a request is tagged. This patch has us use blk_rq_tagged instead of digging into the req->tag. Patch was made over scsi-misc. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b7b1a35ea563a8f1219dc3fdf12f37937cb83245 Author: Brian King Date: Tue Jul 22 08:31:48 2008 -0500 [SCSI] ibmvfc: Update driver version to 1.0.1 Update driver version to 1.0.1. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 989b854579875b38d45fffa7f8c89177f7698cd3 Author: Brian King Date: Tue Jul 22 08:31:47 2008 -0500 [SCSI] ibmvfc: Add ADISC support Add an ADISC to the target discovery job in order to sanity check whether or not we need to re-login to the target. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 52d7e861cc071688f5fa3ee1b6e94785adeff8db Author: Brian King Date: Tue Jul 22 08:31:46 2008 -0500 [SCSI] ibmvfc: Miscellaneous fixes Properly setup the size of the async event queue. This fixes a bug where async events were not getting processed by the driver. Setup target_id field in the driver's target struct so that target sysfs attributes work for multiple targets. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 2d0da2a44e065a5bdd90bed2ebe0b9216c27f682 Author: Brian King Date: Tue Jul 22 08:31:42 2008 -0500 [SCSI] ibmvfc: Fix hang on module removal If certain ELS events are received during module removal, after the kthread is stopped, the rmmod can hang. This fixes the ibmvfc driver so that ELS events during rmmod are ignored by stopping all device activity prior to killing the kthread and also changes reinitialization to not attempt a reinit if the adapter has been taken offline. Signed-off-by: Brian King Signed-off-by: James Bottomley commit b3c10489cb464b12a74dda65f826433f71f2c2e2 Author: Brian King Date: Tue Jul 22 08:31:41 2008 -0500 [SCSI] ibmvfc: Target refcounting fixes Fix up some refcounting on the ibmvfc drivers internal target struct when accessed through some sysfs attributes. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0ae808e02e000058cf65a47662c187dc061bcfd3 Author: Brian King Date: Tue Jul 22 08:31:39 2008 -0500 [SCSI] ibmvfc: Reduce unnecessary log noise Reduces some unnecessary log noise by removing a printk during host port state query and increasing the log level required to log received async events. Signed-off-by: Brian King Signed-off-by: James Bottomley commit e41443ec3bb3dc4b12c861e91a5d36feb45f8a46 Author: Mike Anderson Date: Mon Jul 21 15:58:32 2008 -0700 [SCSI] sym53c8xx: free luntbl in sym_hcb_free This patch frees the luntbl dma area in sym_hcb_free if allocated. Since the luntbl is part of a larger dma coherent area not freeing the luntbl kept a 64k dma coherent area previous allocated through dma_alloc_coherent allocated. This prevented a DLPAR remove IO operation from completing successfully. Signed-off-by: Mike Anderson Cc: Matthew Wilcox Signed-off-by: James Bottomley commit 773e82f6cdb026282ff7d26aaac291a5fa84ee3a Author: Julia Lawall Date: Mon Jul 21 09:58:30 2008 +0200 [SCSI] scsi_scan.c: Release mutex in error handling code The mutex is released on a successful return, so it would seem that it should be released on an error return as well. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; @@ mutex_lock(l); ... when != mutex_unlock(l) when any when strict ( if (...) { ... when != mutex_unlock(l) + mutex_unlock(l); return ...; } | mutex_unlock(l); ) // Signed-off-by: Julia Lawall Signed-off-by: James Bottomley commit 12265709ac6e197f4d40d9ec1fd3af97b4196a35 Author: Alan Stern Date: Mon Jul 21 10:25:52 2008 -0400 [SCSI] scsi_eh_prep_cmnd should save scmd->underflow This patch (as1116) fixes a bug in scsi_eh_prep_cmnd() and scsi_eh_restore_cmnd(). These routines are supposed to save any values they change and restore them later, but someone forgot to save & restore scmd->underflow. This fixes part of the problem reported in Bugzilla #9638. [jejb: fix up rejections around DIF/DIX] Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit af55ff675a8461da6a632320710b050af4366e0c Author: Martin K. Petersen Date: Thu Jul 17 04:28:35 2008 -0400 [SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field Support for controllers and disks that implement DIF protection information: - During command preparation the RDPROTECT/WRPROTECT must be set correctly if the target has DIF enabled. - READ(6) and WRITE(6) are not supported when DIF is on. - The controller must be told how to handle the I/O via the protection operation field in scsi_cmnd. - Refactor the I/O completion code that extracts failed LBA from the returned sense data and handle DIF failures correctly. - sd_dif.c implements the functions required to prepare and complete requests with protection information attached. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit e0597d70012c82e16ee152270a55d89d8bf66693 Author: Martin K. Petersen Date: Thu Jul 17 04:28:34 2008 -0400 [SCSI] sd: Identify DIF protection type and application tag ownership If a disk is formatted with protection information (Inquiry bit PROTECT=1) it is required to support Read Capacity(16). Force use of the 16-bit command in this case and extract the P_TYPE field which indicates whether the disk is formatted using DIF Type 1, 2 or 3. The ATO (App Tag Own) bit in the Control Mode Page indicates whether the storage device or the initiator own the contents of the DIF application tag. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 511e44f42e3239a4df77b8e0e46d294d98a768ad Author: Martin K. Petersen Date: Thu Jul 17 04:28:33 2008 -0400 [SCSI] Do not retry a request whose data integrity check failed If initiator or target reject the I/O due to DIF errors there is no point in retrying. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 7027ad72a689797475973c6feb5f0b673382f779 Author: Martin K. Petersen Date: Thu Jul 17 17:08:48 2008 -0400 [SCSI] Support devices with protection information Implement support for DMA of protection information for devices that are data integrity capable. - Add support for mapping an extra scatter-gather list containing the protection information. - Allocate protection scsi_data_buffer if host is DIX (integrity DMA) capable. - Accessor function for checking whether a device has protection enabled. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit db007fc5e20c00b356e9ffe2d0e007398c65c837 Author: Martin K. Petersen Date: Thu Jul 17 04:28:31 2008 -0400 [SCSI] Command protection operation Controllers that support DMA of protection information must be told explicitly how to handle the I/O. The controller has no knowledge of the protection capabilities of the target device so this information must be passed in the scsi_cmnd. - The protection operation tells the HBA whether to generate, strip or verify protection information. - The protection type tells the HBA which layout the target is formatted with. This is necessary because the controller must be able to correctly interpret the included protection information in order to verify it. - When a scsi_cmnd is reused for error handling the protection operation must be cleared and saved while error handling is in progress. - prot_op and prot_type are placed in an existing hole in scsi_cmnd and don't cause the structure to grow. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 4469f9878059f1707f021512e6b34252c4096ee7 Author: Martin K. Petersen Date: Thu Jul 17 04:28:30 2008 -0400 [SCSI] Host protection capabilities Controllers that support protection information must indicate this to the SCSI midlayer so that the ULD can prepare scsi_cmnds accordingly. This patch implements a host mask and various types of protection: - DIF Type 1-3 (between HBA and disk) - DIX Type 0-3 (between OS and HBA) The patch also allows the HBA to set the guard type to something different than the T10-mandated CRC. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 7c32c7a2d36c52d2b9ed040a9171364020ecc6a2 Author: Hannes Reinecke Date: Thu Jul 17 16:53:33 2008 -0700 [SCSI] scsi_dh: create lookup cache Create a cache of devices that are seen in a system. This will avoid the unnecessary traversal of the device list in the scsi_dh when there are multiple luns of a same type. Signed-off-by: Chandra Seetharaman Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit ae11b1b36da726a8a93409b896704edc6b4f3402 Author: Hannes Reinecke Date: Thu Jul 17 17:49:02 2008 -0700 [SCSI] scsi_dh: attach to hardware handler from dm-mpath multipath keeps a separate device table which may be more current than the built-in one. So we should make sure to always call ->attach whenever a multipath map with hardware handler is instantiated. And we should call ->detach on removal, too. [sekharan: update as per comments from agk] Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 057ea7c9683c3d684128cced796f03c179ecf1c2 Author: Hannes Reinecke Date: Thu Jul 17 16:53:21 2008 -0700 [SCSI] scsi_dh: add generic SPC-3 alua handler Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit ca9f0089867c9e476cf2e6d4615d2aae887171b2 Author: Hannes Reinecke Date: Thu Jul 17 16:53:15 2008 -0700 [SCSI] scsi_dh: Update RDAC device handler This patch updates the RDAC device handler to refuse to attach to devices not supporting the RDAC vpd pages. Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 2aef6d5c05ee5c02f2e4d737b8738deb118cf892 Author: Hannes Reinecke Date: Thu Jul 17 16:53:09 2008 -0700 [SCSI] scsi_dh: Update hp_sw hardware handler This patch updates the hp_sw device handler to properly check the return codes etc. And adds the 'correct' machine definitions. Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit b6ff1b14cdf4b4cb5403f3af2c3272f7e609a241 Author: Hannes Reinecke Date: Thu Jul 17 16:53:03 2008 -0700 [SCSI] scsi_dh: Update EMC handler This patch converts the EMC device handler to use a proper state machine. We now also parse the extended INQUIRY information to determine if long trespass commands are supported. And we're now using the long trespass command correctly. And finally there's now an check at init time to refuse to attach to devices not supporting EMC-specific VPD pages. Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 4c05ae52fcb0e27a2ee4a16d1f31f8c547fd4886 Author: Hannes Reinecke Date: Thu Jul 17 16:52:57 2008 -0700 [SCSI] scsi_dh: Add 'dh_state' sysfs attribute Implement a 'dh_state' sdev attribute for dynamic device handler manipulation. A read on the attribute will return the name of the currently attached device handler or 'detached' if no handler is attached. The attribute allows the following strings to be written: - The name of the device handler to be attached if the state is 'detached'. - 'activate' to trigger path activation if a device handler is attached. - 'detach' to detach the currently attached device handler. Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 765cbc6dad16b87724803e359d6be792ddf08614 Author: Hannes Reinecke Date: Thu Jul 17 16:52:51 2008 -0700 [SCSI] scsi_dh: Implement common device table handling Instead of having each and every driver implement its own device table scanning code we should rather implement a common routine and scan the device tables there. This allows us also to implement a general notifier chain callback for all device handler instead for one per handler. [sekharan: Fix rejections caused by conflicting bug fix] Signed-off-by: Hannes Reinecke Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 6d49f63b415ca02223e01e187076cb69a5a38eaf Author: Matthew Wilcox Date: Tue Jul 15 14:54:16 2008 -0600 [SCSI] Make host_no an unsigned int Daniel Debonzi reports that he has managed to wrap host_no. Increasing the number of host numbers available to 32-bit from 16-bit allows the problem to be evaded for another hundred years. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f27bac2761cab5a2e212dea602d22457a9aa6943 Author: Tejun Heo Date: Mon Jul 14 14:59:30 2008 +0900 [SCSI] sd: update index allocation and use ida instead of idr Update index allocation as follows. * sd_index_idr is used only for ID allocation and mapping functionality is not used. Use more memory efficient ida instead. * idr and ida have their own locks inside them and don't need them for operation. Drop it. * index wasn't freed if probing failed after index allocation. fix it. * ida allocation should be repeated if it fails with -EAGAIN. Signed-off-by: Tejun Heo Signed-off-by: James Bottomley commit ecefe8a97577d6c1a68d14ab6fb19bce99448af2 Author: Mike Christie Date: Fri Jul 11 19:50:35 2008 -0500 [SCSI] fix shared tag map tag allocation When drivers use a shared tag map we can end up with more requests than tags, because the tag map is shost->can_queue tags and there can be sdevs * sdev->queue_depth requests. In scsi_request_fn if tag allocation fails we just drop down to just dequeueing the tag without a tag. The problem is that drivers using the shared tag map rely on a valid tag always being set, because it will use the tag number to lookup commands later. This patch has us check if we got a valid tag when the host lock is held right before we check if the host queue is ready. We do the check here because to allocate the tag we need the q lock, but if the tag is bad we want to add the device/q onto the starved list which requires the host lock. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5d90027fb579eee41ec1b61f23195ed2fdd51da2 Author: Mike Christie Date: Fri Jul 11 19:50:34 2008 -0500 [SCSI] stex: fix queue depth setting We want to set the queue depth to something reasonable - not the can_queue. Signed-off-by: Mike Christie Cc: Ed Lin Signed-off-by: James Bottomley commit d510d965e17a81d4d41c03a3927f6ef450b73ff5 Author: Mike Christie Date: Fri Jul 11 19:50:33 2008 -0500 [SCSI] qla4xxx: fix queue depth setting We want to set the queue depth to something reasonable - not the can_queue. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit 885ace9e2f120439043ffa1bb72a2fa1f3afc645 Author: Mike Christie Date: Fri Jul 11 19:50:32 2008 -0500 [SCSI] fix shared tag map setup Currently qla4xxx and stex pass in their can_queue values into scsi_activate_tcq because they wanted the tag map that large. The problem with this is that it ends up also setting the queue depth to that large value. All we want to do this in this case is set the device queue depth and the other device settings. We do not need to touch the tag map sizing because the drivers had setup that map according to their can_queue limits when the shared map was created. The scsi mid layer in request_fn will then handle the case where we have more requests than available tags when it checks the host queue ready function. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 786231af0a4ac6d78cef51fa7e9c3dd63f016195 Author: Kai Makisara Date: Fri Jul 11 15:06:40 2008 +0300 [SCSI] st: Remove bogus memset Mike Christie noticed a bogus memset. It can be removed as dead code since the number of bytes in the driver buffer in fixed block mode is always a multiple of the tape block size. Signed-off-by: Kai Mäkisara Signed-off-by: James Bottomley commit 626dcb1ee39aa1010c27df31970ff0ecfb287208 Author: Kai Makisara Date: Fri Jul 11 15:05:25 2008 +0300 [SCSI] st: Move buffer pointer back when data could not be written. Move buffer pointer back when data could not be written. Bug found by Mike Christie. Signed-off-by: Kai Mäkisara Signed-off-by: James Bottomley commit f0773b5ff6d6978c01525f0c34db42d5cedb9394 Author: Andrew Vasquez Date: Thu Jul 10 16:56:03 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k5. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6d0525292ad13f17abcd4a21e488d5b667e90668 Author: Andrew Vasquez Date: Thu Jul 10 16:56:02 2008 -0700 [SCSI] qla2xxx: Don't hardcode fw_transfer_size for ISP2[45]xx parts. Use the full buffer size available, as there's no reason to limit the firwmare-image load-segment size for these parts. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 42e421b184967c8bc70d72eed8e1b179e9a51acb Author: Andrew Vasquez Date: Thu Jul 10 16:56:01 2008 -0700 [SCSI] qla2xxx: Verify the RISC is not in ROM code if firmware-load is disabled. Add an additional check to verify that the current executing firmware is in fact non-ROM code. The non-ROM Get-ID mailbox command is used for verification. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e792121ec85672c1fa48f79d13986a3f4f56c590 Author: Andrew Vasquez Date: Thu Jul 10 16:56:00 2008 -0700 [SCSI] qla2xxx: Correct overflow during dump-processing on large-memory ISP23xx parts. Total ram words can exceed a 16bit value on large-memory boards. Safely extend to a 32bit width. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 031e134e5f95233d80fb1b62fdaf5e1be587597c Author: Andrew Vasquez Date: Thu Jul 10 16:55:59 2008 -0700 [SCSI] qla2xxx: Skip FDMI registration on ISP21xx/22xx parts. Firmware does not have the facilities to issue management server IOCBs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5de1f70f4103253f72d92da16d9618bc573b4534 Author: Seokmann Ju Date: Thu Jul 10 16:55:58 2008 -0700 [SCSI] qla2xxx: Correct rport/fcport visibility-state handling during loop-resync. There were several issues here, one, during RSCN handling if a follow-on RSCN occurred (within interrupt context) the DPC thread could inadvertantly leave the fcport in a stale lost state. Secondly, scheduled rport removal is handled exclusively by the 'parent' DPC thread, so wake up the proper thread. Finally, process vport loop-resync's only when the vport has in an "active" state (ID acquired). Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit da57bf8f25faf97308d9f4d0b87e8b69317a2fdf Author: Seokmann Ju Date: Thu Jul 10 16:55:57 2008 -0700 [SCSI] qla2xxx: Correct vport management of MBA_PORT_UPDATE. By allowing the qla2x00_alert_all_vps() to manage per-vport recognition of the MBA. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8f0d6436d215a2e0033ab2af192ac7e4b300bd3e Author: Seokmann Ju Date: Thu Jul 10 16:55:56 2008 -0700 [SCSI] qla2xxx: Correct fcport state-management during loss. All fcport->state management should be done within qla2x00_mark_device_lost(), the assignment of state within qla2x00_mark_vp_devices_dead() caused associated rports to not be removed. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 246de42cfc0abc4e25585f2dca53f8226f62391c Author: Seokmann Ju Date: Thu Jul 10 16:55:55 2008 -0700 [SCSI] qla2xxx: Always aquire the parent's hardware_lock. While issuing a marker, manipulating the request/response queues and modifying the outstanding command array. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 436a7b11234ccccd91e3000aacdbdd25bd7847a8 Author: Andrew Vasquez Date: Thu Jul 10 16:55:54 2008 -0700 [SCSI] qla2xxx: Swap enablement order of EFT and FCE. The firmware group has suggested that FCE (Fibre Channel Event) tracing be enabled prior to EFT (Extended Firmware Tracing) to maximize the capturing of data on the wire. This change has no real semantic effect on driver operation, as it's mostly a shuffling of code. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1ee2714632ce3f7e6477069b41cb685112f5f217 Author: Joe Carnuccio Date: Thu Jul 10 16:55:53 2008 -0700 [SCSI] qla2xxx: Retrieve board serial-number and description from VPD. Recent ISPs have this information written at manufacturing time, so use the information. This also reduces future churn of the qla_devtbl.h file contents, as the driver can now depend on the information to be present in VPD. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e5896bd5dcf71fa43ddcc545340b847c13d29c44 Author: Andrew Vasquez Date: Thu Jul 10 16:55:52 2008 -0700 [SCSI] qla2xxx: Allow the user the option of disabling iIDMA. iIDMA support requires the driver issue several additional fabric-managegment (FM) commands per port discovered during SNS scanning -- GFPN (Get Fabric Port Name) and GPSC (Get Port Speed Capabilities). It has been found during testing that some switches do not respond as *well* as expected to these commands (silence -- no ACC nor BS_RJT). So, to handle such conditions, allow the user the ability to indirectly disable the FM commands by disabling iIDMA with the ql2xiidmaenable module-parameter. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 711c1d916be083a5bf4fbc8e66201e7e9f8b9334 Author: Seokmann Ju Date: Thu Jul 10 16:55:51 2008 -0700 [SCSI] qla2xxx: Cleanup NPIV related functions Removed repeated or unnecessary operations during vport creation/deletion. Signed-off-by: Shyam Sundar Signed-off-by: Seokmann Ju Signed-off-by: Ravi Anand Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 032d8dd739eccbb39c78c901beece70062d1820d Author: Harish Zunjarrao Date: Thu Jul 10 16:55:50 2008 -0700 [SCSI] qla2xxx: Add LIP count to FC-transport statistics. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e5f5f6f72b10c4c6209f0522a7c5b27079d64429 Author: Harish Zunjarrao Date: Thu Jul 10 16:55:49 2008 -0700 [SCSI] qla2xxx: Track total number of ISP aborts. This parameter counts the total number of ISP aborts during driver execution. The value is exported through a DEVICE_ATTR() off the scsi_host. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 85821c906cf3563a00a3d98fa380a2581a7a5ff1 Author: Andrew Vasquez Date: Thu Jul 10 16:55:48 2008 -0700 [SCSI] qla2xxx: Set an rport's dev_loss_tmo value in a consistent manner. As there's no point in adding a fixed-fudge value (originally 5 seconds), honor the user settings only. We also remove the driver's dead-callback get_rport_dev_loss_tmo function (qla2x00_get_rport_loss_tmo()). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5f3a9a207f1fccde476dd31b4c63ead2967d934f Author: Seokmann Ju Date: Thu Jul 10 16:55:47 2008 -0700 [SCSI] qla2xxx: Add dev_loss_tmo_callbk/terminate_rport_io callback support. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bbfb21daa320c9eb327d63734f295fa50ba93826 Author: Andrew Vasquez Date: Thu Jul 10 16:55:46 2008 -0700 [SCSI] qla2xxx: Correct locking during NVRAM manipulation. Commit 2c96d8d0c17978bbf5eb82314d488f46d4a51280 pushed the acquisition of hardware_lock to too fine a level, which in turn will cause problems with cond_resched()s added with 40a2e34a94c336b716f631b2952d233e1ba76e3c. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6ca813c4e515d9b868cd71703ef15f4af3aebb21 Author: Adrian Bunk Date: Fri Jul 25 19:46:27 2008 -0700 video/stifb.c: make 2 functions static This patch makes the following needlessly global functions static: - stifb_init_fb() - stifb_init() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d1e412ac5570a669e1b1fc5fd0f6859250c3d76 Author: Adrian Bunk Date: Fri Jul 25 19:46:26 2008 -0700 video/console/stico{n,re}.c: make code static This patch makes the following needlessly global code static: - sticon.c: sticonsole_init() - sticore.c: struct default_sti - sticore.c: sti_init_graph() - sticore.c: sti_inq_conf() - sticore.c: sti_rom_copy() - sticore.c: sti_select_fbfont() - sticore.c: sti_select_font() - sticore.c: sti_get_wmode_rom() - sticore.c: sti_read_rom() [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 511e7483abe1ab433d8ab7a7998f799042b52941 Author: Adrian Bunk Date: Fri Jul 25 19:46:26 2008 -0700 make macfb_setup() static This patch makes the needlessly global macfb_setup() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f56f6d30c75984d0aba2656eaeb35f3806395191 Author: Adrian Bunk Date: Fri Jul 25 19:46:25 2008 -0700 make init/do_mounts.c:root_device_name static This patch makes the needlessly global root_device_name static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9580d85f9cdb076c4bfb467bc6c0d3c5e499957a Author: Adrian Bunk Date: Fri Jul 25 19:46:25 2008 -0700 drivers/char/rtc.c: make 2 functions static The following functions can now become static: - rtc_interrupt() - rtc_get_rtc_time() Signed-off-by: Adrian Bunk Acked-by: Bernhard Walle Acked-by: Paul Gortmaker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c363b8c6536f26934172d3c46f0bbec01a97c61 Author: Adrian Bunk Date: Fri Jul 25 19:46:24 2008 -0700 mm/swapfile.c: make code static This patch makes the following needlessly global code static: - swap_lock - nr_swapfiles - struct swap_list Signed-off-by: Adrian Bunk Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15f59adae001766a2c7f7fe4f196387bb04bcff5 Author: Adrian Bunk Date: Fri Jul 25 19:46:23 2008 -0700 make mm/memory.c:print_bad_pte() static This patch makes the needlessly global print_bad_pte() static. Signed-off-by: Adrian Bunk Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d8fddfb17aaee4ffc5e3d0560620d0fa8b50a42 Author: Adrian Bunk Date: Fri Jul 25 19:46:23 2008 -0700 mm/allocpercpu.c: make 4 functions static This patch makes the following needlessly global functions static: - percpu_depopulate() - __percpu_depopulate_mask() - percpu_populate() - __percpu_populate_mask() Signed-off-by: Adrian Bunk Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e5c6da71e89fa25ced6e88182225a99941bec90 Author: Adrian Bunk Date: Fri Jul 25 19:46:22 2008 -0700 make mm/sparse.c: make a function static This patch makes the needlessly global sparse_early_mem_map_alloc() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d5f96ce6571da51c0f6bfa7361e5f91f314b2b Author: Adrian Bunk Date: Fri Jul 25 19:46:22 2008 -0700 make parport_cs_release() static This patch makes the needlessly global parport_cs_release() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25cdcd0086d97a011fcd0c1ff572e30da24790ec Author: Adrian Bunk Date: Fri Jul 25 19:46:21 2008 -0700 make pnp_add_card_id() static pnp_add_card_id() can now become static. Signed-off-by: Adrian Bunk Cc: Bjorn Helgaas Cc: Rene Herman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96930a6365c99c160138a395566e360b27348b8f Author: Adrian Bunk Date: Fri Jul 25 19:46:21 2008 -0700 make cgroup_seqfile_release() static cgroup_seqfile_release() can become static. Signed-off-by: Adrian Bunk Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e1451da4f928ae1c9d5ca617faebde9f02985db Author: Adrian Bunk Date: Fri Jul 25 19:46:20 2008 -0700 drm: make drm_minors_cleanup() static Make the needlessly global drm_minors_cleanup() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4074d93dd4e8f46f727840baa2be02d544fd17f Author: Johannes Weiner Date: Fri Jul 25 19:46:20 2008 -0700 cris: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e275e0a687e83add62b10e6d36b67f0964455469 Author: Johannes Weiner Date: Fri Jul 25 19:46:19 2008 -0700 frv: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() where show_mem() calls show_free_areas(). Signed-off-by: Johannes Weiner Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aca532016f49eca0341ed7be5885d6c63ca69e63 Author: Johannes Weiner Date: Fri Jul 25 19:46:18 2008 -0700 m32r: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free swap pages, printed by show_swap_cache_info() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969eefb516b71f8abadf5bc4861a672694f48c38 Author: Johannes Weiner Date: Fri Jul 25 19:46:18 2008 -0700 m68k: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec5e0edd155385cb59cb9857de3176524ba4ff8 Author: Johannes Weiner Date: Fri Jul 25 19:46:17 2008 -0700 m68knommu: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e66ddf1a4593d9bec8623782b94d7b50cc58cec5 Author: Johannes Weiner Date: Fri Jul 25 19:46:16 2008 -0700 mips: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). And show_mem() does now actually print something on configurations with multiple nodes. Signed-off-by: Johannes Weiner Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bad9ea20146860d726ac14a53206da6be132b98 Author: Johannes Weiner Date: Fri Jul 25 19:46:16 2008 -0700 h8300: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4984d2d88805609e7702e8ee72b5e148c992ae7b Author: Johannes Weiner Date: Fri Jul 25 19:46:15 2008 -0700 mn10300: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bda2fa535564ace56a395d5b65c6dc81305401fa Author: Johannes Weiner Date: Fri Jul 25 19:46:14 2008 -0700 powerpc: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c55281dee09a843dd6bf5070324b86b84847e6ea Author: Johannes Weiner Date: Fri Jul 25 19:46:14 2008 -0700 s390: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Heiko Carstens Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03da6bfb5b40d454f5439ea905a68441aab23637 Author: Johannes Weiner Date: Fri Jul 25 19:46:13 2008 -0700 sh: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in slab, printed by show_free_areas() - free swap pages, printed by show_swap_cache_info() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471a54239a1c8a09cd12733d4e28db2aeebedb59 Author: Johannes Weiner Date: Fri Jul 25 19:46:12 2008 -0700 sparc64: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free swap pages, printed by show_swap_cache_info() - pages in swapcache, printed by show_swap_cache_info() - dirty pages, writeback pages, mapped pages, slab pages, pagetables pages, printed by show_free_areas() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79b0cbd113a9de1eaa3322528ccaeb97bd9189cc Author: Johannes Weiner Date: Fri Jul 25 19:46:12 2008 -0700 um: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free swap pages, printed by show_swap_cache_info() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dad322f5449010c14990dd6934878f576b2ee60 Author: Johannes Weiner Date: Fri Jul 25 19:46:11 2008 -0700 x86: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - pages in swapcache, printed by show_swap_cache_info() - dirty pages, writeback pages, mapped pages, slab pages, pagetable pages, printed by show_free_areas() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47221222a59a565e11954c078a2cf6a07a7e690e Author: Johannes Weiner Date: Fri Jul 25 19:46:10 2008 -0700 xtensa: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2e9c44337b53aef37f3382920a478cac3777ba9 Author: Johannes Weiner Date: Fri Jul 25 19:46:10 2008 -0700 blackfin: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46244a2b3c1dfd83041bcf0428c584d3a66b30cc Author: Johannes Weiner Date: Fri Jul 25 19:46:09 2008 -0700 avr32: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - pages in slabs, printed by show_free_areas() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f834b9f3bd3769162fc169efd7ecae0712a2d1d Author: Johannes Weiner Date: Fri Jul 25 19:46:09 2008 -0700 alpha: use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. This also removes the following redundant information display: - free pages, printed by show_free_areas() - free swap pages, printed by show_swap_cache_info() - pages in swapcache, printed by show_swap_cache_info() where show_mem() calls show_free_areas(), which calls show_swap_cache_info(). Signed-off-by: Johannes Weiner Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 454c63b02e530f10b4345343f63596dd705888d0 Author: Johannes Weiner Date: Fri Jul 25 19:46:07 2008 -0700 lib: generic show_mem() This implements a platform-independent version of show_mem(). Signed-off-by: Johannes Weiner Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Chris Zankel Cc: Ingo Molnar Cc: Jeff Dike Cc: David S. Miller Cc: Paul Mundt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Yoshinori Sato Cc: Ralf Baechle Cc: Greg Ungerer Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Hirokazu Takata Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c97b7fc0d8c8661981beb9517da342ced3b3bc7 Author: Johannes Weiner Date: Fri Jul 25 19:46:01 2008 -0700 mm: print swapcache page count in show_swap_cache_info() Every arch implements its own show_mem() function. Most of them share quite some code, some of them are completely identical. This series implements a generic version of this function and migrates almost all architectures to it. This patch: Most show_mem() implementations calculate the amount of pages within the swapcache every time. Move the output to a more appropriate place and use the anyway available total_swapcache_pages variable. Signed-off-by: Johannes Weiner Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Chris Zankel Cc: Ingo Molnar Cc: Jeff Dike Cc: David S. Miller Cc: Paul Mundt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Yoshinori Sato Cc: Ralf Baechle Cc: Greg Ungerer Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Hirokazu Takata Cc: Mikael Starvik Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebcb67341fee34061430f3367f2e507e52ee051b Author: Roland McGrath Date: Fri Jul 25 19:46:00 2008 -0700 /proc/PID/syscall This adds /proc/PID/syscall and /proc/PID/task/TID/syscall magic files. These use task_current_syscall() to show the task's current system call number and argument registers, stack pointer and PC. For a task blocked but not in a syscall, the file shows "-1" in place of the syscall number, followed by only the SP and PC. For a task that's not blocked, it shows "running". Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbc698636ed48b6fcd323964e0f847a6a796325d Author: Roland McGrath Date: Fri Jul 25 19:45:59 2008 -0700 task_current_syscall This adds the new function task_current_syscall() on machines where the asm/syscall.h interface is supported (CONFIG_HAVE_ARCH_TRACEHOOK). It's exported for modules to use in the future. This function safely samples the state of a blocked thread to collect what system call it is blocked in, and the six system call argument registers. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85ba2d862e521375a8ee01526c5c46b1f24bb4af Author: Roland McGrath Date: Fri Jul 25 19:45:58 2008 -0700 tracehook: wait_task_inactive This extends wait_task_inactive() with a new argument so it can be used in a "soft" mode where it will check for the task changing state unexpectedly and back off. There is no change to existing callers. This lays the groundwork to allow robust, noninvasive tracing that can try to sample a blocked thread but back off safely if it wakes up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f5a4ad97a0e7b663d527ecc02aabe203d000d91 Author: Roland McGrath Date: Fri Jul 25 19:45:57 2008 -0700 tracehook: CONFIG_HAVE_ARCH_TRACEHOOK This adds the generic HAVE_ARCH_TRACEHOOK kconfig item. Each arch should add to some Kconfig file: select HAVE_ARCH_TRACEHOOK if the arch code uses all the latest hooks to enable newfangled tracing and debugging code. The comment in arch/Kconfig lists all the prerequisite arch support. When all these are available, setting HAVE_ARCH_TRACEHOOK will allow enabling any new features that depend on the modern arch interfaces. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 828c365cc8b8d38c346fccb19fa80d28f2240831 Author: Roland McGrath Date: Fri Jul 25 19:45:57 2008 -0700 tracehook: asm/syscall.h This adds asm-generic/syscall.h, which documents what a real asm-ARCH/syscall.h file should define. This is not used yet, but will provide all the machine-dependent details of examining a user system call about to begin, in progress, or just ended. Each arch should add an asm-ARCH/syscall.h that defines all the entry points documented in asm-generic/syscall.h, as short inlines if possible. This lets us write new tracing code that understands user system call registers, without any new arch-specific work. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64b1208d5b0ef8859fd52ea7ae286a3eb994669b Author: Roland McGrath Date: Fri Jul 25 19:45:56 2008 -0700 tracehook: TIF_NOTIFY_RESUME This adds tracehook.h inlines to enable a new arch feature in support of user debugging/tracing. This is not used yet, but it lays the groundwork for a debugger to be able to wrangle a task that's possibly running, without interrupting its syscalls in progress. Each arch should define TIF_NOTIFY_RESUME, and in their entry.S code treat it much like TIF_SIGPENDING. That is, it causes you to take the slow path when returning to user mode, where you get the full user-mode state accessible as for signal handling or ptrace. The arch code should check TIF_NOTIFY_RESUME after handling TIF_SIGPENDING. When it's set, clear it and then call tracehook_notify_resume(). In future, tracing code will call set_notify_resume() when it wants to get a callback in tracehook_notify_resume(). Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b787f7ba677840da16a2228c16571ce8a1fcb799 Author: Roland McGrath Date: Fri Jul 25 19:45:55 2008 -0700 tracehook: force signal_pending() This defines a new hook tracehook_force_sigpending() that lets tracing code decide to force TIF_SIGPENDING on in recalc_sigpending(). This is not used yet, so it compiles away to nothing for now. It lays the groundwork for new tracing code that can interrupt a task synthetically without actually sending a signal. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b2a1ff64afbadac842bbc58c5166962cf4f7664 Author: Roland McGrath Date: Fri Jul 25 19:45:54 2008 -0700 tracehook: death This moves the ptrace logic in task death (exit_notify) into tracehook.h inlines. Some code is rearranged slightly to make things nicer. There is no change, only cleanup. There is one hook called with the tasklist_lock write-locked, as ptrace needs. There is also a new hook called after exit_state changes and without locks. This is a better place for tracing work to be in the future, since it doesn't delay the whole system with locking. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa00b80b3c41a845b3d56f866fb40a2e98754c51 Author: Roland McGrath Date: Fri Jul 25 19:45:54 2008 -0700 tracehook: job control This defines the tracehook_notify_jctl() hook to formalize the ptrace effects on the job control notifications. There is no change, only cleanup. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcf6a2ca5f639b038c48711ebe6c4eca2036641 Author: Roland McGrath Date: Fri Jul 25 19:45:53 2008 -0700 tracehook: get_signal_to_deliver This defines the tracehook_get_signal() hook to allow tracing code to slip in before normal signal dequeuing. This lays the groundwork for new tracing features that can inject synthetic signals outside the normal queue or control the disposition of delivered signals. The calling convention lets tracehook_get_signal() decide both exactly what will happen and what signal number to report in the handler/exit. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 283d7559e7712f95a05331eb0a85394c6368101b Author: Roland McGrath Date: Fri Jul 25 19:45:52 2008 -0700 tracehook: syscall This adds standard tracehook.h inlines for arch code to call when TIF_SYSCALL_TRACE has been set. This replaces having each arch implement the ptrace guts for its syscall tracing support. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 445a91d2fe3667fb8fc251433645f686933cf56a Author: Roland McGrath Date: Fri Jul 25 19:45:52 2008 -0700 tracehook: tracehook_consider_fatal_signal This defines tracehook_consider_fatal_signal() has a fine-grained hook for deciding to skip the special cases for a fatal signal, as ptrace does. There is no change, only cleanup. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35de254dc60f91004b3b5ebb1fc7b2c3093d6032 Author: Roland McGrath Date: Fri Jul 25 19:45:51 2008 -0700 tracehook: tracehook_consider_ignored_signal This defines tracehook_consider_ignored_signal() has a fine-grained hook for deciding to prevent the normal short-circuit of sending an ignored signal, as ptrace does. There is no change, only cleanup. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c45aea27617d6a1e0aacddc3b0233f704222fcbd Author: Roland McGrath Date: Fri Jul 25 19:45:50 2008 -0700 tracehook: tracehook_signal_handler This defines tracehook_signal_handler() as a hook for the arch signal handling code to call. It gives ptrace the opportunity to stop for a pseudo-single-step trap immediately after signal handler setup is done. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa8e26ccd485216fc45c8c2dd1ec3b7ef1a0a2f8 Author: Roland McGrath Date: Fri Jul 25 19:45:50 2008 -0700 tracehook: tracehook_expect_breakpoints This adds tracehook_expect_breakpoints() as a formal hook for the nommu code to use for its, "Is text-poking likely?" check at mmap time. This names the actual semantics the code means to test, and documents it. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d094efeb1e98010c6b99923f1eb7e17bf1e3a74 Author: Roland McGrath Date: Fri Jul 25 19:45:49 2008 -0700 tracehook: tracehook_tracer_task This adds the tracehook_tracer_task() hook to consolidate all forms of "Who is using ptrace on me?" logic. This is used for "TracerPid:" in /proc and for permission checks. We also clean up the selinux code the called an identical accessor. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dae33574dcf5211e1f43c7e45fa29f73ba3e00cb Author: Roland McGrath Date: Fri Jul 25 19:45:48 2008 -0700 tracehook: release_task This moves the ptrace-related logic from release_task into tracehook.h and ptrace.h inlines. It provides clean hooks both before and after locking tasklist_lock, for future tracing logic to do more cleanup without the lock. This also changes release_task() itself in the rare "zap_leader" case to set the leader to EXIT_DEAD before iterating. This maintains the invariant that release_task() only ever handles a task in EXIT_DEAD. This is a common-sense invariant that is already always true except in this one arcane case of zombie leader whose parent ignores SIGCHLD. This change is harmless and only costs one store in this one rare case. It keeps the expected state more consisently sane, which is nicer when debugging weirdness in release_task(). It also lets some future code in the tracehook entry points rely on this invariant for bookkeeping. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daded34be96b1975ff8539ff62ad8b158ce7d842 Author: Roland McGrath Date: Fri Jul 25 19:45:47 2008 -0700 tracehook: vfork-done This moves the PTRACE_EVENT_VFORK_DONE tracing into a tracehook.h inline, tracehook_report_vfork_done(). The change has no effect, just clean-up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a05394fe2448a4139b014936330af23fa7ec83 Author: Roland McGrath Date: Fri Jul 25 19:45:47 2008 -0700 tracehook: clone This moves all the ptrace initialization and tracing logic for task creation into tracehook.h and ptrace.h inlines. It reorganizes the code slightly, but should not change any behavior. There are four tracehook entry points, at each important stage of task creation. This keeps the interface from the core fork.c code fairly clean, while supporting the complex setup required for ptrace or something like it. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30199f5a46aee204bf437a4f5b0740f3efe448b7 Author: Roland McGrath Date: Fri Jul 25 19:45:46 2008 -0700 tracehook: exit This moves the PTRACE_EVENT_EXIT tracing into a tracehook.h inline, tracehook_report_exec(). The change has no effect, just clean-up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff1188646c6870f336e910fb894eeed74f50471f Author: Roland McGrath Date: Fri Jul 25 19:45:45 2008 -0700 tracehook: unexport ptrace_notify The ptrace_notify() function should not be called by any modules. It was only ever exported to be called by binfmt exec functions. But that is no longer necessary since fs/exec.c deals with that generically now. There should be no calls to ptrace_notify() from outside the core kernel. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6341c393fcc37d58727865f1ee2f65e632e9d4f0 Author: Roland McGrath Date: Fri Jul 25 19:45:44 2008 -0700 tracehook: exec This moves all the ptrace hooks related to exec into tracehook.h inlines. This also lifts the calls for tracing out of the binfmt load_binary hooks into search_binary_handler() after it calls into the binfmt module. This change has no effect, since all the binfmt modules' load_binary functions did the call at the end on success, and now search_binary_handler() does it immediately after return if successful. We consolidate the repeated code, and binfmt modules no longer need to import ptrace_notify(). Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88ac2921a71f788ed693bcd44731dd6bc1994640 Author: Roland McGrath Date: Fri Jul 25 19:45:43 2008 -0700 tracehook: add linux/tracehook.h This patch series introduces the "tracehook" interface layer of inlines in . There are more details in the log entry for patch 01/23 and in the header file comments inside that patch. Most of these changes move code around with little or no change, and they should not break anything or change any behavior. This sets a new standard for uniform arch support to enable clean arch-independent implementations of new debugging and tracing stuff, denoted by CONFIG_HAVE_ARCH_TRACEHOOK. Patch 20/23 adds that symbol to arch/Kconfig, with comments listing everything an arch has to do before setting "select HAVE_ARCH_TRACEHOOK". These are elaborted a bit at: http://sourceware.org/systemtap/wiki/utrace/arch/HowTo The new inlines that arch code must define or call have detailed kerneldoc comments in the generic header files that say what is required. No arch is obligated to do any work, and no arch's build should be broken by these changes. There are several steps that each arch should take so it can set HAVE_ARCH_TRACEHOOK. Most of these are simple. Providing this support will let new things people add for doing debugging and tracing of user-level threads "just work" for your arch in the future. For an arch that does not provide HAVE_ARCH_TRACEHOOK, some new options for such features will not be available for config. I have done some arch work and will submit this to the arch maintainers after the generic tracehook series settles in. For now, that work is available in my GIT repositories, and in patch and mbox-of-patches form at http://people.redhat.com/roland/utrace/2.6-current/ This paves the way for my "utrace" work, to be submitted later. But it is not innately tied to that. I hope that the tracehook series can go in soon regardless of what eventually does or doesn't go on top of it. For anyone implementing any kind of new tracing/debugging plan, or just understanding all the context of the existing ptrace implementation, having tracehook.h makes things much easier to find and understand. This patch: This adds the new kernel-internal header file . This is not yet used at all. The comments in the header introduce what the following series of patches is about. The aim is to formalize and consolidate all the places that the core kernel code and the arch code now ties into the ptrace implementation. These patches mostly don't cause any functional change. They just move the details of ptrace logic out of core code into tracehook.h inlines, where they are mostly compiled away to the same as before. All that changes is that everything is thoroughly documented and any future reworking of ptrace, or addition of something new, would not have to touch core code all over, just change the tracehook.h inlines. The new linux/ptrace.h inlines are used by the following patches in the new tracehook_*() inlines. Using these helpers for the ptrace event stops makes it simple to change or disable the old ptrace implementation of these stops conditionally later. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Reviewed-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 267e2a9c71b8e088ac307f9549f71468e86e26c1 Author: Arjan van de Ven Date: Fri Jul 25 19:45:41 2008 -0700 Use WARN() in fs/proc/ Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. This way, the entire if() {} section can collapse into the WARN() as well. Signed-off-by: Arjan van de Ven Acked-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99fcd77d15357e8ba51005c25cc750b9c28b2688 Author: Arjan van de Ven Date: Fri Jul 25 19:45:41 2008 -0700 Use WARN() in fs/sysfs Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Also, with this, one fo the if() sections collapses entirely into the WARN(). Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c752ad9f35910ff1912b3f3ae82878178ddc432 Author: Arjan van de Ven Date: Fri Jul 25 19:45:40 2008 -0700 Use WARN() in fs/ Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd2b459d326a424671dcd95f038649f7bf7cb96 Author: Arjan van de Ven Date: Fri Jul 25 19:45:39 2008 -0700 Use WARN() in lib/ Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. In addition, one of the if() clauses collapes into the WARN() entirely now. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f810a5cf28a818db96333cd23646f0227ec015b4 Author: Arjan van de Ven Date: Fri Jul 25 19:45:39 2008 -0700 Use WARN() in drivers/base/ Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12e0036818eed243c8ed6583ebf98261a2554e12 Author: Arjan van de Ven Date: Fri Jul 25 19:45:38 2008 -0700 Use WARN() in block/ Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 261c40c1191ad8d7a2e49fa2bb5f6a84e3d44b10 Author: Arjan van de Ven Date: Fri Jul 25 19:45:37 2008 -0700 use WARN() in kernel/irq/chip.c Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c8573e25f27b60b495aaa23089032f685ffd5ba Author: Arjan van de Ven Date: Fri Jul 25 19:45:37 2008 -0700 Use WARN() in mm/vmalloc.c Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8c512f6190e313df69060bae4a161c5c044e272 Author: Arjan van de Ven Date: Fri Jul 25 19:45:36 2008 -0700 Use WARN() in kernel/irq/manage.c Replace a printk+WARN_ON() by a WARN(); this increases the chance of the string making it into the bugreport (ie: it goes inside the ---[ cut here ]--- section) Signed-off-by: Arjan van de Ven Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51cc50685a4275c6a02653670af9f108a64e01cf Author: Alexey Dobriyan Date: Fri Jul 25 19:45:34 2008 -0700 SL*B: drop kmem cache argument from constructor Kmem cache passed to constructor is only needed for constructors that are themselves multiplexeres. Nobody uses this "feature", nor does anybody uses passed kmem cache in non-trivial way, so pass only pointer to object. Non-trivial places are: arch/powerpc/mm/init_64.c arch/powerpc/mm/hugetlbpage.c This is flag day, yes. Signed-off-by: Alexey Dobriyan Acked-by: Pekka Enberg Acked-by: Christoph Lameter Cc: Jon Tollefson Cc: Nick Piggin Cc: Matt Mackall [akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c] [akpm@linux-foundation.org: fix mm/slab.c] [akpm@linux-foundation.org: fix ubifs] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d91958815d214ea365b98cbff6215383897edcb6 Author: Matt LaPlante Date: Fri Jul 25 19:45:33 2008 -0700 Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19fd6231279be3c3bdd02ed99f9b0eb195978064 Author: Nick Piggin Date: Fri Jul 25 19:45:32 2008 -0700 mm: spinlock tree_lock mapping->tree_lock has no read lockers. convert the lock from an rwlock to a spinlock. Signed-off-by: Nick Piggin Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Hugh Dickins Cc: "Paul E. McKenney" Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a60637c85893e7191faaafa6a72e197c24386727 Author: Nick Piggin Date: Fri Jul 25 19:45:31 2008 -0700 mm: lockless pagecache Combine page_cache_get_speculative with lockless radix tree lookups to introduce lockless page cache lookups (ie. no mapping->tree_lock on the read-side). The only atomicity changes this introduces is that the gang pagecache lookup functions now behave as if they are implemented with multiple find_get_page calls, rather than operating on a snapshot of the pages. In practice, this atomicity guarantee is not used anyway, and it is to replace individual lookups, so these semantics are natural. Signed-off-by: Nick Piggin Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Hugh Dickins Cc: "Paul E. McKenney" Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e286781d5f2e9c846e012a39653a166e9d31777d Author: Nick Piggin Date: Fri Jul 25 19:45:30 2008 -0700 mm: speculative page references If we can be sure that elevating the page_count on a pagecache page will pin it, we can speculatively run this operation, and subsequently check to see if we hit the right page rather than relying on holding a lock or otherwise pinning a reference to the page. This can be done if get_page/put_page behaves consistently throughout the whole tree (ie. if we "get" the page after it has been used for something else, we must be able to free it with a put_page). Actually, there is a period where the count behaves differently: when the page is free or if it is a constituent page of a compound page. We need an atomic_inc_not_zero operation to ensure we don't try to grab the page in either case. This patch introduces the core locking protocol to the pagecache (ie. adds page_cache_get_speculative, and tweaks some update-side code to make it work). Thanks to Hugh for pointing out an improvement to the algorithm setting page_count to zero when we have control of all references, in order to hold off speculative getters. [kamezawa.hiroyu@jp.fujitsu.com: fix migration_entry_wait()] [hugh@veritas.com: fix add_to_page_cache] [akpm@linux-foundation.org: repair a comment] Signed-off-by: Nick Piggin Cc: Jeff Garzik Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Hugh Dickins Cc: "Paul E. McKenney" Reviewed-by: Peter Zijlstra Signed-off-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: KOSAKI Motohiro Signed-off-by: Hugh Dickins Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47feff2c8eefe85099f87c43d3096855f0085ca0 Author: Nick Piggin Date: Fri Jul 25 19:45:29 2008 -0700 radix-tree: add gang_lookup_slot, gang_lookup_slot_tag Introduce gang_lookup_slot() and gang_lookup_slot_tag() functions, which are used by lockless pagecache. Signed-off-by: Nick Piggin Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Hugh Dickins Cc: "Paul E. McKenney" Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30002ed2e41830ec03ec3e577ad83ac6b188f96e Author: Nick Piggin Date: Fri Jul 25 19:45:28 2008 -0700 mm: readahead scan lockless radix_tree_next_hole() is implemented as a series of radix_tree_lookup()s. So it can be called locklessly, under rcu_read_lock(). Signed-off-by: Nick Piggin Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Hugh Dickins Cc: "Paul E. McKenney" Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 652ea695364142b2464744746beac206d050ef19 Author: Nick Piggin Date: Fri Jul 25 19:45:27 2008 -0700 x86: support 1GB hugepages with get_user_pages_lockless() Signed-off-by: Nick Piggin Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc40d73c950146725e9e768e856a416ec8949065 Author: Nick Piggin Date: Fri Jul 25 19:45:26 2008 -0700 splice: use get_user_pages_fast Use get_user_pages_fast in splice. This reverts some mmap_sem batching there, however the biggest problem with mmap_sem tends to be hold times blocking out other threads rather than cacheline bouncing. Further: on architectures that implement get_user_pages_fast without locks, mmap_sem can be avoided completely anyway. Signed-off-by: Nick Piggin Cc: Dave Kleikamp Cc: Andy Whitcroft Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Dave Kleikamp Cc: Badari Pulavarty Cc: Zach Brown Cc: Jens Axboe Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5dd33c494a427b1d1a3b574de5c9e511c888864 Author: Nick Piggin Date: Fri Jul 25 19:45:25 2008 -0700 dio: use get_user_pages_fast Use get_user_pages_fast in the common/generic block and fs direct IO paths. Signed-off-by: Nick Piggin Cc: Dave Kleikamp Cc: Andy Whitcroft Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Dave Kleikamp Cc: Badari Pulavarty Cc: Zach Brown Cc: Jens Axboe Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8174c430e445a93016ef18f717fe570214fa38bf Author: Nick Piggin Date: Fri Jul 25 19:45:24 2008 -0700 x86: lockless get_user_pages_fast() Implement get_user_pages_fast without locking in the fastpath on x86. Do an optimistic lockless pagetable walk, without taking mmap_sem or any page table locks or even mmap_sem. Page table existence is guaranteed by turning interrupts off (combined with the fact that we're always looking up the current mm, means we can do the lockless page table walk within the constraints of the TLB shootdown design). Basically we can do this lockless pagetable walk in a similar manner to the way the CPU's pagetable walker does not have to take any locks to find present ptes. This patch (combined with the subsequent ones to convert direct IO to use it) was found to give about 10% performance improvement on a 2 socket 8 core Intel Xeon system running an OLTP workload on DB2 v9.5 "To test the effects of the patch, an OLTP workload was run on an IBM x3850 M2 server with 2 processors (quad-core Intel Xeon processors at 2.93 GHz) using IBM DB2 v9.5 running Linux 2.6.24rc7 kernel. Comparing runs with and without the patch resulted in an overall performance benefit of ~9.8%. Correspondingly, oprofiles showed that samples from __up_read and __down_read routines that is seen during thread contention for system resources was reduced from 2.8% down to .05%. Monitoring the /proc/vmstat output from the patched run showed that the counter for fast_gup contained a very high number while the fast_gup_slow value was zero." (fast_gup is the old name for get_user_pages_fast, fast_gup_slow is a counter we had for the number of times the slowpath was invoked). The main reason for the improvement is that DB2 has multiple threads each issuing direct-IO. Direct-IO uses get_user_pages, and thus the threads contend the mmap_sem cacheline, and can also contend on page table locks. I would anticipate larger performance gains on larger systems, however I think DB2 uses an adaptive mix of threads and processes, so it could be that thread contention remains pretty constant as machine size increases. In which case, we stuck with "only" a 10% gain. The downside of using get_user_pages_fast is that if there is not a pte with the correct permissions for the access, we end up falling back to get_user_pages and so the get_user_pages_fast is a bit of extra work. However this should not be the common case in most performance critical code. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: Kconfig fix] [akpm@linux-foundation.org: Makefile fix/cleanup] [akpm@linux-foundation.org: warning fix] Signed-off-by: Nick Piggin Cc: Dave Kleikamp Cc: Andy Whitcroft Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Dave Kleikamp Cc: Badari Pulavarty Cc: Zach Brown Cc: Jens Axboe Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21cc199baa815d7b3f1ace4be20b9558cbddc00f Author: Nick Piggin Date: Fri Jul 25 19:45:22 2008 -0700 mm: introduce get_user_pages_fast Introduce a new get_user_pages_fast mm API, which is basically a get_user_pages with a less general API (but still tends to be suited to the common case): - task and mm are always current and current->mm - force is always 0 - pages is always non-NULL - don't pass back vmas This restricted API can be implemented in a much more scalable way on many architectures when the ptes are present, by walking the page tables locklessly (no mmap_sem or page table locks). When the ptes are not populated, get_user_pages_fast() could be slower. This is implemented locklessly on x86, and used in some key direct IO call sites, in later patches, which provides nearly 10% performance improvement on a threaded database workload. Lots of other code could use this too, depending on use cases (eg. grep drivers/). And it might inspire some new and clever ways to use it. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Nick Piggin Cc: Dave Kleikamp Cc: Andy Whitcroft Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Dave Kleikamp Cc: Badari Pulavarty Cc: Zach Brown Cc: Jens Axboe Reviewed-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0a8f5364a5ad248aec6cb705e0092ff563edc2f Author: Nick Piggin Date: Fri Jul 25 19:45:20 2008 -0700 x86: implement pte_special Implement the pte_special bit for x86. This is required to support lockless get_user_pages, because we need to know whether or not we can refcount a particular page given only its pte (and no vma). [hugh@veritas.com: fix a BUG] Signed-off-by: Nick Piggin Cc: Dave Kleikamp Cc: Andy Whitcroft Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Dave Kleikamp Cc: Badari Pulavarty Cc: Zach Brown Cc: Jens Axboe Reviewed-by: Peter Zijlstra Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2682497245e7d22160ae63032c378745a7f2cfe5 Author: Harvey Harrison Date: Fri Jul 25 19:45:20 2008 -0700 mn10300: use the common ascii hex helpers Signed-off-by: Harvey Harrison Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19caeed6339aec02901e2f4c49d8e1d3d6090559 Author: Harvey Harrison Date: Fri Jul 25 19:45:19 2008 -0700 frv: use the common ascii hex helpers Signed-off-by: Harvey Harrison Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a9a58361d3b65f4a7c2ad280cc1ec9b657e7d2 Author: Harvey Harrison Date: Fri Jul 25 19:45:18 2008 -0700 cris: use the common ascii hex helpers Signed-off-by: Harvey Harrison Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ad122d901977890de554fdd3ff65474efc1a9bf Author: Bob Copeland Date: Fri Jul 25 19:45:18 2008 -0700 omfs: add MAINTAINERS entry Add the MAINTAINERS entry for OMFS. Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63ca8ce2a2641f9cb5f0add33ced4591681d1cd7 Author: Bob Copeland Date: Fri Jul 25 19:45:17 2008 -0700 omfs: update kbuild to include OMFS Adds OMFS to the fs Kconfig and Makefile Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36cc410a6799a205bfc6ccc38abd9d52f2afba64 Author: Bob Copeland Date: Fri Jul 25 19:45:17 2008 -0700 omfs: add bitmap routines Add block allocation and block bitmap management routines for OMFS. Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f09e98768c17287df076580c4cc72ac358312c6 Author: Bob Copeland Date: Fri Jul 25 19:45:16 2008 -0700 omfs: add file routines Add functions for reading and manipulating the storage of file data in the extent-based OMFS. Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3ab7155ea21aadc8a4d5687e91b3d876973185e Author: Bob Copeland Date: Fri Jul 25 19:45:16 2008 -0700 omfs: add directory routines Add lookup and directory management routines for OMFS. The filesystem uses hashing based on the filename and stores collisions, unordered, in siblings of files' inode structures. To support telldir, the current position in the hash table is encoded in fpos. Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 555e3775ced1d05203934fc6529bbf0560dd8733 Author: Bob Copeland Date: Fri Jul 25 19:45:15 2008 -0700 omfs: add inode routines Add basic superblock and inode handling routines for OMFS Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b002d7b173ae7cc15ed90d3c07f6d106babc510 Author: Bob Copeland Date: Fri Jul 25 19:45:15 2008 -0700 omfs: define filesystem structures Add header files containing OMFS on-disk and memory structures. Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a14e4b572b0ee5c6dbe4aceb83d00b2c969324e9 Author: Bob Copeland Date: Fri Jul 25 19:45:14 2008 -0700 omfs: add filesystem documentation These patches add the Optimized MPEG Filesystem, a proprietary filesystem used by the embedded devices Rio Karma and ReplayTV, which are no longer manufactured. This filesystem module enables people to access files on these devices. This patch: OMFS is a proprietary filesystem created for the ReplayTV and also used by the Rio Karma. It uses hash tables with unordered, unbounded lists in each bucket for directories, extents for data blocks, 64-bit addressing for blocks, with up to 8K blocks (only 2K of a given block is ever used for metadata, so the FS still works with 4K pages). Document the filesystem usage and structures. Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 080ccd4573607a930367c2128fc709814b2ade5d Author: Huang Weiyi Date: Fri Jul 25 19:45:13 2008 -0700 include/linux/aio.h: removed duplicated include Removed duplicated include in include/linux/aio.h Signed-off-by: Huang Weiyi Signed-off-by: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20d8b67c06fa5e74f44e80b0a0fd68c8327f7c6a Author: Eduard - Gabriel Munteanu Date: Fri Jul 25 19:45:12 2008 -0700 relay: add buffer-only channels; useful for early logging Allows one to create and use a channel with no associated files. Files can be initialized later. This is useful in scenarios such as logging in early code, before VFS is up. Therefore, such channels can be created and used as soon as kmem_cache_init() completed. This is needed by kmemtrace to do tracing in early kernel code. [kosaki.motohiro@jp.fujitsu.com: build fix] Signed-off-by: Eduard - Gabriel Munteanu Cc: Tom Zanussi Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7babe8db99d305340cf4828ce1f5a1481d5622ef Author: Eduard - Gabriel Munteanu Date: Fri Jul 25 19:45:11 2008 -0700 Full conversion to early_initcall() interface, remove old interface A previous patch added the early_initcall(), to allow a cleaner hooking of pre-SMP initcalls. Now we remove the older interface, converting all existing users to the new one. [akpm@linux-foundation.org: cleanups] [akpm@linux-foundation.org: build fix] [kosaki.motohiro@jp.fujitsu.com: warning fix] [kosaki.motohiro@jp.fujitsu.com: warning fix] Signed-off-by: Eduard - Gabriel Munteanu Cc: Tom Zanussi Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2147a5092cfe13dbf3210e54e8a622015edeecc Author: Eduard - Gabriel Munteanu Date: Fri Jul 25 19:45:11 2008 -0700 Better interface for hooking early initcalls Added early initcall (pre-SMP) support, using an identical interface to that of regular initcalls. Functions called from do_pre_smp_initcalls() could be converted to use this cleaner interface. This is required by CPU hotplug, because early users have to register notifiers before going SMP. One such CPU hotplug user is the relay interface with buffer-only channels, which needs to register such a notifier, to be usable in early code. This in turn is used by kmemtrace. Signed-off-by: Eduard - Gabriel Munteanu Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9 Author: Huang Ying Date: Fri Jul 25 19:45:10 2008 -0700 kexec jump: save/restore device state This patch implements devices state save/restore before after kexec. This patch together with features in kexec_jump patch can be used for following: - A simple hibernation implementation without ACPI support. You can kexec a hibernating kernel, save the memory image of original system and shutdown the system. When resuming, you restore the memory image of original system via ordinary kexec load then jump back. - Kernel/system debug through making system snapshot. You can make system snapshot, jump back, do some thing and make another system snapshot. - Cooperative multi-kernel/system. With kexec jump, you can switch between several kernels/systems quickly without boot process except the first time. This appears like swap a whole kernel/system out/in. - A general method to call program in physical mode (paging turning off). This can be used to invoke BIOS code under Linux. The following user-space tools can be used with kexec jump: - kexec-tools needs to be patched to support kexec jump. The patches and the precompiled kexec can be download from the following URL: source: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-src_git_kh10.tar.bz2 patches: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-patches_git_kh10.tar.bz2 binary: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec_git_kh10 - makedumpfile with patches are used as memory image saving tool, it can exclude free pages from original kernel memory image file. The patches and the precompiled makedumpfile can be download from the following URL: source: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-src_cvs_kh10.tar.bz2 patches: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-patches_cvs_kh10.tar.bz2 binary: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile_cvs_kh10 - An initramfs image can be used as the root file system of kexeced kernel. An initramfs image built with "BuildRoot" can be downloaded from the following URL: initramfs image: http://khibernation.sourceforge.net/download/release_v10/initramfs/rootfs_cvs_kh10.gz All user space tools above are included in the initramfs image. Usage example of simple hibernation: 1. Compile and install patched kernel with following options selected: CONFIG_X86_32=y CONFIG_RELOCATABLE=y CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y CONFIG_PM=y CONFIG_HIBERNATION=y CONFIG_KEXEC_JUMP=y 2. Build an initramfs image contains kexec-tool and makedumpfile, or download the pre-built initramfs image, called rootfs.gz in following text. 3. Prepare a partition to save memory image of original kernel, called hibernating partition in following text. 4. Boot kernel compiled in step 1 (kernel A). 5. In the kernel A, load kernel compiled in step 1 (kernel B) with /sbin/kexec. The shell command line can be as follow: /sbin/kexec --load-preserve-context /boot/bzImage --mem-min=0x100000 --mem-max=0xffffff --initrd=rootfs.gz 6. Boot the kernel B with following shell command line: /sbin/kexec -e 7. The kernel B will boot as normal kexec. In kernel B the memory image of kernel A can be saved into hibernating partition as follow: jump_back_entry=`cat /proc/cmdline | tr ' ' '\n' | grep kexec_jump_back_entry | cut -d '='` echo $jump_back_entry > kexec_jump_back_entry cp /proc/vmcore dump.elf Then you can shutdown the machine as normal. 8. Boot kernel compiled in step 1 (kernel C). Use the rootfs.gz as root file system. 9. In kernel C, load the memory image of kernel A as follow: /sbin/kexec -l --args-none --entry=`cat kexec_jump_back_entry` dump.elf 10. Jump back to the kernel A as follow: /sbin/kexec -e Then, kernel A is resumed. Implementation point: To support jumping between two kernels, before jumping to (executing) the new kernel and jumping back to the original kernel, the devices are put into quiescent state, and the state of devices and CPU is saved. After jumping back from kexeced kernel and jumping to the new kernel, the state of devices and CPU are restored accordingly. The devices/CPU state save/restore code of software suspend is called to implement corresponding function. Known issues: - Because the segment number supported by sys_kexec_load is limited, hibernation image with many segments may not be load. This is planned to be eliminated by adding a new flag to sys_kexec_load to make a image can be loaded with multiple sys_kexec_load invoking. Now, only the i386 architecture is supported. Signed-off-by: Huang Ying Acked-by: Vivek Goyal Cc: "Eric W. Biederman" Cc: Pavel Machek Cc: Nigel Cunningham Cc: "Rafael J. Wysocki" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ab83521378268044a448113c6aa9a9e245f4d2f Author: Huang Ying Date: Fri Jul 25 19:45:07 2008 -0700 kexec jump This patch provides an enhancement to kexec/kdump. It implements the following features: - Backup/restore memory used by the original kernel before/after kexec. - Save/restore CPU state before/after kexec. The features of this patch can be used as a general method to call program in physical mode (paging turning off). This can be used to call BIOS code under Linux. kexec-tools needs to be patched to support kexec jump. The patches and the precompiled kexec can be download from the following URL: source: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-src_git_kh10.tar.bz2 patches: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-patches_git_kh10.tar.bz2 binary: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec_git_kh10 Usage example of calling some physical mode code and return: 1. Compile and install patched kernel with following options selected: CONFIG_X86_32=y CONFIG_KEXEC=y CONFIG_PM=y CONFIG_KEXEC_JUMP=y 2. Build patched kexec-tool or download the pre-built one. 3. Build some physical mode executable named such as "phy_mode" 4. Boot kernel compiled in step 1. 5. Load physical mode executable with /sbin/kexec. The shell command line can be as follow: /sbin/kexec --load-preserve-context --args-none phy_mode 6. Call physical mode executable with following shell command line: /sbin/kexec -e Implementation point: To support jumping without reserving memory. One shadow backup page (source page) is allocated for each page used by kexeced code image (destination page). When do kexec_load, the image of kexeced code is loaded into source pages, and before executing, the destination pages and the source pages are swapped, so the contents of destination pages are backupped. Before jumping to the kexeced code image and after jumping back to the original kernel, the destination pages and the source pages are swapped too. C ABI (calling convention) is used as communication protocol between kernel and called code. A flag named KEXEC_PRESERVE_CONTEXT for sys_kexec_load is added to indicate that the loaded kernel image is used for jumping back. Now, only the i386 architecture is supported. Signed-off-by: Huang Ying Acked-by: Vivek Goyal Cc: "Eric W. Biederman" Cc: Pavel Machek Cc: Nigel Cunningham Cc: "Rafael J. Wysocki" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fccf0326536c1b245b98740d489abb9aab69a12 Author: WANG Cong Date: Fri Jul 25 19:45:02 2008 -0700 kernel/kexec.c: make 'kimage_terminate' void Since kimage_terminate() always returns 0, make it void. Signed-off-by: WANG Cong Signed-off-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1d82698029b92a88f5500b99f66514b6dee2bc3 Author: Alex Dubov Date: Fri Jul 25 19:45:02 2008 -0700 memstick: use fully asynchronous request processing Instead of using a separate thread to pump requests from block layer queue to memstick, do so inline, utilizing the callback design of the memstick. [akpm@linux-foundation.org: fix warnings] Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17017d8d2c005734d7088d8281ce2daab8fcb097 Author: Alex Dubov Date: Fri Jul 25 19:45:01 2008 -0700 memstick: add "start" and "stop" methods to memstick device In some cases it may be desirable to ensure that associated driver is not going to access the media in some period of time. "start" and "stop" methods are provided therefore to allow it. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b77899985bdfd85a8e5a6e485033a9b4713d2471 Author: Alex Dubov Date: Fri Jul 25 19:45:00 2008 -0700 memstick: allow "set_param" method to return an error code Some controllers (Jmicron, for instance) can report temporal failure condition during power-on. It is desirable to account for this using a return value of "set_param" device method. The return value can also be handy to distinguish between supported and unsupported device parameters in run time. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0147600172b4a5d261165d1aa5ef818d84da1557 Author: Michael Halcrow Date: Fri Jul 25 19:45:00 2008 -0700 tpm: Use correct data types for sizes in tpm_write() and tpm_read() Use the correct data types for the size parameters in tpm_write() and tpm_read(). Note that rw_verify_area() makes sure that this bug cannot be exploited to produce a buffer overrun. Signed-off-by: Michael Halcrow Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec288bd37e1925f513db40871bc46115cf7fb733 Author: Marcin Obara Date: Fri Jul 25 19:44:59 2008 -0700 tpm: increase size of internal TPM response buffers This patch increases size of driver internal response buffers. Some TPM responses defined in TCG TPM Specification Version 1.2 Revision 103 have increased size and do not fit previously defined buffers. Some TPM responses do not have fixed size, so bigger response buffers have to be allocated. 200B buffers should be enough. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Marcin Obara Cc: Marcel Selhorst Cc: Kylene Jo Hall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bd60464e3224820bc413c45ea2cc371edc63e9d Author: Adrian Bunk Date: Fri Jul 25 19:44:58 2008 -0700 tpm_bios.c: make 2 structs static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk Acked-by: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 061991ec6edceda48d60f7a53e17b8d3416266ae Author: LE DISEZ Erwan Date: Fri Jul 25 19:44:56 2008 -0700 tpm: add support for Broadcom TPM TIS device HID Signed-off-by: Rajiv Andrade Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adbd321a17ccdd26752b57e68ab0a97a4aebc299 Author: Bernhard Walle Date: Fri Jul 25 19:44:56 2008 -0700 parport_pc: add base_hi BAR for oxsemi_840 Use the 2nd BAR for the oxsemi_840 chip as BAR for base_hi. Tested with: Parallel controller [0701]: Oxford Semiconductor Ltd VScom 011H-EP1 1 port parallel adaptor [1415:8403] (prog-if 03 [IEEE1284]) This patch is needed to make 'TRISTATE' work with that adaptor. Signed-off-by: Bernhard Walle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d99a0344aefbfe991147472d46a6ee1c1a0043de Author: Andre Haupt Date: Fri Jul 25 19:44:55 2008 -0700 parport: remove superfluous local variable Signed-off-by: Andre Haupt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 929dfb24fbcd60e2544b2de7bfb4a68da4dfc747 Author: Adrian Bunk Date: Fri Jul 25 19:44:54 2008 -0700 parport/share.c: proper externs This patch adds proper externs for parport_default_timeslice and parport_default_spintime in include/linux/parport.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f165e4cf2af042af7d2440d688299c0d2a48b1f Author: Dmitri Vorobiev Date: Fri Jul 25 19:44:54 2008 -0700 bfs: kill BKL Replace the BKL-based locking scheme used in the bfs driver by a private filesystem-wide mutex. Signed-off-by: Dmitri Vorobiev Cc: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75b25b4cabb7ce956c36442bf8225659b1864866 Author: Dmitri Vorobiev Date: Fri Jul 25 19:44:52 2008 -0700 bfs: assorted cleanups This patch makes the following cleanups: o removing an unused variable from bfs_fill_super(); o removing unneeded blank spaces from pointer definitions. Signed-off-by: Dmitri Vorobiev Cc: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d135a5d50a08bbc53b189d79d8bdb03136f5303 Author: Matthias Kaehlcke Date: Fri Jul 25 19:44:51 2008 -0700 affs: convert s_bmlock into a mutex The semaphore s_bmlock is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1956a96de488feb05e95c08c9d5e80f63a4be2b1 Author: Alexis Bruemmer Date: Fri Jul 25 19:44:51 2008 -0700 x86 calgary: fix handling of devices that aren't behind the Calgary The calgary code can give drivers addresses above 4GB which is very bad for hardware that is only 32bit DMA addressable. With this patch, the calgary code sets the global dma_ops to swiotlb or nommu properly, and the dma_ops of devices behind the Calgary/CalIOC2 to calgary_dma_ops. So the calgary code can handle devices safely that aren't behind the Calgary/CalIOC2. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexis Bruemmer Signed-off-by: FUJITA Tomonori Cc: Muli Ben-Yehuda Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06 Author: FUJITA Tomonori Date: Fri Jul 25 19:44:49 2008 -0700 dma-mapping: add the device argument to dma_mapping_error() Add per-device dma_mapping_ops support for CONFIG_X86_64 as POWER architecture does: This enables us to cleanly fix the Calgary IOMMU issue that some devices are not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423). I think that per-device dma_mapping_ops support would be also helpful for KVM people to support PCI passthrough but Andi thinks that this makes it difficult to support the PCI passthrough (see the above thread). So I CC'ed this to KVM camp. Comments are appreciated. A pointer to dma_mapping_ops to struct dev_archdata is added. If the pointer is non NULL, DMA operations in asm/dma-mapping.h use it. If it's NULL, the system-wide dma_ops pointer is used as before. If it's useful for KVM people, I plan to implement a mechanism to register a hook called when a new pci (or dma capable) device is created (it works with hot plugging). It enables IOMMUs to set up an appropriate dma_mapping_ops per device. The major obstacle is that dma_mapping_error doesn't take a pointer to the device unlike other DMA operations. So x86 can't have dma_mapping_ops per device. Note all the POWER IOMMUs use the same dma_mapping_error function so this is not a problem for POWER but x86 IOMMUs use different dma_mapping_error functions. The first patch adds the device argument to dma_mapping_error. The patch is trivial but large since it touches lots of drivers and dma-mapping.h in all the architecture. This patch: dma_mapping_error() doesn't take a pointer to the device unlike other DMA operations. So we can't have dma_mapping_ops per device. Note that POWER already has dma_mapping_ops per device but all the POWER IOMMUs use the same dma_mapping_error function. x86 IOMMUs use device argument. [akpm@linux-foundation.org: fix sge] [akpm@linux-foundation.org: fix svc_rdma] [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: fix bnx2x] [akpm@linux-foundation.org: fix s2io] [akpm@linux-foundation.org: fix pasemi_mac] [akpm@linux-foundation.org: fix sdhci] [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: fix sparc] [akpm@linux-foundation.org: fix ibmvscsi] Signed-off-by: FUJITA Tomonori Cc: Muli Ben-Yehuda Cc: Andi Kleen Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c485b465a031b6f9b9a51300e0ee1f86efc6db87 Author: David Howells Date: Fri Jul 25 19:44:47 2008 -0700 pnp: fix the fcpnp_driver declaration to only exist if CONFIG_PNP=y Fix the fcpnp_driver declaration to only exist if CONFIG_PNP=y as it's only accessed in that case. The PNP=n variant was added by 30d55e71a81b1f5a8136f191dc9f4c21f18e77e6 ("hisax: depend on CONFIG_PNP, not __ISAPNP__") Fixes an unused variable warning. Signed-off-by: David Howells Acked-by: Bjorn Helgaas Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 999ed65ad12e374d7445fbc13f5a1d146ae4b0da Author: Rene Herman Date: Fri Jul 25 19:44:47 2008 -0700 pnp: have quirk_system_pci_resources() include io resources quirk_system_pci_resources() disables a PnP mem resource that overlaps a PCI BAR so as to not keep the PCI driver from claiming the resource. Have it do the same for io resources. Here, ACPI claims ports that overlap with my soundcard causing the soundcard driver to fail to load. It's unknown why my ACPI BIOS claims those ports; it did not use to but this is not a (kernel) regression. Some odd BIOS reconfig triggered by temporarily removing the card seems to have brought this on. Signed-off-by: Rene Herman Acked-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00412be1d7bdf451653c7dafeb09f4f83398d756 Author: Rene Herman Date: Fri Jul 25 19:44:45 2008 -0700 isa: set 24-bit dma_mask for ISA devices dma_alloc_coherent() on x86 currently takes a passed in NULL device pointer to mean that it should allocate an ISA compatible (24-bit) buffer which is a bit of a hack. The ALSA ISA drivers are the main consumers of this but have a struct device in fact readily available. For the legacy drivers, this sets the device dma_mask in preparation for using the actual device with the DMA API so as to eventually not need the NULL hack in dma_alloc_coherent(). This does not fix a current bug -- 2.6.26-rc1 stumbled over the NULL hack in dma_alloc_coherent() but this has already been fixed in commit 4a367f3a9dbf2e7ffcee4702203479809236ee6e by Takashi Iwai. Signed-off-by: Rene Herman Cc: Bjorn Helgaas Acked-by: Takashi Iwai Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e86b19ce64a25d39bb0e10e0e695213fc5993dfb Author: Rene Herman Date: Fri Jul 25 19:44:42 2008 -0700 pnp: set the pnp_card dma_mask for use by ISAPnP cards dma_alloc_coherent() on x86 currently takes a passed in NULL device pointer to mean that it should allocate an ISA compatible (24-bit) buffer which is a bit of a hack. The ALSA ISA drivers are the main consumers of this but have a struct device in fact readily available. For the PnP drivers, the specific pnp_dev->dev device pointer is not always available at the right time so for now we want to pass the pnp_card->dev instead which is always available. Set its dma_mask in preparation for doing so. This does not fix a current bug -- 2.6.26-rc1 stumbled over the NULL hack in dma_alloc_coherent() but this has already been fixed in commit 4a367f3a9dbf2e7ffcee4702203479809236ee6e by Takashi Iwai. Signed-off-by: Rene Herman Acked-by: Bjorn Helgaas Acked-by: Takashi Iwai Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c491b2ffae3fad5e6e3cb2320b46bb8ea8729d49 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Jul 25 19:44:41 2008 -0700 asic3: platform_get_irq() may return signed unnoticed asic->irq_nr is unsigned. platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Joe Perches Acked-by: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3c6ba986ab4527b6dfacf9f3b9e40f72466a8b2 Author: Kentaro Makita Date: Fri Jul 25 19:44:40 2008 -0700 vfs: add cond_resched_lock while scanning dentry LRU lists Add cond_resched_lock(&dcache_lock) while scanning LRU lists on superblocks in __shrink_dcache_sb() Signed-off-by: Kentaro Makita Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a76eef9573c93f8f324ebacfd090a3e319a64d59 Author: FUJITA Tomonori Date: Fri Jul 25 19:44:39 2008 -0700 block/blk-map.c: use the new object_is_on_stack() helper Signed-off-by: FUJITA Tomonori Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: Jens Axboe Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2e2e3577c3ef2b5dbb866e97e612aae4adfa32f Author: David Brownell Date: Fri Jul 25 19:44:38 2008 -0700 pm selftest: rtc paranoia Cope with a quirk of some RTCs (notably ACPI ones) which aren't guaranteed to implement oneshot behavior when they woke the system from sleeep: forcibly disable the alarm, just in case. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44ccac13c7f4728cf2992d49384671a176db74dd Author: Adrian Bunk Date: Fri Jul 25 19:44:38 2008 -0700 include/video/atmel_lcdc.h must #include This patch fixes the following compile error caused by commit d22579b837358cbef12ccca5adaf7e93ae09ab7a ("atmel_lcdfb: FIFO underflow management"): In file included from arch/avr32/boards/atstk1000/atstk1004.c:21: include/video/atmel_lcdc.h:40: error: field 'task' has incomplete type Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a21346058ad946134b6ddfeb5de975c3cfcf5da Author: Nishanth Aravamudan Date: Fri Jul 25 19:44:37 2008 -0700 hugetlb: fix CONFIG_SYSCTL=n build Fixes a build failure reported by Alan Cox: mm/hugetlb.c: In function `hugetlb_acct_memory': mm/hugetlb.c:1507: error: implicit declaration of function `cpuset_mems_nr' Also reverts Ingo's commit e44d1b2998d62a1f2f4d7eb17b56ba396535509f Author: Ingo Molnar Date: Fri Jul 25 12:57:41 2008 +0200 mm/hugetlb.c: fix build failure with !CONFIG_SYSCTL which fixed the build error but added some unused-static-function warnings. Signed-off-by: Nishanth Aravamudan Cc: Alan Cox Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16d69265b930f7e2fa9eea381715696f780718f4 Author: Andrew Morton Date: Fri Jul 25 19:44:36 2008 -0700 uninline arch_pick_mmap_layout() Fix this, on avr32: include/linux/utsname.h:35, from init/main.c:20: include/linux/sched.h: In function 'arch_pick_mmap_layout': include/linux/sched.h:2149: error: implicit declaration of function 'PAGE_ALIGN' Reported-by: Adrian Bunk Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c7ad106e779549792deb307242dece6f3499bb9 Author: Andrew Morton Date: Fri Jul 25 19:44:35 2008 -0700 drivers/mmc/host/sdhci.h needs scatterlist.h alpha: drivers/mmc/host/sdhci.h:242: error: field 'sg_miter' has incomplete type Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87a9f704658a40940e740b1d73d861667e9164d3 Author: Adrian Bunk Date: Fri Jul 25 23:03:48 2008 +0300 include/video/atmel_lcdc.h must #include This patch fixes the following compile error caused by commit d22579b837358cbef12ccca5adaf7e93ae09ab7a (atmel_lcdfb: FIFO underflow management): <-- snip --> ... CC arch/avr32/boards/atstk1000/atstk1004.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/avr32/boards/atstk1000/atstk1004.c:21: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/video/atmel_lcdc.h:40: error: field 'task' has incomplete type make[2]: *** [arch/avr32/boards/atstk1000/atstk1004.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 4ef584ba84125b67c17b5aded38e7783cd8cdef0 Author: Russell King Date: Sat Jul 26 15:46:39 2008 +0100 [ARM] fix nwflash.c: 6ee8928d94841aa764aeaf645ad16daff811dc26 drivers/char/nwflash.c: In function 'flash_read': drivers/char/nwflash.c:129: error: 'p' undeclared (first use in this function) drivers/char/nwflash.c:129: error: (Each undeclared identifier is reported only once drivers/char/nwflash.c:129: error: for each function it appears in.) drivers/char/nwflash.c:129: error: 'count' undeclared (first use in this function) drivers/char/nwflash.c:136: warning: passing argument 4 of 'simple_read_from_buffer' discards qualifiers from pointer target type Signed-off-by: Russell King commit bb2b180ca0469a51256d5ad62008b495345ad61f Author: Russell King Date: Sat Jul 26 15:36:03 2008 +0100 [ARM] fix IOP32x, IOP33x, MXC and Samsung builds 7444a72effa632fcd8edc566f880d96fe213c73b caused these platforms to lose their GPIOLIB configuration. Convert the missed Kconfig symbols using: sed -i s/HAVE_GPIO_LIB/ARCH_REQUIRE_GPIOLIB/ arch/arm/Kconfig arch/arm/plat-s3c24xx/Kconfig Signed-off-by: Russell King commit dd438e77f01d024919a8ae81d0cf2e4c6cda79cc Author: Russell King Date: Fri Jul 25 20:55:52 2008 +0100 [ARM] pci: provide dummy pci_get_legacy_ide_irq() This fixes footbridge_defconfig: drivers/pnp/resource.c: In function 'pci_dev_uses_irq': drivers/pnp/resource.c:317: error: implicit declaration of function 'pci_get_legacy_ide_irq' Signed-off-by: Russell King commit 0c65f459ce6c8bd873a61b3ae1e57858ab1debf3 Author: Andrew Morton Date: Wed Jul 23 15:35:22 2008 -0700 [ARM] fix fls() for 64-bit arguments arm's fls() is implemented as a macro, causing it to misbehave when passed 64-bit arguments. Fix. Cc: Nickolay Vinogradov Tested-by: Krzysztof Halasa Cc: Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 9d9fa83beadf0a0c0ee2cd45be6e4a25cb536b67 Author: Russell King Date: Thu Jul 24 11:18:07 2008 +0100 [ARM] fix mode for board-yl-9200.c Xose Vazquez Perez points out that this file should not be marked executable. Reported-by: Xose Vazquez Perez Signed-off-by: Russell King commit e6bb83fd2f39eff3ae3e5ad6cac91d154d7ef3b1 Author: Adrian Bunk Date: Sat Jul 19 17:52:59 2008 +0100 [ARM] 5176/1: arm/Makefile: fix: ARM946T -> ARM946E This patch fixes a typo introduced by commit f37f46eb1c0bd0b11c34ef06c7365658be989d80 ([ARM] nommu: add ARM946E-S core support). Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Acked-by: Hyok S. Choi Signed-off-by: Russell King commit 3a61ec387c9092dfc91a5959145d36835a72fc4c Author: Joerg Roedel Date: Fri Jul 25 13:07:50 2008 +0200 x86, AMD IOMMU: include amd_iommu_last_bdf in device initialization All the values read while searching for amd_iommu_last_bdf are defined as inclusive. Let the code handle this value as such. Found by Wei Wang. Thanks Wei. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Wei Wang Signed-off-by: Ingo Molnar commit 1fe371044b21b226b96a9dd959e971b50b28c78e Author: Ingo Molnar Date: Sat Jul 26 15:09:47 2008 +0200 ftrace: fix modular build fix: ERROR: "start_critical_timings" [drivers/acpi/processor.ko] undefined! ERROR: "stop_critical_timings" [drivers/acpi/processor.ko] undefined! Signed-off-by: Ingo Molnar commit 1ca9fda4b2f3413e4bc748b983f5585629ca0560 Author: Chris McDermott Date: Thu Jul 24 19:06:09 2008 -0700 x86: fix IBM Summit based systems' phys_cpu_present_map on 32-bit kernels x86 kernels on IBM Summit based systems will only online 1 CPU because the phys_cpu_present_map is not set up correctly. Patch below applied to 2.6.26-git10. Signed-off-by: Chris McDermott Tested-by: Tim Pepper Signed-off-by: Ingo Molnar commit 071375bc76ee86e58592f4682030c81d410ddfd9 Author: Ingo Molnar Date: Sat Jul 26 14:52:26 2008 +0200 x86, RDC321x: remove gpio.h complications Remove the include/asm-x86/gpio.h specials, just use the generic version. Signed-off-by: Ingo Molnar commit dcf309974555d17019c6a8e1a425238f17990b71 Author: Steven Rostedt Date: Fri Jul 25 18:00:42 2008 -0400 ftrace: disable tracing on acpi idle calls The acpi idle waits calls local_irq_save and then uses mwait to go into idle. The tracer gets reenabled at local_irq_save but does not detect that the idle allows for wake ups. This patch adds code to disable the tracing when acpi puts the CPU to idle. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1f972768a1df1518f45adb6b8ffbf04fa1c99737 Author: Ingo Molnar Date: Sat Jul 26 13:52:50 2008 +0200 x86, RDC321x: add to mach-default first step to add RDC321x support to the default PC architecture. Signed-off-by: Ingo Molnar commit 2d2009806dd843f3adc0cbbb5d2204980f28111a Author: Robin Getz Date: Sat Jul 26 19:41:40 2008 +0800 Blackfin arch: If we double fault, rather than hang forever, reset Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 9de3a0b6979a4839d67ca840e386ea06acaabe39 Author: Robin Getz Date: Sat Jul 26 19:39:19 2008 +0800 Blackfin arch: When icache is off, make sure people know it Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0d1cdd7ab6e0e7ccaf9f3b1d2afa0ddeead23ccc Author: Sonic Zhang Date: Sat Jul 26 18:54:38 2008 +0800 Blackfin arch: Fix bug - skip single step in high priority interrupt handler instead of disabling all interrupts in single step debugging. Skip single step if event priority of current instruction is higher than that of the first instruction, from which gdb starts single step. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 3a2521fa75359450f5ec7e6b76847f933b7ee680 Author: Mike Frysinger Date: Sat Jul 26 18:52:56 2008 +0800 Blackfin arch: cache the values of vco/sclk/cclk as the overhead of doing so (~24 bytes) is worth avoiding the software mult/div routines Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 377d43e7d07fc9a64eb162c6f70e6d1961604629 Author: Michael Hennerich Date: Sat Jul 26 18:28:03 2008 +0800 Blackfin arch: fix bug - IMDMA is not type struct dma_register TEMP Workaround - avoid access to PERIPHERAL_MAP Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b1b154e503a0e590eb9e189586783dc8750f910e Author: Mike Frysinger Date: Sat Jul 26 18:02:05 2008 +0800 Blackfin arch: check the EXTBANKS field of the DDRCTL1 register to see if we are using both memory banks Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cdec7e50a4896c5197d5575d9ca635eea6825149 Author: David S. Miller Date: Sat Jul 26 02:28:09 2008 -0700 Revert "pkt_sched: sch_sfq: dump a real number of flows" This reverts commit f867e6af94239a04ec23aeec2fcda5aa58e41db7. Based upon discussions between Jarek and Patrick McHardy this is field being set is more a config parameter than a statistic. And we should add a true statistic to provide this information if we really want it. Signed-off-by: David S. Miller commit 36ac26171afa8dbf29226199699fe955d4a0b6f6 Author: Ingo Molnar Date: Sat Jul 26 11:22:33 2008 +0200 crashdump: fix undefined reference to `elfcorehdr_addr' fix build bug introduced by 95b68dec0d5 "calgary iommu: use the first kernels TCE tables in kdump": arch/x86/kernel/built-in.o: In function `calgary_iommu_init': (.init.text+0x8399): undefined reference to `elfcorehdr_addr' arch/x86/kernel/built-in.o: In function `calgary_iommu_init': (.init.text+0x856c): undefined reference to `elfcorehdr_addr' arch/x86/kernel/built-in.o: In function `detect_calgary': (.init.text+0x8c68): undefined reference to `elfcorehdr_addr' arch/x86/kernel/built-in.o: In function `detect_calgary': (.init.text+0x8d0c): undefined reference to `elfcorehdr_addr' make elfcorehdr_addr a generally available symbol. Signed-off-by: Ingo Molnar commit 88bef5a4074e0568cf54df410f41065c06694d8a Merge: 054a3fd... 024e8ac... Author: Ingo Molnar Date: Sat Jul 26 11:26:19 2008 +0200 Merge branch 'linus' into x86/urgent commit 509e2562adfd63964aa30c1ddd9ddf4e57949351 Author: Heiko Carstens Date: Sat Jul 26 02:24:10 2008 -0700 qeth: use dev->ml_priv instead of dev->priv From: Heiko Carstens This makes qeth working again after git commit e3c50d5d25ac09efd9acbe2b2a3e365466de84ed "netdev: netdev_priv() can now be sane again.". Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit 16df845f4566bc252f3e09db12f5c2f22cb44226 Author: Florian Westphal Date: Sat Jul 26 02:21:54 2008 -0700 syncookies: Make sure ECN is disabled ecn_ok is not initialized when a connection is established by cookies. The cookie syn-ack never sets ECN, so ecn_ok must be set to 0. Spotted using ns-3/network simulation cradle simulator and valgrind. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 054a3fd824705543322d787893de9f3755151517 Author: Wang Chen Date: Fri Jul 25 15:44:33 2008 +0800 flag parameters: fix compile error of sys_epoll_create1 GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD vmlinux arch/x86/kernel/built-in.o: In function `sys_call_table': (.rodata+0x8a4): undefined reference to `sys_epoll_create1' make: *** [vmlinux] Error 1 Signed-off-by: Wang Chen Cc: Andrew Morton Cc: Davide Libenzi Cc: Ulrich Drepper Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit ec34c702ca8b7d6f0aa54379c3b0d0ec10b8ff23 Author: Ilpo Järvinen Date: Fri Jul 25 21:45:49 2008 -0700 net: drop unused BUG_TRAP() Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 547b792cac0a038b9dbf958d3c120df3740b5572 Author: Ilpo Järvinen Date: Fri Jul 25 21:43:18 2008 -0700 net: convert BUG_TRAP to generic WARN_ON Removes legacy reinvent-the-wheel type thing. The generic machinery integrates much better to automated debugging aids such as kerneloops.org (and others), and is unambiguous due to better naming. Non-intuively BUG_TRAP() is actually equal to WARN_ON() rather than BUG_ON() though some might actually be promoted to BUG_ON() but I left that to future. I could make at least one BUILD_BUG_ON conversion. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 53e5e96ec18da6f65e89f05674711e1c93d8df67 Author: Ilpo Järvinen Date: Fri Jul 25 21:40:45 2008 -0700 drivers/net: convert BUG_TRAP to generic WARN_ON Removes legacy reinvent-the-wheel type thing. The generic machinery integrates much better to automated debugging aids such as kerneloops.org (and others), and is unambiguous due to better naming. Non-intuively BUG_TRAP() is actually equal to WARN_ON() rather than BUG_ON(). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 024e8ac04453b3525448c31ef39848cf675ba6db Author: Roland McGrath Date: Fri Jul 25 20:00:10 2008 -0700 x86_64: fix ia32 AMD syscall audit fast-path The new code in commit 5cbf1565f29eb57a86a305b08836613508e294d7 has a bug in the version supporting the AMD 'syscall' instruction. It clobbers the user's %ecx register value (with the %ebp value). This change fixes it. Signed-off-by: Roland McGrath commit 1ff8419871ea757ae0298aa296bcff9b2ca48561 Merge: 8d25b36... 7d7e5a6... Author: Linus Torvalds Date: Fri Jul 25 17:40:16 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: ipsec: ipcomp - Decompress into frags if necessary ipsec: ipcomp - Merge IPComp implementations pkt_sched: Fix locking in shutdown_scheduler_queue() commit 8d25b36b77fe32c296ece83e94ca6ae4d17f3e25 Author: Adrian Bunk Date: Sat Jul 26 02:38:00 2008 +0300 MFD_TC6393XB is ARM-only Compile error on other architectures: CC drivers/mfd/tc6393xb.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/mfd/tc6393xb.c: In function ‘tc6393xb_attach_irq’: /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/mfd/tc6393xb.c:324: error: implicit declaration of function ‘set_irq_flags’ ... Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit e89f38218ff6de09983bd8769ec0cdf6e70d9e8e Merge: 7b35fa8... fc532f8... Author: Linus Torvalds Date: Fri Jul 25 17:34:00 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix boot problem due to AT_BASE_PLATFORM change commit 7b35fa86e47f83db27056b202463d926ff0a2c8f Merge: 29ca069... f1373da... Author: Linus Torvalds Date: Fri Jul 25 17:33:34 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: sparc: Wire up new system calls. commit 29ca069cc6572cce62e42a27efdab01f50190616 Merge: b4615e6... 3e4d0ca... Author: Linus Torvalds Date: Fri Jul 25 17:29:03 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Wire up new system calls commit b4615e69b6c6353878b734a8202b65efbc554df4 Author: Harvey Harrison Date: Fri Jul 25 13:19:22 2008 -0700 sys_paccept definition missing __user annotation Introduced by commit aaca0bdca573f3f51ea03139f9c7289541e7bca3 ("flag parameters: paccept"): net/socket.c:1515:17: error: symbol 'sys_paccept' redeclared with different type (originally declared at include/linux/syscalls.h:413) - incompatible argument 4 (different address spaces) Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit fc532f810832beb3306b42526a78f411972281c7 Author: Nathan Lynch Date: Fri Jul 25 17:50:30 2008 -0500 powerpc: Fix boot problem due to AT_BASE_PLATFORM change Commit 9115d13453dee22473a1e8cacc90a8d64a9c4bc9 ("powerpc: Enable AT_BASE_PLATFORM aux vector") broke boot on 32-bit powerpc systems; we have to use PTRRELOC to initialize powerpc_base_platform this early in boot. Bug reported by Jon Smirl. Signed-off-by: Nathan Lynch Signed-off-by: Benjamin Herrenschmidt commit f1373da87be917e5b2356af44764620487376a07 Author: David S. Miller Date: Fri Jul 25 15:18:31 2008 -0700 sparc: Wire up new system calls. This wires up the recently added Wire up signalfd4, eventfd2, epoll_create1, dup3, pipe2, and inotify_init1 system calls. Signed-off-by: David S. Miller commit 56b2f0706d82535fd8d85503f2dcc0be40c8e55d Author: Sebastian Siewior Date: Wed Jul 2 00:18:08 2008 +0200 setlocalversion: do not describe if there is nothing to describe Jan Engelhardt wrote: > Just a note that when you run git-describe, you should probably quiten it. > > fatal: cannot describe 'bd7364a0fd5a4a2878fe4a224be1b142a4e6698e' > > This happens when tags are not present, which can happen if Linus's tree > is sent upwards again, IOW: > > machine1$ git-clone torvalds/linux-2.6.git > machine1$ git push elsewhere master > > machine2$ git-clone elsewhere:/linux > machine2$ git-describe HEAD > fatal: cannot describe that Signed-off-by: Sebastian Siewior Acked-by: Jan Engelhardt Signed-off-by: Sam Ravnborg commit 12d2b8f951063076c7e0acdff7ae1fecd54920a0 Author: Heikki Orsila Date: Sun Jul 6 15:48:02 2008 +0300 kconfig: fix typos: "Suport" -> "Support" Signed-off-by: Heikki Orsila Signed-off-by: Sam Ravnborg commit 09748e178b6cb8d3b8a748d0159aa7ad8eadcbe1 Author: Sam Ravnborg Date: Mon Jun 30 23:02:59 2008 +0200 kconfig: make defconfig is no longer chatty make defconfig generated a lot of output then noone actually read. Use conf_set_all_new_symbols() to generate the default configuration and avoid the chatty output. A typical run now looks like this: $ make defconfig *** Default configuration is based on 'i386_defconfig' arch/x86/configs/i386_defconfig:13:warning: trying to assign nonexistent symbol SEMAPHORE_SLEEPERS arch/x86/configs/i386_defconfig:176:warning: trying to assign nonexistent symbol PREEMPT_BKL ... arch/x86/configs/i386_defconfig:1386:warning: trying to assign nonexistent symbol INSTRUMENTATION $ As an added benefit we now clearly see the warnings generated in the start of the process. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit cd9140e1e73a31fd45f1fd4585260643a2f9ab1d Author: Sam Ravnborg Date: Mon Jun 30 22:53:04 2008 +0200 kconfig: make oldconfig is now less chatty Previously when running "make oldconfig" we saw all the propmt lines from kconfig and noone actully read this. With this patch the user will only see output if there is new symbols. This will be seen as "make oldconfig" runs which does not generate any output. A typical run now looks like this: $ make oldconfig scripts/kconfig/conf -o arch/x86/Kconfig $ If a new symbol is found then we restart the config process like this: $ make oldconfig scripts/kconfig/conf -o arch/x86/Kconfig * * Restart config... * * * General setup * Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y Local version - append to kernel release (LOCALVERSION) [] ... The bahaviour is similar to what we know when running the implicit oldconfig target "make silentoldconfig". "make silentoldconfig" are run as part of the kernel build process if the configuration has changed. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit f443d2eccf077afd8a839cc7ed66cc4d520c5f05 Author: Sam Ravnborg Date: Mon Jun 30 22:45:38 2008 +0200 kconfig: speed up all*config + randconfig Drop the chatty mode when we generate the all*config, randconfig configurations. Ths speeds up the process considerably and noone looked at the output anyway. This patch uses the conf_set_all_new_symbols() function just added to kconfig. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit dc7862e5a65b9b9e0aad448398b4f652c49c9350 Author: Roman Zippel Date: Tue May 6 04:55:55 2008 +0200 kconfig: set all new symbols automatically Add conf_set_all_new_symbols() which set all symbols (which don't have a value yet) to a specifed value. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit a717417e7f96ad2c6c3d80cdd0836e49597399a3 Author: Tim Bird Date: Tue Jun 24 10:56:06 2008 -0700 kconfig: add diffconfig utility Diffconfig is a simple utility for comparing two kernel configuration files. See usage in the script for more info. Signed-off-by: Tim Bird Signed-off-by: Sam Ravnborg commit c28ca3aaa1f08877ac0da7efcfead71a08490d65 Author: Alexey Dobriyan Date: Mon Jun 23 04:05:40 2008 +0400 kbuild: remove Module.markers during mrproper Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg commit a887a07d51be6c7cd2c4c373cd17273158d6a85d Author: Geert Uytterhoeven Date: Fri Jun 20 15:45:12 2008 +0200 kbuild: sparse needs CF not CHECKFLAGS Documentation/sparse.txt tells to use: make C=2 CHECKFLAGS="-D__CHECK_ENDIAN__" However, this still doesn't enable endian checks. The correct syntax is: make C=2 CF="-D__CHECK_ENDIAN__" This documentation bug was introduced by the following commit: commit 1c7bafe7206d928eaccbcbd08d868733e0fb7054 Author: Robert P. J. Day Date: Wed Sep 13 07:57:50 2006 -0400 kbuild: clarify "make C=" build option Clarify the use of "make C=" in the top-level Makefile, and fix a typo in the Documentation file. Signed-off-by: Sam Ravnborg This `typo' was not a typo, as `CF' had been introduced much earlier, by: commit 7b49bb9aff8b14d15da58111d8908c877c0a525e Author: viro@ZenIV.linux.org.uk Date: Fri Sep 9 21:14:35 2005 +0100 [PATCH] kbuild: CF= passes arguments to sparse Allows to add to sparse arguments without mutilating makefiles - just pass CF= and they will be added to CHECKFLAGS. Signed-off-by: Al Viro Signed-off-by: Sam Ravnborg Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit 74fc5c653c5d0f9d4d70499709a68e61c4acf991 Author: Randy Dunlap Date: Thu Jun 19 16:03:29 2008 -0700 kernel-doc: handle/strip __init Handle __init in functions with kernel-doc notation by stripping the __init away from the output doc. This is already being done for "__devinit". This patch fixes these kernel-doc error/aborts: Error(linux-next-20080619//drivers/usb/gadget/config.c:132): cannot understand prototype: 'struct usb_descriptor_header **__init usb_copy_descriptors(struct usb_descriptor_header **src) ' Error(linux-next-20080619//drivers/usb/gadget/config.c:182): cannot understand prototype: 'struct usb_endpoint_descriptor *__init usb_find_endpoint( struct usb_descriptor_header **src, struct usb_descriptor_header **copy, struct usb_endpoint_descriptor *match ) ' Signed-off-by: Randy Dunlap Cc: David Brownell Signed-off-by: Sam Ravnborg commit fb5e2b379732e1a6ea32392980bb42e0212db842 Author: Jan Beulich Date: Wed Jun 18 12:36:01 2008 +0100 vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section Due to the addition of __attribute__((__cold__)) to a few symbols without adjusting the linker scripts, those symbols currently may end up outside the [_stext,_etext) range, as they get placed in .text.unlikely by (at least) gcc 4.3.0. This may confuse code not only outside of the kernel, symbol_put_addr()'s BUG() could also trigger. Hence we need to add .text.unlikely (and for future uses of __attribute__((__hot__)) also .text.hot) to the TEXT_TEXT() macro. Issue observed by Lukas Lipavsky. Signed-off-by: Jan Beulich Tested-by: Lukas Lipavsky Cc: Signed-off-by: Sam Ravnborg commit 37a4c940749670671adab211a2d9c9fed9f3f757 Author: S.ÇaÄŸlar Onur Date: Wed Jun 18 11:45:13 2008 +0300 init: fix URL of "The GNU Accounting Utilities" Following patch corrects URL of "The GNU Accounting Utilities" in init/Kconfig. Noticed by: Bart Van Assche" Signed-off-by: S.ÇaÄŸlar Onur Signed-off-by: Sam Ravnborg commit 5e4786f75d885dd1a5f9fe12f3385ece7656b0c9 Author: Sam Ravnborg Date: Sun Jun 22 21:48:26 2008 +0200 kbuild: add arch/$ARCH/include to search path This patch conclude the support for arch/$ARCH/include Note: The individual architectures will most likely require a few minor patches to support locating header files in arch/$ARCH/include Testing shows that it worked out-of-the-box for sparc. x86 required a few trivial changes in the arch specific Makefile and a few include paths had to be adjusted. Signed-off-by: Sam Ravnborg commit 2e57d051160dd61776461637f767df19036b1186 Author: Sam Ravnborg Date: Sun Jun 22 21:42:06 2008 +0200 kbuild: asm symlink support for arch/$ARCH/include Adjust the asm symlink support so we do not create the symlink unless really needed. We check the precense of include/asm-$ARCH by checking for the system.h file. We may end up with a stale directory so it is not enough to check if the directory is present. Signed-off-by: Sam Ravnborg commit a53ce098a763a33311b60c53161572f5789d5594 Author: Sam Ravnborg Date: Sun Jun 22 21:41:13 2008 +0200 kbuild: support arch/$ARCH/include for tags, cscope Signed-off-by: Sam Ravnborg commit 2fb9b1bd9dd7f4455407dc1bec74fb8ae0d3138e Author: Sam Ravnborg Date: Sat Jun 21 00:24:17 2008 +0200 kbuild: prepare headers_* for arch/$ARCH/include Factor out the headers_*_all support to a seperate shell script and add support for arch specific header files can be located in either arch/$ARCH/include/asm or include/asm-$ARCH/ In "make help" always display the headers_* targets. Signed-off-by: Sam Ravnborg commit db1bec4f5271d7799d481cd4d95fdc268bdd7614 Author: Sam Ravnborg Date: Mon Jun 16 21:29:38 2008 +0200 kbuild: install all headers when arch is changed We see some header files that are selected dependent on the actual architecture so force a reinstallation of all header files when the arch changes. This slows down "make headers_check_all" but then we better reflect reality. Signed-off-by: Sam Ravnborg commit 6b36ab27d7161bc233e014ff38d8b17ae9975dee Author: Alexey Dobriyan Date: Sat Jun 7 01:47:09 2008 +0400 kbuild: make clean removes *.o.* as well Those are left presumably from aborted ccache(1) compilations: arch/x86/kernel/.tmp_io_apic_64.o.T5veul arch/x86/kvm/.tmp_x86.o.SZWn69 arch/x86/mm/.tmp_pgtable.o.sL1LTf drivers/ieee1394/.tmp_ieee1394_transactions.o.bUj6o1 drivers/infiniband/hw/mlx4/.tmp_main.o.vy0ep6 BTW, with git there is nice way to check for such nuisainces: make mrproper git-ls-files -o should give empty output. More precise wildcard spec from: Jan Engelhardt Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg Cc: Jan Engelhardt commit 7712401ae9006fc9d9b9a3e7861dc73781429a89 Author: Sam Ravnborg Date: Sun Jun 15 21:41:09 2008 +0200 kbuild: optimize headers_* targets Move the core functionality of headers_install and headers_check to two small perl scripts. The makefile is adapted to use the perl scrip and changed to operate on all files in a directory. So if one file is changed then all files in the directory is processed. perl were chosen for the helper scripts because this is pure text processing which perl is good at and especially the headers_check.pl script are expected to see changes / new checks implmented. The speed is ~300% faster on this box. And the output generated to the screen is now down to two lines per directory (one for install, one for check) so it is easier to scroll back after a kernel build. The perl scripts has been brought to sanity by patient feedback from: Vegard Nossum Signed-off-by: Sam Ravnborg commit 88181ec30f58a28cd78b26aaac38bef4062b23dc Author: Sam Ravnborg Date: Mon Jun 9 21:24:28 2008 +0200 kbuild: only one call for include/ in make headers_* Move it to the top-level file to decide if we install/check the generic headers or the arch specific headers. This revealed a long standing bug where "make headers_check_all" relied on the files in asm/ for the current architecture. So make headers_check_all is now broken by this commit. In addition: o add a simpler way to detect if an arch support exporting header files. o add 'set -e;' so we error out early if make headers_check_all fails. o add sparc64 and cris to arch we do not process in make headers_*_all because: sparc64 - use sparc to export headers cris - is know seriously broken Includes suggestions from: David Woodhouse . Signed-off-by: Sam Ravnborg Cc: David Woodhouse commit f6ecd4c84a279a7c82f45687a612302becd7b844 Author: Sam Ravnborg Date: Sun Jun 8 12:28:22 2008 +0200 kbuild: error out early in make headers_install Fix the a.out.h case by setting SRCARCH and error out early in case of an error. The a.out.h case failed with the *_all targets. Signed-off-by: Sam Ravnborg commit 62284a37dcd6725921410fb75446d270cc726b4f Author: Sam Ravnborg Date: Sat Jun 7 13:18:26 2008 +0200 kbuild: code refactoring in Makefile.headerinst No functional changes just improved readability Signed-off-by: Sam Ravnborg commit 283039fb7ded6b863eacc9cfd67232297622e52d Author: Sam Ravnborg Date: Thu Jun 5 19:19:47 2008 +0200 kbuild: drop support of ALTARCH for headers_* ALTARCH is no longer used by any arch(*) so drop support for this from Makefile.headerinst Dropping ALTARCH support simplifies Makefile.headerinst (*) sparc64 uses it but work is ongoing to drop it and no furter usage is planned. Signed-off-by: Sam Ravnborg Cc: David Woodhouse Cc: David Miller commit 4e420aa94c9e6974533797efd1dd93e779d490c3 Author: Sam Ravnborg Date: Thu Jun 5 16:52:15 2008 +0200 kbuild: always unifdef files in headers_install* unifdef utility is fast enough to warrant that we always run the scripts through unifdef. This patch runs all headers listed with header-y and unifdef-y through unifdef. Next step is to drop unifdef-y in all Kbuild files and that can now be done in smaller steps. Signed-off-by: Sam Ravnborg Cc: David Woodhouse Cc: Adrian Bunk commit e6883b187920e71ae57bbc9c07885afdd83ddc4e Author: Sam Ravnborg Date: Thu Jun 5 16:43:46 2008 +0200 kbuild: refactor headers_* targets in Makefile o Use lower case for local variables o Add a helper target for common targets o Use $(hdr-inst)= ... to make Make invocations simpler o Add -rR to make invocations In total this adds more lines than it removes but the benefit is better readability Signed-off-by: Sam Ravnborg Cc: David Woodhouse commit ff5d48a6d18d09bb750d1f89f6464f5fdb6fc85b Merge: 762b829... a29ccf6... Author: Linus Torvalds Date: Fri Jul 25 12:02:08 2008 -0700 Merge git://git.infradead.org/embedded-2.6 * git://git.infradead.org/embedded-2.6: Make console charset translation optional commit 762b8291be6944bd891fbe2c8976a2b2e5bbc726 Merge: c6af5e9... 7dcf2a9... Author: Linus Torvalds Date: Fri Jul 25 12:01:37 2008 -0700 Merge git://git.infradead.org/~dwmw2/random-2.6 * git://git.infradead.org/~dwmw2/random-2.6: remove dummy asm/kvm.h files firmware: create firmware binaries during 'make modules'. commit c6af5e9f8a57467df2e55e428316a43480174521 Author: Johannes Weiner Date: Fri Jul 25 15:48:04 2008 +0200 bootmem: Move node allocation macros back to !HAVE_ARCH_BOOTMEM_NODE These got unintentionally moved, put them back as x86 provides its own versions. Signed-off-by: Johannes Weiner Signed-off-by: Linus Torvalds commit 7dcf2a9fced59e58e4694cdcf15850c01fdba89b Author: Adrian Bunk Date: Tue Jul 1 19:27:16 2008 +0300 remove dummy asm/kvm.h files This patch removes the dummy asm/kvm.h files on architectures not (yet) supporting KVM and uses the same conditional headers installation as already used for a.out.h . Also removed are superfluous install rules in the s390 and x86 Kbuild files (they are already in Kbuild.asm). Signed-off-by: Adrian Bunk Acked-by: Sam Ravnborg Signed-off-by: David Woodhouse commit 9b81361631bbb1d85c99ddec677d42afe516737b Author: Ingo Molnar Date: Fri Jul 25 13:02:37 2008 +0200 signalfd: fix undefined reference to `compat_sys_signalfd4' when !CONFIG_SIGNALFD fix: arch/x86/ia32/built-in.o: In function `ia32_sys_call_table': (.rodata+0xa38): undefined reference to `compat_sys_signalfd4' on !CONFIG_SIGNALFD. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e44d1b2998d62a1f2f4d7eb17b56ba396535509f Author: Ingo Molnar Date: Fri Jul 25 12:57:41 2008 +0200 mm/hugetlb.c: fix build failure with !CONFIG_SYSCTL on !CONFIG_SYSCTL on x86 with latest -git i get: mm/hugetlb.c: In function 'decrement_hugepage_resv_vma': mm/hugetlb.c:83: error: 'reserve' undeclared (first use in this function) mm/hugetlb.c:83: error: (Each undeclared identifier is reported only once mm/hugetlb.c:83: error: for each function it appears in.) Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 44463f7dd6c8039904333e4374e5c6e9ad83006f Author: David Woodhouse Date: Fri Jul 25 14:17:19 2008 -0400 firmware: create firmware binaries during 'make modules'. This means that we no longer need write access to the source tree while doing 'make modules_install'. Signed-off-by: David Woodhouse commit f05e21b39f7dddcebab03ff329fef5783fea58d4 Author: Stefan Richter Date: Fri Jul 25 16:24:19 2008 +0200 firewire: state userland requirements in Kconfig help Signed-off-by: Stefan Richter commit c0220d686b926a5865a2032c805015758bfdda69 Author: Stefan Richter Date: Tue Jul 22 21:35:47 2008 +0200 firewire: avoid memleak after phy config transmit failure Use only statically allocated data for PHY config packet transmission. With the previous incarnation, some data wouldn't be freed if the packet transmit callback was never called. A theoretical drawback now is that, in PCs with more than one card, card A may complete() for a waiter on card B. But this is highly unlikely and its impact not serious. Bus manager B may reset bus B before the PHY config went out, but the next phy config on B should be fine. However, with a timeout of 100ms, this situation is close to impossible. Signed-off-by: Stefan Richter commit 5047887caf1806f31652210df27fb62a7c43f27d Merge: 996abf0... 973b7d8... Author: Linus Torvalds Date: Fri Jul 25 11:08:17 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (34 commits) powerpc: Wireup new syscalls Move update_mmu_cache() declaration from tlbflush.h to pgtable.h powerpc/pseries: Remove kmalloc call in handling writes to lparcfg powerpc/pseries: Update arch vector to indicate support for CMO ibmvfc: Add support for collaborative memory overcommit ibmvscsi: driver enablement for CMO ibmveth: enable driver for CMO ibmveth: Automatically enable larger rx buffer pools for larger mtu powerpc/pseries: Verify CMO memory entitlement updates with virtual I/O powerpc/pseries: vio bus support for CMO powerpc/pseries: iommu enablement for CMO powerpc/pseries: Add CMO paging statistics powerpc/pseries: Add collaborative memory manager powerpc/pseries: Utilities to set firmware page state powerpc/pseries: Enable CMO feature during platform setup powerpc/pseries: Split retrieval of processor entitlement data into a helper routine powerpc/pseries: Add memory entitlement capabilities to /proc/ppc64/lparcfg powerpc/pseries: Split processor entitlement retrieval and gathering to helper routines powerpc/pseries: Remove extraneous error reporting for hcall failures in lparcfg powerpc: Fix compile error with binutils 2.15 ... Fixed up conflict in arch/powerpc/platforms/52xx/Kconfig manually. commit 996abf053eec4d67136be8b911bbaaf989cfb99c Merge: 93082f0... d37e6bf... Author: Linus Torvalds Date: Fri Jul 25 11:02:17 2008 -0700 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 * 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6: (22 commits) UBI: always start the background thread UBI: fix gcc warning UBI: remove pre-sqnum images support UBI: fix kernel-doc errors and warnings UBI: fix checkpatch.pl errors and warnings UBI: bugfix - do not torture PEB needlessly UBI: rework scrubbing messages UBI: implement multiple volumes rename UBI: fix and re-work debugging stuff UBI: amend commentaries UBI: fix error message UBI: improve mkvol request validation UBI: add ubi_sync() interface UBI: fix 64-bit calculations UBI: fix LEB locking UBI: fix memory leak on error path UBI: do not forget to free internal volumes UBI: fix memory leak UBI: avoid unnecessary division operations UBI: fix buffer padding ... commit 93082f0b15841b8926c38ef224d0e6f720000635 Author: Linus Torvalds Date: Fri Jul 25 10:56:36 2008 -0700 Fix ahci driver 'flags' type The new type checking of the flags arguments to irqsave and friends (commit 3f307891ce0e7b0438c432af1aacd656a092ff45) pointed out this thing with a big nice warning. Signed-off-by: Linus Torvalds commit f87bd330edf06fd49b3fbc368d90fb180375f2a2 Author: Dave Jiang Date: Fri Jul 25 01:49:14 2008 -0700 edac: mpc85xx fix pci ofdev 2nd pass Convert PCI err device from platform to open firmware of_dev to comply with powerpc schemes. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcb19171d196172a4f57e056f7a60e6d1e2e8c85 Author: Dave Jiang Date: Fri Jul 25 01:49:14 2008 -0700 edac: mv64x60 add pci fixup Fixup of missing bit 0 on 64360 PCIx_ERR_MASK and errata FEr-#11 and FEr-#16 for the 64460. Bit 0 must remain 0. Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596d3941035d4d4b484c820f10f57fd4816c6615 Author: Dave Jiang Date: Fri Jul 25 01:49:13 2008 -0700 edac: mv64x60 fix get_property Update get_property() call to use of_get_property() in order to fix compile Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10d33e9c36827e5371479e55ef4089e000af2638 Author: Doug Thompson Date: Fri Jul 25 01:49:12 2008 -0700 edac: e752x fix too loud on nonmemory errors This module harvests more than just memory errors, it also harvests various bus and dma errors that the Chipset detects. Previously, it would report all such errors, which would cause output to be TOO loud. This patches therefore adds a parameter which is used to turn off NON-MEMORY error reports by default. Or the reporting can be enabled via the parameter Also did code style cleanup: less than 80 characters per line rule Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 124682c78563e10ba8b2ecd21b0f1098903b7808 Author: Arthur Jones Date: Fri Jul 25 01:49:12 2008 -0700 edac: core fix added newline to sysfs dimm labels The channel DIMM label does not seem to be used much in the edac code. However, where it is used (in the core code), it is assumed to not have a newline embedded. This leaves the sysfs file newline free which looks funny when cat'ing it. Here we just add the trailing newline to the sysfs chX_dimm_label output... [Doug Thompson note: the DIMM label is one of the primary uses of EDAC. User space daemon scripts, edac-utils@sourceforge, populate the DIMM label fields, via /sys/devices/system/edac attributes, with the silk screen labels of the motherboard in use. dmidecode access BIOS tables, but BIOS tables are well known to be incorrect and useless in these respects. edac-utils will strip off any newlines before its use of the output, when displaying DIMM slot silk screen labels. Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9fc82adca43d38a1b79128d80750bd361e15abe Author: Arthur Jones Date: Fri Jul 25 01:49:11 2008 -0700 edac: core fix static to dynamic kset Static kobjects and ksets are not supported in Linux kernel. Convert the mc_kset from static to dynamic. This patch depends on my previous patch to remove the module parameter attributes from mc... Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 327dafb1c61c9da7b95ac6cc7634a2340cc9509c Author: Arthur Jones Date: Fri Jul 25 01:49:10 2008 -0700 edac: core fix redundant sysfs controls to parameters /sys/devices/system/edac/mc has a few files which are duplicated in /sys/module/edac_core/parameters. Now that all the functionality is duplicated between these two locations, we remove the former kobject attributes and update the documentation. Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 096846e2b0ef39cb7c348f837f06984ef6ba8aa7 Author: Arthur Jones Date: Fri Jul 25 01:49:09 2008 -0700 edac: core fix workq timer When updating the edac_mc_poll_msec module parameter from the sysfs /sys/module/edac_core/parameters/edac_mc_poll_msec file, we don't update the workq timers. So that, if we move from a big poll time to a small one, the small one won't take effect until the big one has timed out. Here we provide a new module parameter set method to call out to the update routine. This brings the /sys/module/edac_core/parameters functionality up to that provided by the /sys/drivers/system/edac/mc sysfs module parameter files so that we can remove them or at least link to the /sys/module files... Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14cc571bb1d072d3f4be2875ea520ab03e093471 Author: Arthur Jones Date: Fri Jul 25 01:49:08 2008 -0700 edac: core fix to use dynamic kobject Static kobjects are not supported in linux kernel. Convert the edac_pci_top_main_kobj from static to dynamic. This avoids the double free of the edac_pci_top_main_kobj.name that we see on module reload of the e752x edac driver (and probably others as well). In addition Greg KH has pointed out that this code may be cleaned up significantly. I will look at that as a follow-on patch, for now, I just want the minimum fix to get this double-free oops bug squashed... Many thanks to Greg KH for his patience in showing me what the Documentation/kobject.txt already said (oops)... Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b238e57723a6fb2c365fc35de5d7c48ccf9300cd Author: Arthur Jones Date: Fri Jul 25 01:49:08 2008 -0700 edac: i5100: cleanup Some code cleanliness issues found by Andrew Morton (thanks!) which should not affect functionality, but which should help make the code more maintainable. In particular, we now: * convert all #define's w/ a parameter to static inlines * use 1UL rather than 1ULL when calculating an unsigned long * use pci_disable_device The resulting code is tested and seems to work fine... Signed-off-by: Arthur Jones Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 178d5a742291976d13bff55fa2b130879d4510de Author: Arthur Jones Date: Fri Jul 25 01:49:06 2008 -0700 edac: i5100 fix unmask ecc bits Explicitly unmask ECC errors we are interested in reporting. Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43920a598f9358a12eb59eeddc4cd950f03aea8c Author: Arthur Jones Date: Fri Jul 25 01:49:06 2008 -0700 edac: i5100 fix enable ecc hardware It is possible that the BIOS did not enable ECC at boot time. We check for that case and fail to load if it is true. Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7952ffcffa88c9a3fa92c26081f4ec9143c680f Author: Arthur Jones Date: Fri Jul 25 01:49:05 2008 -0700 edac: i5100 fix missing bits The error mask we use to trigger ECC notifications is missing many bits of interest. We add these bits here so that all possible ECC errors can be reported. Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f421c595a9145959d8aab09172743132abdffdb Author: Arthur Jones Date: Fri Jul 25 01:49:04 2008 -0700 edac: i5100 new intel chipset driver Preliminary support for the Intel 5100 MCH. CE and UE errors are reported along with the current DIMM label information and other memory parameters. Reasons why this is preliminary: 1) This chip has 2 independent memory controllers which, for best perforance, use interleaved accesses to the DDR2 memory. This architecture does not map very well to the current edac data structures which depend on symmetric channel access to the interleaved data. Without core changes, the best I could do for now is to map both memory controllers to different csrows (first all ranks of controller 0, then all ranks of controller 1). Someone much more familiar with the edac core than I will probably need to come up with a more general data structure to handle the interleaving and de-interleaving of the two memory controllers. 2) I have not yet tackled the de-interleaving of the rank/controller address space into the physical address space of the CPU. There is nothing fundamentally missing, it is just ending up to be a lot of code, and I'd rather keep it separate for now, esp since it doesn't work yet... 3) The code depends on a particular i5100 chip select to DIMM mainboard chip select mapping. This mapping seems obvious to me in order to support dual and single ranked memory, but it is not unique and DIMM labels could be wrong on other mainboards. There is no way to query this mapping that I know of. 4) The code requires that the i5100 is in 32GB mode. Only 4 ranks per controller, 2 ranks per DIMM are supported. I do not have hardware (nor do I expect to have hardware anytime soon) for the 48GB (6 ranks per controller) mode. 5) The serial presence detect code should be broken out into a "real" i2c driver so that decode-dimms.pl can work. Signed-off-by: Arthur Jones Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48e90761b570ff57f58b726229d229729949c5bb Author: Miklos Szeredi Date: Fri Jul 25 01:49:02 2008 -0700 fuse: lockd support If fuse filesystem doesn't define it's own lock operations, then allow the lock manager to work with fuse. Adding lockd support for remote locking is also possible, but more rarely used, so leave it till later. Signed-off-by: Miklos Szeredi Cc: "J. Bruce Fields" Cc: Trond Myklebust Cc: Matthew Wilcox Cc: David Teigland Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33670fa296860283f04a7975b8c790f101e43a6e Author: Miklos Szeredi Date: Fri Jul 25 01:49:02 2008 -0700 fuse: nfs export special lookups Implement the get_parent export operation by sending a LOOKUP request with ".." as the name. Implement looking up an inode by node ID after it has been evicted from the cache. This is done by seding a LOOKUP request with "." as the name (for all file types, not just directories). The filesystem can set the FUSE_EXPORT_SUPPORT flag in the INIT reply, to indicate that it supports these special lookups. Thanks to John Muir for the original implementation of this feature. Signed-off-by: Miklos Szeredi Cc: "J. Bruce Fields" Cc: Trond Myklebust Cc: Matthew Wilcox Cc: David Teigland Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c180eebe1390c2076ead6a9bc95a02efb994edb7 Author: Miklos Szeredi Date: Fri Jul 25 01:49:01 2008 -0700 fuse: add fuse_lookup_name() helper Add a new helper function which sends a LOOKUP request with the supplied name. This will be used by the next patch to send special LOOKUP requests with "." and ".." as the name. Signed-off-by: Miklos Szeredi Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbd561d236ff16f8143bc727d91758ddd190e8cb Author: Miklos Szeredi Date: Fri Jul 25 01:49:00 2008 -0700 fuse: add export operations Implement export_operations, to allow fuse filesystems to be exported to NFS. This feature has been in the out-of-tree fuse module, and is widely used and tested. It has not been originally merged into mainline, because doing the NFS export in userspace was thought to be a cleaner and more efficient way of doing it, than through the kernel. While that is true, it would also have involved a lot of duplicated effort at reimplementing NFS exporting (all the different versions of the protocol). This effort was unfortunately not undertaken by anyone, so we are left with doing it the easy but less efficient way. If this feature goes in, the out-of-tree fuse module can go away, which would have several advantages: - not having to maintain two versions - less confusion for users - no bugs due to kernel API changes Comment from hch: - Use the same fh_type values as XFS, since we use the same fh encoding. Signed-off-by: Miklos Szeredi Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0de6256daafa3a97a269995e9b29f956bd419bbf Author: Miklos Szeredi Date: Fri Jul 25 01:48:59 2008 -0700 fuse: prepare lookup for nfs export Use d_splice_alias() instead of d_add() in fuse lookup code, to allow NFS exporting. Signed-off-by: Miklos Szeredi Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 764c76b371722e0cba5c24d91225f0f954b69d44 Author: Miklos Szeredi Date: Fri Jul 25 01:48:58 2008 -0700 locks: allow ->lock() to return FILE_LOCK_DEFERRED Allow filesystem's ->lock() method to call posix_lock_file() instead of posix_lock_file_wait(), and return FILE_LOCK_DEFERRED. This makes it possible to implement a such a ->lock() function, that works with the lock manager, which needs the call to be asynchronous. Now the vfs_lock_file() helper can be used, so this is a cleanup as well. Signed-off-by: Miklos Szeredi Cc: "J. Bruce Fields" Cc: Trond Myklebust Cc: Matthew Wilcox Cc: David Teigland Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b648a6de00770cc325c22f43bdd4e935f6a2ee55 Author: Miklos Szeredi Date: Fri Jul 25 01:48:57 2008 -0700 locks: cleanup code duplication Extract common code into a function. Signed-off-by: Miklos Szeredi Cc: "J. Bruce Fields" Cc: Trond Myklebust Cc: Matthew Wilcox Cc: David Teigland Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bde74e4bc64415b142e556a34d295a52a1b7da9d Author: Miklos Szeredi Date: Fri Jul 25 01:48:57 2008 -0700 locks: add special return value for asynchronous locks Use a special error value FILE_LOCK_DEFERRED to mean that a locking operation returned asynchronously. This is returned by posix_lock_file() for sleeping locks to mean that the lock has been queued on the block list, and will be woken up when it might become available and needs to be retried (either fl_lmops->fl_notify() is called or fl_wait is woken up). f_op->lock() to mean either the above, or that the filesystem will call back with fl_lmops->fl_grant() when the result of the locking operation is known. The filesystem can do this for sleeping as well as non-sleeping locks. This is to make sure, that return values of -EAGAIN and -EINPROGRESS by filesystems are not mistaken to mean an asynchronous locking. This also makes error handling in fs/locks.c and lockd/svclock.c slightly cleaner. Signed-off-by: Miklos Szeredi Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Matthew Wilcox Cc: David Teigland Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc77b1521d06be07c9bb1a4a3e1f775dcaa15093 Author: Miklos Szeredi Date: Fri Jul 25 01:48:55 2008 -0700 lockd: dont return EAGAIN for a permanent error Fix nlm_fopen() to return NLM_FAILED (or NLM_LCK_DENIED_NOLOCKS) instead of NLM_LCK_DENIED. The latter means the lock request failed because of a conflicting lock (i.e. a temporary error), which is wrong in this case. Also fix the client to return ENOLCK instead of EAGAIN if a blocking lock request returns with NLM_LOCK_DENIED. Signed-off-by: Miklos Szeredi Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Matthew Wilcox Cc: David Teigland Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b81f3ea92ba1fa676775677679889dc2a7f03c8b Author: Vegard Nossum Date: Fri Jul 25 01:48:55 2008 -0700 taskstats: remove initialization of static per-cpu variable Cc: Shailabh Nagar Signed-off-by: Vegard Nossum Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b0975a20af1ff2f367e3b6b7c150eb114c6b500 Author: Keika Kobayashi Date: Fri Jul 25 01:48:54 2008 -0700 per-task-delay-accounting: update document and getdelays.c for memory reclaim Update document and make getdelays.c show delay accounting for memory reclaim. For making a distinction between "swapping in pages" and "memory reclaim" in getdelays.c, MEM is changed to SWAP. Signed-off-by: Keika Kobayashi Acked-by: Balbir Singh Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 016ae219b920c4e606088761d3d6070cdf8ba706 Author: Keika Kobayashi Date: Fri Jul 25 01:48:53 2008 -0700 per-task-delay-accounting: update taskstats for memory reclaim delay Add members for memory reclaim delay to taskstats, and accumulate them in __delayacct_add_tsk() . Signed-off-by: Keika Kobayashi Cc: Hiroshi Shimamoto Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873b47717732c2f33a4b14de02571a4295a02f0c Author: Keika Kobayashi Date: Fri Jul 25 01:48:52 2008 -0700 per-task-delay-accounting: add memory reclaim delay Sometimes, application responses become bad under heavy memory load. Applications take a bit time to reclaim memory. The statistics, how long memory reclaim takes, will be useful to measure memory usage. This patch adds accounting memory reclaim to per-task-delay-accounting for accounting the time of do_try_to_free_pages(). - When System is under low memory load, memory reclaim may not occur. $ free total used free shared buffers cached Mem: 8197800 1577300 6620500 0 4808 1516724 -/+ buffers/cache: 55768 8142032 Swap: 16386292 0 16386292 $ vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 5069748 10612 3014060 0 0 0 0 3 26 0 0 100 0 0 0 0 5069748 10612 3014060 0 0 0 0 4 22 0 0 100 0 0 0 0 5069748 10612 3014060 0 0 0 0 3 18 0 0 100 0 Measure the time of tar command. $ ls -s test.dat 1501472 test.dat $ time tar cvf test.tar test.dat real 0m13.388s user 0m0.116s sys 0m5.304s $ ./delayget -d -p CPU count real total virtual total delay total 428 5528345500 5477116080 62749891 IO count delay total 338 8078977189 SWAP count delay total 0 0 RECLAIM count delay total 0 0 - When system is under heavy memory load memory reclaim may occur. $ vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 7159032 49724 1812 3012 0 0 0 0 3 24 0 0 100 0 0 0 7159032 49724 1812 3012 0 0 0 0 4 24 0 0 100 0 0 0 7159032 49848 1812 3012 0 0 0 0 3 22 0 0 100 0 In this case, one process uses more 8G memory by execution of malloc() and memset(). $ time tar cvf test.tar test.dat real 1m38.563s <- increased by 85 sec user 0m0.140s sys 0m7.060s $ ./delayget -d -p CPU count real total virtual total delay total 9021 7140446250 7315277975 923201824 IO count delay total 8965 90466349669 SWAP count delay total 3 21036367 RECLAIM count delay total 740 61011951153 In the later case, the value of RECLAIM is increasing. So, taskstats can show how much memory reclaim influences TAT. Signed-off-by: Keika Kobayashi Acked-by: Balbir Singh Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e85ba034deec351f02cb55ff225bbd616463841 Author: David Howells Date: Fri Jul 25 01:48:50 2008 -0700 tsacct: fix bacct_add_tsk()'s use of do_div() Fix bacct_add_tsk()'s use of do_div() on an s64 by making ac_etime a u64 instead and dividing that. Possibly this should be guarded lest the interval calculation turn up negative, but the possible negativity of the result of the division is cast away, and it shouldn't end up negative anyway. This was introduced by patch f3cef7a99469afc159fec3a61b42dc7ca5b6824f. Signed-off-by: David Howells Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 297c5d92634c809cef23d73e7b2556f2528ff7e2 Author: Andrea Righi Date: Fri Jul 25 01:48:49 2008 -0700 task IO accounting: provide distinct tgid/tid I/O statistics Report per-thread I/O statistics in /proc/pid/task/tid/io and aggregate parent I/O statistics in /proc/pid/io. This approach follows the same model used to account per-process and per-thread CPU times. As a practial application, this allows for example to quickly find the top I/O consumer when a process spawns many child threads that perform the actual I/O work, because the aggregated I/O statistics can always be found in /proc/pid/io. [ Oleg Nesterov points out that we should check that the task is still alive before we iterate over the threads, but also says that we can do that fixup on top of this later. - Linus ] Acked-by: Balbir Singh Signed-off-by: Andrea Righi Cc: Matt Heaton Cc: Shailabh Nagar Acked-by-with-comments: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c18d7a5df82524e634637c3aec24d4cba096442 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:49 2008 -0700 bsdacct: fix and add comments around acct_process() Fix the one describing what this function is and add one more - about locking absence around pid namespaces loop. Signed-off-by: Pavel Emelyanov Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1e13505be8c2bd2207894f4e0f069e1f9b51c9 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:48 2008 -0700 bsdacct: account dying tasks in all relevant namespaces This just makes the acct_proces walk the pid namespaces from current up to the top and account a task in each with the accounting turned on. ns->parent access if safe lockless, since current it still alive and holds its namespace, which in turn holds its parent. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5a7174875ea570cc675f2c503e800db8efdd6a7 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:47 2008 -0700 bsdacct: turn acct off for all pidns-s on umount time All the bsd_acct_strcts with opened accounting are linked into a global list. So, the acct_auto_close(_mnt) walks one and drops the accounting for each. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b6b030fc30d169bb406b34b4fc60d99dde4a9c6 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:47 2008 -0700 bsdacct: switch from global bsd_acct_struct instance to per-pidns one Allocate the structure on the first call to sys_acct(). After this each namespace, that ordered the accounting, will live with this structure till its own death. Two notes - routines, that close the accounting on fs umount time use the init_pid_ns's acct by now; - accounting routine accounts to dying task's namespace (also by now). Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6248b1b342005a428b1247b4e89249da1528d88d Author: Pavel Emelyanov Date: Fri Jul 25 01:48:46 2008 -0700 bsdacct: make internal code work with passed bsd_acct_struct, not global This adds the appropriate pointer to all the internal (i.e. static) functions that work with global acct instance. API calls pass a global instance to them (while we still have such). Mostly this is a s/acct_globals./acct->/ over the file. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a75d97976517dcda69150fd81d6be86ae63324a1 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:45 2008 -0700 bsdacct: turn the acct_lock from on-the-struct to global Don't use per-bsd-acct-struct lock, but work with a global one. This lock is taken for short periods, so it doesn't seem it'll become a bottleneck, but it will allow us to easily avoid many locking difficulties in the future. So this is a mostly s/acct_globals.lock/acct_lock/ over the file. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e59a04a7aa5ce2483470aee4f2eb79ba6b9afe8b Author: Pavel Emelyanov Date: Fri Jul 25 01:48:44 2008 -0700 bsdacct: make check timer accept a bsd_acct_struct argument We're going to have many bsd_acct_struct instances, not just one, so the timer (currently working with a global one) has to know which one to work with. Use a handy setup_timer macro for it (thanks to Oleg for one). Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c552858ac2b1732a99d234d46b98098baef41ff Author: Pavel Emelyanov Date: Fri Jul 25 01:48:44 2008 -0700 bsdacct: "truthify" a comment near acct_process The acct_process does not accept any arguments actually. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20fad13ac66ac001c19220d3d08b4de5b6cca6e1 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:43 2008 -0700 pidns: add the struct bsd_acct_struct pointer on pid_namespace struct All the bsdacct-related info will be stored in the area, pointer by this one. It will be NULL automatically for all new namespaces. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84406c153a5bfa5d8b428a0933e9d39db6b59a75 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:42 2008 -0700 pidns: use kzalloc when allocating new pid_namespace struct It makes many fields initialization implicit helping in auto-setting #ifdef-ed fields (bsd-acct related pointer will be such). Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 081e4c8a75692c21f3a119a81ca3270081879d0e Author: Pavel Emelyanov Date: Fri Jul 25 01:48:42 2008 -0700 bsdacct: rename acct_gbls to bsd_acct_struct After I fixed access to task->tgid in kernel/acct.c, Oleg pointed out some bad side effects with this accounting vs pid namespaces interaction. I.e. when some task in pid namespace sets this accounting up, this blocks all the others from doing the same. Restricting this to init namespace only could help, but didn't look a graceful solution. So here is the approach to make this accounting work with pid namespaces properly. The idea is simple - when a task dies it accounts itself in each namespace it is visible from and which set the accounting up. For example here are the commands run and the output of lastcomm from init and sub namespaces: init_ns# accton pacct sub_ns# accton pacct (this is a different file - sub ns is run in a chroot-ed environment) init_ns# cat /dev/null sub_ns# ls /dev/null init_ns# accton sub_ns# accton sub_ns# lastcomm -f pacct ls 0 [136,0] 0.00 secs Thu May 15 10:30 accton 0 [136,0] 0.00 secs Thu May 15 10:30 init_ns# lastcomm -f pacct accton root pts/0 0.00 secs Thu May 15 14:30 << got from sub cat root pts/1 0.00 secs Thu May 15 14:30 ls root pts/0 0.00 secs Thu May 15 14:30 << got from sub accton root pts/1 0.00 secs Thu May 15 14:30 That was the summary, the details are in patches. This patch: It will be visible in pid_namespace.h file, so fix its name to look better outside the acct.c file. Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49b5cf34727a6c1be1568ab28e89a2d9a6bf51e0 Author: Jonathan Lim Date: Fri Jul 25 01:48:40 2008 -0700 accounting: account for user time when updating memory integrals Adapt acct_update_integrals() to include user time when calculating the time difference. The units of acct_rss_mem1 and acct_vm_mem1 are also changed from pages-jiffies to pages-usecs to avoid calling jiffies_to_usecs() in xacct_add_tsk() which might overflow. Signed-off-by: Jonathan Lim Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7394f0f6c0baab650ea9194cb1be847df646fb57 Author: Adrian Bunk Date: Fri Jul 25 01:48:40 2008 -0700 unexport uts_sem With the removal of the Solaris binary emulation the export of uts_sem became unused. Signed-off-by: Adrian Bunk Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a89cc1959d0ea5f36bf7421dc97b34f03809637d Author: Harvey Harrison Date: Fri Jul 25 01:48:39 2008 -0700 markers: fix sparse integer as NULL pointer warning kernel/trace/trace_sysprof.c:164:20: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28325df0d9339b7f3aba9c45174d4586223ef46b Author: Mathieu Desnoyers Date: Fri Jul 25 01:48:38 2008 -0700 markers: use rcu_barrier_sched() and call_rcu_sched() rcu_barrier_sched() and call_rcu_sched() were introduced in 2.6.26 for the Markers. Change the marker code to use them. It can be seen as a fix since the marker code was using an ugly, temporary, #ifdef hack to work around CONFIG_PREEMPT_RCU. Signed-off-by: Mathieu Desnoyers Acked-by: Paul McKenney Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24879a8e3e68f146d4d85528cc0b5dea712b77c5 Author: Matthias Kaehlcke Date: Fri Jul 25 01:48:38 2008 -0700 aoe: convert emsgs_sema into a completion ATA over Ethernet: The semaphore emsgs_sema is used for signalling an event, convert it in a completion. Signed-off-by: Matthias Kaehlcke Cc: "Ed L. Cashin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbda0de52618d13d1b927c7ba7bb839cfddc4e8c Author: Pavel Emelyanov Date: Fri Jul 25 01:48:37 2008 -0700 pidns: remove find_task_by_pid, unused for a long time It seems to me that it was a mistake marking this function as deprecated and scheduling it for removal, rather than resolutely removing it after the last caller's death. Anyway - better late, then never. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e49859e71e0318b564de1546bdc30fab738f9deb Author: Pavel Emelyanov Date: Fri Jul 25 01:48:36 2008 -0700 pidns: remove now unused find_pid function. This one had the only users so far - the kill_proc, which is removed, so drop this (invalid in namespaced world) call too. And of course - erase all references on it from comments. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19b0cfcca41dd772065671ad0584e1cea0f3fd13 Author: Pavel Emelyanov Date: Fri Jul 25 01:48:35 2008 -0700 pidns: remove now unused kill_proc function This function operated on a pid_t to kill a task, which is no longer valid in a containerized system. It has finally lost all its users and we can safely remove it from the tree. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33166b1ffca5e1945246bcaa77d72a22b0d3e531 Author: Richard Kennedy Date: Fri Jul 25 01:48:35 2008 -0700 shrink struct pid by removing padding on 64 bit builds When struct pid is built on a 64 bit platform gcc has to insert padding to maintain the correct alignment, by simply reordering its members the memory usage shrinks from 88 bytes to 80. I've successfully run with this patch on my desktop AMD64 machine. There are no significant kernel size changes to a default config.X86_64 on the latest git v2.6.26-rc1 text data bss dec hex filename 5404828 976760 734280 7115868 6c945c vmlinux 5404811 976760 734280 7115851 6c944b vmlinux.pid-patch Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ae4eed34be0177a8e003411a84e4ee212adbced Author: Adrian Bunk Date: Fri Jul 25 01:48:34 2008 -0700 proper pid{hash,map}_init() prototypes This patch adds proper prototypes for pid{hash,map}_init() in include/linux/pid_namespace.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ecb90090c84210a8bd2a9d7a5906e616735873c Author: Stephen Hemminger Date: Fri Jul 25 01:48:32 2008 -0700 sysctl: allow override of /proc/sys/net with CAP_NET_ADMIN Extend the permission check for networking sysctl's to allow modification when current process has CAP_NET_ADMIN capability and is not root. This version uses the until now unused permissions hook to override the mode value for /proc/sys/net if accessed by a user with capabilities. Found while working with Quagga. It is impossible to turn forwarding on/off through the command interface because Quagga uses secure coding practice of dropping privledges during initialization and only raising via capabilities when necessary. Since the dameon has reset real/effective uid after initialization, all attempts to access /proc/sys/net variables will fail. Signed-off-by: Stephen Hemminger Acked-by: "Eric W. Biederman" Cc: Chris Wright Cc: Alexey Dobriyan Cc: Andrew Morgan Cc: Pavel Emelyanov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99541c23cd32bacf1a591ca537a7c0cb9053ad7e Author: Alexey Dobriyan Date: Fri Jul 25 01:48:31 2008 -0700 sysctl: check for bogus modes Catch, e. g., 644/0644 typo. Signed-off-by: Alexey Dobriyan Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 339caf2a224fc9af0f01686bf287dda32c6efca6 Author: David Sterba Date: Fri Jul 25 01:48:31 2008 -0700 proc: misplaced export of find_get_pid Move EXPORT_SYMBOL right after the func Signed-off-by: David Sterba Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6eedf8d30d2b48e86fbcee1a32fb2fa5f42219ee Author: Alexey Dobriyan Date: Fri Jul 25 01:48:30 2008 -0700 proc: move Kconfig to fs/proc/Kconfig Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9bd4a3e070ba7494f154e1a11687a8a957d88dc Author: Alexey Dobriyan Date: Fri Jul 25 01:48:30 2008 -0700 proc: remove pathetic remount code MS_RMT_MASK will unmask changes in do_remount_sb() anyway. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 881adb85358309ea9c6f707394002719982ec607 Author: Alexey Dobriyan Date: Fri Jul 25 01:48:29 2008 -0700 proc: always do ->release Current two-stage scheme of removing PDE emphasizes one bug in proc: open rmmod remove_proc_entry close ->release won't be called because ->proc_fops were cleared. In simple cases it's small memory leak. For every ->open, ->release has to be done. List of openers is introduced which is traversed at remove_proc_entry() if neeeded. Discussions with Al long ago (sigh). Signed-off-by: Alexey Dobriyan Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e644c3126149b65460610fe5a00d8a162092abe Author: Adrian Bunk Date: Fri Jul 25 01:48:28 2008 -0700 move proc_kmsg_operations to fs/proc/internal.h This patch moves the extern of struct proc_kmsg_operations to fs/proc/internal.h and adds an #include "internal.h" to fs/proc/kmsg.c so that the latter sees the former. Signed-off-by: Adrian Bunk Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd9a6f1078ed07fe919667b73e829f3bac485573 Author: Adrian Bunk Date: Fri Jul 25 01:48:28 2008 -0700 unexport proc_clear_tty With the removal of the Solaris binary emulation the export of proc_clear_tty became unused. Signed-off-by: Adrian Bunk Acked-by: David S. Miller Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25377479de7539fdc871a0f0ecaa39da42353bbc Author: Akinobu Mita Date: Fri Jul 25 01:48:27 2008 -0700 dell_rbu: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Abhay Salunke Cc: Zhang Rui Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d991696263a704be7f41ac186f1a0ed17963c260 Author: Thomas Gleixner Date: Fri Jul 25 01:48:26 2008 -0700 fs/partitions/efi: convert to pr_debug convert the local Dprintk() compile time debug printk wrappers to the generic pr_debug() wrapper. Signed-off-by: Thomas Gleixner Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04ebd4aee52b06a2c38127d9208546e5b96f3a19 Author: Abdel Benamrouche Date: Fri Jul 25 01:48:26 2008 -0700 block/ioctl.c and fs/partition/check.c: check value returned by add_partition() Now that add_partition() has been aught to propagate errors, let's check them. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Abdel Benamrouche Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d805dda412346225a50af2d399d958a4bc676c38 Author: Abdel Benamrouche Date: Fri Jul 25 01:48:25 2008 -0700 fs/partition/check.c: fix return value warning fs/partitions/check.c:381: warning: ignoring return value of ___device_add___, declared with attribute warn_unused_result [akpm@linux-foundation.org: multiple-return-statements-per-function are evil] Signed-off-by: Abdel Benamrouche Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abe19b7b822a8fdbe3dbfd6e066d0698b4eefb06 Author: Akinobu Mita Date: Fri Jul 25 01:48:24 2008 -0700 dcdbas: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Doug Warzecha Cc: Zhang Rui Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f37e66173e0cc09b4e5a89eb0294abbefc15f435 Author: Akinobu Mita Date: Fri Jul 25 01:48:23 2008 -0700 firmware: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Greg Kroah-Hartman Cc: Markus Rechberger Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec905a18656daa4d9300bad2bebc02d5dba7883d Author: Jiri Slaby Date: Fri Jul 25 01:48:23 2008 -0700 drivers/misc/phantom: note PCI Tell users that the driver is only for PCI devices to stop asking for support of firewire and parallel devices. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ace7dd96695769f9d76980c7e52139e73228221c Author: Jiri Slaby Date: Fri Jul 25 01:48:22 2008 -0700 Char: mxser, various cleanups - remove unused macro - some whitespace cleanup - useless debug prints removal Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1df0092477b8b2df605812e298624f5c35bb4805 Author: Jiri Slaby Date: Fri Jul 25 01:48:22 2008 -0700 Char: mxser, remove predefined isa support Remove a support of ISA addresses predefined at compile time. It is unused (filled by zeroes) and prolongs the code. Don't initialize global array and add `ioaddr' module param description. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83766bc63f7e49b0215811026e7802bd09a9c7e1 Author: Jiri Slaby Date: Fri Jul 25 01:48:21 2008 -0700 Char: mxser, prints cleanup - use dev_* for printing in pci probe function - move ISA p[rints directly into isa find function, do not postpone it. Remove macros bound to it then. - prepend some prints by "mxser: " to know what it belongs to Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 729f0edbecd0c59c82ee9bf92009acc7e984c425 Author: Jiri Slaby Date: Fri Jul 25 01:48:20 2008 -0700 Char: mxser, update documentation Update Documentation/moxa-smartio to the later document from the mxser package. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72800df9ba3199df02a95b3830c49fbf16ec4a6d Author: Jiri Slaby Date: Fri Jul 25 01:48:20 2008 -0700 Char: mxser, globals cleanup - remove unused mxvar_diagflag - move mxser_msr into the only user/function - GMStatus, hmm, fix race-prone access to it. We need only one instance for real, not MXSER_PORTS. Move it to MOXA_GETMSTATUS ioctl. - mxser_mon_ext, almost the same, but alloc it on heap, since it has more than 2 kilos. - fix indexing, `i' is not the index value, `i * MXSER_PORTS_PER_BOARD + j' is Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41aee9a121fd0c31ae22dfe57e8f9ee9d6d85c25 Author: Jiri Slaby Date: Fri Jul 25 01:48:19 2008 -0700 Char: mxser, ioctl cleanup - remove break ctl from ioctl handler, it's never reached, since tty_ops->break_ctl is defined (mxser break handling is done in software) - mark MOXA_GET_MAJOR as deprecated - fix TIOCGICOUNT (some retval non-checks of put_user). Use copy_to_user to whole structure instead. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ee8928d94841aa764aeaf645ad16daff811dc26 Author: Akinobu Mita Date: Fri Jul 25 01:48:18 2008 -0700 nwflash: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Russell King Cc: Tim Schmielau Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 236b8756a2b6f90498d45b2c36d43e5372f2d4b8 Author: Alan Cox Date: Fri Jul 25 01:48:17 2008 -0700 dsp56k: BKL pushdown Push the BKL down into the driver ioctl methods Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8e35919653d76e7dceb8d3b8569c4ec1004d546 Author: Alan Cox Date: Fri Jul 25 01:48:17 2008 -0700 ds1302: push down the BKL into the driver ioctl code Signed-off-by: Alan Cox Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d535d3e6ad395345750c361bd2b7f1b9429455d Author: Alan Cox Date: Fri Jul 25 01:48:16 2008 -0700 ppdev: wrap ioctl handler in driver and push lock down Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e05e9f7c4aeb82eaa23e46b29580ff514590c641 Author: Alan Cox Date: Fri Jul 25 01:48:16 2008 -0700 ixj: push BKL into driver and wrap ioctls Signed-off-by: Alan Cox Cc: Nishanth Aravamudan Cc: Domen Puncer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11af7478addd34c42999b3b84095903ed9e67038 Author: Alan Cox Date: Fri Jul 25 01:48:15 2008 -0700 sx: push BKL down into the firmware ioctl handler Also fix the capability checking for firmware load. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6759fdcfd79ff1827fd5d4ddfe876164466d30d Author: Alan Cox Date: Fri Jul 25 01:48:14 2008 -0700 rio: push down the BKL into the firmware ioctl handler TTY side is already done. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 909d145f0decbc4f17955e1fc4122a669a51fbc0 Author: Alan Cox Date: Fri Jul 25 01:48:14 2008 -0700 mwave: ioctl BKL pushdown Push the BKL down to the point it wraps the actual mwave method handlers Signed-off-by: Alan Cox Cc: Eric Sesterhenn Cc: Yani Ioannou Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47be36a24defbd19aea1354c416ec99f291c7ab8 Author: Alan Cox Date: Fri Jul 25 01:48:13 2008 -0700 ip2: push BKL down for the firmware interface (The tty side is already done) Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76528a42e2c5199a1208909318a9c9948d25d0b7 Author: Alan Cox Date: Fri Jul 25 01:48:12 2008 -0700 efirtc: push down the BKL Push it down as far as the EFI method calls. Someone who knows EFI can do the other bits. Also fix another wrong unknown ioctl return. Signed-off-by: Alan Cox Cc: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 372572e9b1dcc5e36091199be63766d13e5a8ae0 Author: Adrian Bunk Date: Fri Jul 25 01:48:11 2008 -0700 #if 0 hpet_unregister() This patch #if 0's the unused hpet_unregister(). Signed-off-by: Adrian Bunk Acked-by: Clemens Ladisch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d1e120f695e9bcf01585e052577dc1e099033f9 Author: Adrian Bunk Date: Fri Jul 25 01:48:11 2008 -0700 proper extern for mwave_s_mdd This patch adds a proper extern for mwave_s_mdd in drivers/char/mwave/mwavedd.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79885b227740b9c7d3057f2de556f4098d37cc8f Author: Edgar E. Iglesias Date: Fri Jul 25 01:48:10 2008 -0700 elf: use ELF_CORE_EFLAGS for kcore ELF header flags ELF_CORE_EFLAGS is already used by the binfmt_elf coredumper to set correct arch specific ELF header flags on coredumps. Use it for kcore dumps as well. At the moment, this affects the CRIS and the H8300 arch. Signed-off-by: Edgar E. Iglesias Cc: Mikael Starvik Cc: Yoshinori Sato Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7833351b5260b3a58b54a0c2e7065001d986d749 Author: Adrian Bunk Date: Fri Jul 25 01:48:09 2008 -0700 pty: remove unused UNIX98_PTY_COUNT options The h8300 and sparc options somehow survived when the code stopped using CONFIG_UNIX98_PTY_COUNT. Reviewed-by: Robert P. J. Day Signed-off-by: Adrian Bunk Cc: Yoshinori Sato Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e Author: Nadia Derbey Date: Fri Jul 25 01:48:08 2008 -0700 ipc: do not use a negative value to re-enable msgmni automatic recomputing This patch proposes an alternative to the "magical positive-versus-negative number trick" Andrew complained about last week in http://lkml.org/lkml/2008/6/24/418. This had been introduced with the patches that scale msgmni to the amount of lowmem. With these patches, msgmni has a registered notification routine that recomputes msgmni value upon memory add/remove or ipc namespace creation/ removal. When msgmni is changed from user space (i.e. value written to the proc file), that notification routine is unregistered, and the way to make it registered back is to write a negative value into the proc file. This is the "magical positive-versus-negative number trick". To fix this, a new proc file is introduced: /proc/sys/kernel/auto_msgmni. This file acts as ON/OFF for msgmni automatic recomputing. With this patch, the process is the following: 1) kernel boots in "automatic recomputing mode" /proc/sys/kernel/msgmni contains the value that has been computed (depends on lowmem) /proc/sys/kernel/automatic_msgmni contains "1" 2) echo > /proc/sys/kernel/msgmni . sets msg_ctlmni to . de-activates automatic recomputing (i.e. if, say, some memory is added msgmni won't be recomputed anymore) . /proc/sys/kernel/automatic_msgmni now contains "0" 3) echo "0" > /proc/sys/kernel/automatic_msgmni . de-activates msgmni automatic recomputing this has the same effect as 2) except that msg_ctlmni's value stays blocked at its current value) 3) echo "1" > /proc/sys/kernel/automatic_msgmni . recomputes msgmni's value based on the current available memory size and number of ipc namespaces . re-activates automatic recomputing for msgmni. Signed-off-by: Nadia Derbey Cc: Solofo Ramangalahy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1a43f93f0f3bab418800eaccb9e2e3b5427e173 Author: Akinobu Mita Date: Fri Jul 25 01:48:07 2008 -0700 ipc: use simple_read_from_buffer() Also this patch kills unneccesary trailing NULL character. Signed-off-by: Akinobu Mita Cc: Nadia Derbey Cc: Manfred Spraul Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 380af1b33b3ff92df5cda96329b58f5d1b6b5a53 Author: Manfred Spraul Date: Fri Jul 25 01:48:06 2008 -0700 ipc/sem.c: rewrite undo list locking The attached patch: - reverses the locking order of ulp->lock and sem_lock: Previously, it was first ulp->lock, then inside sem_lock. Now it's the other way around. - converts the undo structure to rcu. Benefits: - With the old locking order, IPC_RMID could not kfree the undo structures. The stale entries remained in the linked lists and were released later. - The patch fixes a a race in semtimedop(): if both IPC_RMID and a semget() that recreates exactly the same id happen between find_alloc_undo() and sem_lock, then semtimedop() would access already kfree'd memory. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Manfred Spraul Reviewed-by: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1193f8ec091cd8fd309cc2982abe4499f6f2b4d Author: Manfred Spraul Date: Fri Jul 25 01:48:06 2008 -0700 ipc/sem.c: convert sem_array.sem_pending to struct list_head sem_array.sem_pending is a double linked list, the attached patch converts it to struct list_head. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Manfred Spraul Reviewed-by: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c0c29d414087f3b021059673c20a7088f5f1fff Author: Manfred Spraul Date: Fri Jul 25 01:48:05 2008 -0700 ipc/sem.c: remove unused entries from struct sem_queue sem_queue.sma and sem_queue.id were never used, the attached patch removes them. Signed-off-by: Manfred Spraul Reviewed-by: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4daa28f6d8f5cda8ea0f55048e3c8811c384cbdd Author: Manfred Spraul Date: Fri Jul 25 01:48:04 2008 -0700 ipc/sem.c: convert undo structures to struct list_head The undo structures contain two linked lists, the attached patch replaces them with generic struct list_head lists. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Manfred Spraul Cc: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00c2bf85d8febfcfddde63822043462b026134ff Author: Nadia Derbey Date: Fri Jul 25 01:48:03 2008 -0700 ipc: get rid of ipc_lock_down() Remove the ipc_lock_down() routines: they used to call idr_find() locklessly (given that the ipc ids lock was already held), so they are not needed anymore. Signed-off-by: Nadia Derbey Acked-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 983bfb7db303cfde56ae5bbf4e0f2f46e38c9576 Author: Nadia Derbey Date: Fri Jul 25 01:48:03 2008 -0700 ipc: call idr_find() without locking in ipc_lock() Call idr_find() locklessly from ipc_lock(), since the idr tree is now RCU protected. Signed-off-by: Nadia Derbey Acked-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf481c20c476ad2c0febdace9ce23f5a4db19582 Author: Nadia Derbey Date: Fri Jul 25 01:48:02 2008 -0700 idr: make idr_remove rcu-safe Introduce the free_layer() routine: it is the one that actually frees memory after a grace period has elapsed. Signed-off-by: Nadia Derbey Reviewed-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9c46d6ea5ce138a886c3a0f10a46130afab75f5 Author: Nadia Derbey Date: Fri Jul 25 01:48:01 2008 -0700 idr: make idr_find rcu-safe Make idr_find rcu-safe: it can now be called inside an rcu_read critical section. Signed-off-by: Nadia Derbey Reviewed-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3219b3b7456d5cf15ba7b1fe7b1bcf15ce8840e2 Author: Nadia Derbey Date: Fri Jul 25 01:48:00 2008 -0700 idr: make idr_get_new* rcu-safe Make the idr_get_new* routines rcu-safe. Signed-off-by: Nadia Derbey Reviewed-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 944ca05c7b4972f2ebf37262e0f4933d178ad6db Author: Nadia Derbey Date: Fri Jul 25 01:47:59 2008 -0700 idr: error checking factorization Do some code factorization in the return code analysis. Signed-off-by: Nadia Derbey Cc: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f098ad655f4dd8e3da98ffbeda9cedcc4459c01a Author: Nadia Derbey Date: Fri Jul 25 01:47:59 2008 -0700 idr: fix a printk call Fix the incomplete printk call. Signed-off-by: Nadia Derbey Reviewed-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ae537892ab9858f71c78701f4651ad1ca531a1b Author: Nadia Derbey Date: Fri Jul 25 01:47:58 2008 -0700 idr: rename some of the idr APIs internal routines This is a trivial patch that renames: . alloc_layer to get_from_free_list since it idr_pre_get that actually allocates memory. . free_layer to move_to_free_list since memory is not actually freed there. This makes things more clear for the next patches. Signed-off-by: Nadia Derbey Reviewed-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2027d1abc25ff770cc3bc936abd33570ce85d85a Author: Nadia Derbey Date: Fri Jul 25 01:47:57 2008 -0700 idr: change the idr structure After scalability problems have been detected when using the sysV ipcs, I have proposed to use an RCU based implementation of the IDR api instead (see threads http://lkml.org/lkml/2008/4/11/212 and http://lkml.org/lkml/2008/4/29/295). This resulted in many people asking to convert the idr API and make it rcu safe (because most of the code was duplicated and thus unmaintanable and unreviewable). So here is a first attempt. The important change wrt to the idr API itself is during idr removes: idr layers are freed after a grace period, instead of being moved to the free list. The important change wrt to ipcs, is that idr_find() can now be called locklessly inside a rcu read critical section. Here are the results I've got for the pmsg test sent by Manfred: 2.6.25-rc3-mm1 2.6.25-rc3-mm1+ 2.6.25-mm1 Patched 2.6.25-mm1 1 1168441 1064021 876000 947488 2 1094264 921059 1549592 1730685 3 2082520 1738165 1694370 2324880 4 2079929 1695521 404553 2400408 5 2898758 406566 391283 3246580 6 2921417 261275 263249 3752148 7 3308761 126056 191742 4243142 8 3329456 100129 141722 4275780 1st column: stock 2.6.25-rc3-mm1 2nd column: 2.6.25-rc3-mm1 + ipc patches (store ipcs into idrs) 3nd column: stock 2.6.25-mm1 4th column: 2.6.25-mm1 + this pacth series. This patch: Add an rcu_head to the idr_layer structure in order to free it after a grace period. Signed-off-by: Nadia Derbey Reviewed-by: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Cc: Pierre Peiffer Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95b68dec0d52c7b8fea3698b3938cf3ab936436b Author: Chandru Date: Fri Jul 25 01:47:55 2008 -0700 calgary iommu: use the first kernels TCE tables in kdump kdump kernel fails to boot with calgary iommu and aacraid driver on a x366 box. The ongoing dma's of aacraid from the first kernel continue to exist until the driver is loaded in the kdump kernel. Calgary is initialized prior to aacraid and creation of new tce tables causes wrong dma's to occur. Here we try to get the tce tables of the first kernel in kdump kernel and use them. While in the kdump kernel we do not allocate new tce tables but instead read the base address register contents of calgary iommu and use the tables that the registers point to. With these changes the kdump kernel and hence aacraid now boots normally. Signed-off-by: Chandru Siddalingappa Acked-by: Muli Ben-Yehuda Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8448502cfc915f70e3f8923849ade27d472044cb Author: Oleg Nesterov Date: Fri Jul 25 01:47:54 2008 -0700 workqueues: do CPU_UP_CANCELED if CPU_UP_PREPARE fails The bug was pointed out by Akinobu Mita , and this patch is based on his original patch. workqueue_cpu_callback(CPU_UP_PREPARE) expects that if it returns NOTIFY_BAD, _cpu_up() will send CPU_UP_CANCELED then. However, this is not true since "cpu hotplug: cpu: deliver CPU_UP_CANCELED only to NOTIFY_OKed callbacks with CPU_UP_PREPARE" commit: a0d8cdb652d35af9319a9e0fb7134de2a276c636 The callback which has returned NOTIFY_BAD will not receive CPU_UP_CANCELED. Change the code to fulfil the CPU_UP_CANCELED logic if CPU_UP_PREPARE fails. Signed-off-by: Oleg Nesterov Reported-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8de6d308bab4f67fcf953562f9f08f9527cad72d Author: Oleg Nesterov Date: Fri Jul 25 01:47:53 2008 -0700 workqueues: schedule_on_each_cpu() can use schedule_work_on() schedule_on_each_cpu() can use schedule_work_on() to avoid the code duplication. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef1ca236b8d645349ed6569598ae3f6c1b9511c0 Author: Oleg Nesterov Date: Fri Jul 25 01:47:53 2008 -0700 workqueues: queue_work() can use queue_work_on() queue_work() can use queue_work_on() to avoid the code duplication. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a67da70dc0955580665f5444f318b92e69a3c272 Author: Oleg Nesterov Date: Fri Jul 25 01:47:52 2008 -0700 workqueues: lockdep annotations for flush_work() Add lockdep annotations to flush_work() and update the comment. Signed-off-by: Oleg Nesterov Cc: Jarek Poplawski Acked-by: Johannes Berg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69b895fd13d73aebf62b75502eb6513d43057ba3 Author: Oleg Nesterov Date: Fri Jul 25 01:47:51 2008 -0700 S390 topology: don't use kthread() for arch_reinit_sched_domains() Now that it is safe to use get_online_cpus() we can revert [S390] cpu topology: Fix possible deadlock. commit: fd781fa25c9e9c6fd1599df060b05e7c4ad724e5 and call arch_reinit_sched_domains() directly from topology_work_fn(). Signed-off-by: Oleg Nesterov Cc: Gautham R Shenoy Tested-by: Heiko Carstens Cc: Max Krasnyansky Cc: Paul Jackson Cc: Paul Menage Cc: Peter Zijlstra Cc: Vegard Nossum Cc: Martin Schwidefsky Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3da1c84c00c7e5fa8348336bd8c342f9128b0f14 Author: Oleg Nesterov Date: Fri Jul 25 01:47:50 2008 -0700 workqueues: make get_online_cpus() useable for work->func() workqueue_cpu_callback(CPU_DEAD) flushes cwq->thread under cpu_maps_update_begin(). This means that the multithreaded workqueues can't use get_online_cpus() due to the possible deadlock, very bad and very old problem. Introduce the new state, CPU_POST_DEAD, which is called after cpu_hotplug_done() but before cpu_maps_update_done(). Change workqueue_cpu_callback() to use CPU_POST_DEAD instead of CPU_DEAD. This means that create/destroy functions can't rely on get_online_cpus() any longer and should take cpu_add_remove_lock instead. [akpm@linux-foundation.org: fix CONFIG_SMP=n] Signed-off-by: Oleg Nesterov Acked-by: Gautham R Shenoy Cc: Heiko Carstens Cc: Max Krasnyansky Cc: Paul Jackson Cc: Paul Menage Cc: Peter Zijlstra Cc: Vegard Nossum Cc: Martin Schwidefsky Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8616a89ab761239c963eea3a63be383f127cc7e8 Author: Oleg Nesterov Date: Fri Jul 25 01:47:49 2008 -0700 workqueues: schedule_on_each_cpu: use flush_work() Change schedule_on_each_cpu() to use flush_work() instead of flush_workqueue(), this way we don't wait for other work_struct's which can be queued meanwhile. Signed-off-by: Oleg Nesterov Cc: Jarek Poplawski Cc: Max Krasnyansky Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db700897224b5ebdf852f2d38920ce428940d059 Author: Oleg Nesterov Date: Fri Jul 25 01:47:49 2008 -0700 workqueues: implement flush_work() Most of users of flush_workqueue() can be changed to use cancel_work_sync(), but sometimes we really need to wait for the completion and cancelling is not an option. schedule_on_each_cpu() is good example. Add the new helper, flush_work(work), which waits for the completion of the specific work_struct. More precisely, it "flushes" the result of of the last queue_work() which is visible to the caller. For example, this code queue_work(wq, work); /* WINDOW */ queue_work(wq, work); flush_work(work); doesn't necessary work "as expected". What can happen in the WINDOW above is - wq starts the execution of work->func() - the caller migrates to another CPU now, after the 2nd queue_work() this work is active on the previous CPU, and at the same time it is queued on another. In this case flush_work(work) may return before the first work->func() completes. It is trivial to add another helper int flush_work_sync(struct work_struct *work) { return flush_work(work) || wait_on_work(work); } which works "more correctly", but it has to iterate over all CPUs and thus it much slower than flush_work(). Signed-off-by: Oleg Nesterov Acked-by: Max Krasnyansky Acked-by: Jarek Poplawski Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a4d9b0aa0d3c50314e57525a5e5ec2cfc48b4c8 Author: Oleg Nesterov Date: Fri Jul 25 01:47:47 2008 -0700 workqueues: insert_work: use "list_head *" instead of "int tail" insert_work() inserts the new work_struct before or after cwq->worklist, depending on the "int tail" parameter. Change it to accept "list_head *" instead, this shrinks .text a bit and allows us to insert the barrier after specific work_struct. Signed-off-by: Oleg Nesterov Cc: Jarek Poplawski Cc: Max Krasnyansky Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 565b9b14e7f48131bca58840aa404bbef058fa89 Author: Oleg Nesterov Date: Fri Jul 25 01:47:47 2008 -0700 coredump: format_corename: fix the "core_uses_pid" logic I don't understand why the multi-thread coredump implies the core_uses_pid behaviour, but we shouldn't use mm->mm_users for that. This counter can be incremented by get_task_mm(). Use the valued returned by coredump_wait() instead. Also, remove the "const char *pattern" argument, format_corename() can use core_pattern directly. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a94e2d408eaedbd85aae259621d46fafc10479a2 Author: Oleg Nesterov Date: Fri Jul 25 01:47:46 2008 -0700 coredump: kill mm->core_done Now that we have core_state->dumper list we can use it to wake up the sub-threads waiting for the coredump completion. This uglifies the code and .text grows by 47 bytes, but otoh mm_struct lessens by sizeof(struct completion). Also, with this change we can decouple exit_mm() from the coredumping code. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 182c515fd2a942623aed4e4e0e0b37fe96571b05 Author: Oleg Nesterov Date: Fri Jul 25 01:47:45 2008 -0700 coredump: elf_fdpic_core_dump: use core_state->dumper list Kill the nasty rcu_read_lock() + do_each_thread() loop, use the list encoded in mm->core_state instead, s/GFP_ATOMIC/GFP_KERNEL/. This patch allows futher cleanups in binfmt_elf_fdpic.c. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83914441f94c6f2cd468ca97365f6c34f418706e Author: Oleg Nesterov Date: Fri Jul 25 01:47:45 2008 -0700 coredump: elf_core_dump: use core_state->dumper list Kill the nasty rcu_read_lock() + do_each_thread() loop, use the list encoded in mm->core_state instead, s/GFP_ATOMIC/GFP_KERNEL/. This patch allows futher cleanups in binfmt_elf.c, in particular we can kill the parallel info->threads list. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b564daf806d492dd4f7afe9b6c83b8d35d137669 Author: Oleg Nesterov Date: Fri Jul 25 01:47:44 2008 -0700 coredump: construct the list of coredumping threads at startup time binfmt->core_dump() has to iterate over the all threads in system in order to find the coredumping threads and construct the list using the GFP_ATOMIC allocations. With this patch each thread allocates the list node on exit_mm()'s stack and adds itself to the list. This allows us to do further changes: - simplify ->core_dump() - change exit_mm() to clear ->mm first, then wait for ->core_done. this makes the coredumping process visible to oom_kill - kill mm->core_done Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d5b327bf198d2720666de958dcc2ae219d86952 Author: Oleg Nesterov Date: Fri Jul 25 01:47:43 2008 -0700 coredump: make mm->core_state visible to ->core_dump() Move the "struct core_state core_state" from coredump_wait() to do_coredump(), this makes mm->core_state visible to binfmt->core_dump(). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5f1cc8c1828486a61ab3e575da6e2c62b34d399 Author: Oleg Nesterov Date: Fri Jul 25 01:47:42 2008 -0700 coredump: turn core_state->nr_threads into atomic_t Turn core_state->nr_threads into atomic_t and kill now unneeded down_write(&mm->mmap_sem) in exit_mm(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd9c249128a59e8e833d454a784b0cbd338d468 Author: Oleg Nesterov Date: Fri Jul 25 01:47:42 2008 -0700 coredump: simplify core_state->nr_threads calculation Change zap_process() to return int instead of incrementing mm->core_state->nr_threads directly. Change zap_threads() to set mm->core_state only on success. This patch restores the original size of .text, and more importantly now ->nr_threads is used in two places only. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 999d9fc1670bc082928b93b11d1f2e0e417d973c Author: Oleg Nesterov Date: Fri Jul 25 01:47:41 2008 -0700 coredump: move mm->core_waiters into struct core_state Move mm->core_waiters into "struct core_state" allocated on stack. This shrinks mm_struct a little bit and allows further changes. This patch mostly does s/core_waiters/core_state. The only essential change is that coredump_wait() must clear mm->core_state before return. The coredump_wait()'s path is uglified and .text grows by 30 bytes, this is fixed by the next patch. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32ecb1f26dd50eeaac4e3f4dea4541c97848e459 Author: Oleg Nesterov Date: Fri Jul 25 01:47:41 2008 -0700 coredump: turn mm->core_startup_done into the pointer to struct core_state mm->core_startup_done points to "struct completion startup_done" allocated on the coredump_wait()'s stack. Introduce the new structure, core_state, which holds this "struct completion". This way we can add more info visible to the threads participating in coredump without enlarging mm_struct. No changes in affected .o files. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24d5288f06ed8b3a368eba967d587cdb012dfdf7 Author: Oleg Nesterov Date: Fri Jul 25 01:47:40 2008 -0700 coredump: elf_core_dump: skip kernel threads linux_binfmt->core_dump() runs before the process does exit_aio(), this means that we can hit the kernel thread which shares the same ->mm. Afaics, nothing really bad can happen, but perhaps it makes sense to fix this minor bug. It is sad we have to iterate over all threads in system and use GFP_ATOMIC. Hopefully we can kill theses ugly do_each_thread()s, but this needs some nontrivial changes in mm_struct and do_coredump. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15b9f360c0316c06d37c09b02d85565edbaf9dd3 Author: Oleg Nesterov Date: Fri Jul 25 01:47:39 2008 -0700 coredump: zap_threads() must skip kernel threads The main loop in zap_threads() must skip kthreads which may use the same mm. Otherwise we "kill" this thread erroneously (for example, it can not fork or exec after that), and the coredumping task stucks in the TASK_UNINTERRUPTIBLE state forever because of the wrong ->core_waiters count. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 246bb0b1deb29726990620d8b5e55ca29f331362 Author: Oleg Nesterov Date: Fri Jul 25 01:47:38 2008 -0700 kill PF_BORROWED_MM in favour of PF_KTHREAD Kill PF_BORROWED_MM. Change use_mm/unuse_mm to not play with ->flags, and do s/PF_BORROWED_MM/PF_KTHREAD/ for a couple of other users. No functional changes yet. But this allows us to do further fixes/cleanups. oom_kill/ptrace/etc often check "p->mm != NULL" to filter out the kthreads, this is wrong because of use_mm(). The problem with PF_BORROWED_MM is that we need task_lock() to avoid races. With this patch we can check PF_KTHREAD directly, or use a simple lockless helper: /* The result must not be dereferenced !!! */ struct mm_struct *__get_task_mm(struct task_struct *tsk) { if (tsk->flags & PF_KTHREAD) return NULL; return tsk->mm; } Note also ecard_task(). It runs with ->mm != NULL, but it's the kernel thread without PF_BORROWED_MM. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b34e4283c685f5cc6ba6d30e939906eee0d4bcf Author: Oleg Nesterov Date: Fri Jul 25 01:47:37 2008 -0700 introduce PF_KTHREAD flag Introduce the new PF_KTHREAD flag to mark the kernel threads. It is set by INIT_TASK() and copied to the forked childs (we could set it in kthreadd() along with PF_NOFREEZE instead). daemonize() was changed as well. In that case testing of PF_KTHREAD is racy, but daemonize() is hopeless anyway. This flag is cleared in do_execve(), before search_binary_handler(). Probably not the best place, we can do this in exec_mmap() or in start_thread(), or clear it along with PF_FORKNOEXEC. But I think this doesn't matter in practice, and if do_execve() fails kthread should die soon. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d749b9e676b26584a47e75c235aa6f69d0697ae Author: Oleg Nesterov Date: Fri Jul 25 01:47:37 2008 -0700 ptrace: simplify ptrace_stop()->sigkill_pending() path 1. SIGKILL can't be blocked, remove this check from sigkill_pending(). 2. When ptrace_stop() sees sigkill_pending() == T, it can just return. Kill "int killed" and simplify the code. This also is more correct, the tracer shouldn't see us in TASK_TRACED if we are not going to stop. I strongly believe this code needs further changes. We should do the "was this task killed" check unconditionally, currently it depends on arch_ptrace_stop_needed(). On the other hand, sigkill_pending() isn't very clever. If the task was killed tkill(SIGKILL), the signal can be already dequeued if the caller is do_exit(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 364d3c13c17f45da6d638011078d4c4d3070d719 Author: Oleg Nesterov Date: Fri Jul 25 01:47:36 2008 -0700 ptrace: give more respect to SIGKILL ptrace_stop() has some complicated checks to prevent the scheduling in the TASK_TRACED state with the pending SIGKILL, but these checks are racy, and they depend on arch_ptrace_stop_needed(). This patch assumes that the traced task should die asap if it was killed by SIGKILL, in that case schedule()->signal_pending_state() has no reason to ignore the TASK_WAKEKILL part of TASK_TRACED, and we can kill this nasty special case. Note: do_exit()->ptrace_notify() is special, the killed task can already dequeue SIGKILL at this point. Another indication that fatal_signal_pending() is not exactly right. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Cc: Matthew Wilcox Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f22ab814a24e654b1de24db0c5f8b57b5ab2026a Author: Adrian Bunk Date: Fri Jul 25 01:47:34 2008 -0700 include/asm/ptrace.h userspace headers cleanup This patch contains the following cleanups for the asm/ptrace.h userspace headers: - include/asm-generic/Kbuild.asm already lists ptrace.h, remove the superfluous listings in the Kbuild files of the following architectures: - cris - frv - powerpc - x86 - don't expose function prototypes and macros to userspace: - arm - blackfin - cris - mn10300 - parisc - remove #ifdef CONFIG_'s around #define's: - blackfin - m68knommu - sh: AFAIK __SH5__ should work in both kernel and userspace, no need to leak CONFIG_SUPERH64 to userspace - xtensa: cosmetical change to remove empty #ifndef __ASSEMBLY__ #else #endif from the userspace headers Not changed by this patch is the fact that the following architectures have a different struct pt_regs depending on CONFIG_ variables: - h8300 - m68knommu - mips This does not work in userspace. Signed-off-by: Adrian Bunk Cc: Cc: Roland McGrath Cc: Oleg Nesterov Acked-by: Greg Ungerer Acked-by: Paul Mundt Acked-by: Grant Grundler Acked-by: Jesper Nilsson Acked-by: Chris Zankel Acked-by: David Howells Acked-by: Paul Mackerras Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc64efd220dcd4449aef8dd2564d73127b583b09 Author: Gustavo Fernando Padovan Date: Fri Jul 25 01:47:33 2008 -0700 kernel/signal.c: change vars pid and tgid types to pid_t Change the type of pid and tgid variables from int to the POSIX type pid_t. Signed-off-by: Gustavo F. Padovan Cc: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8878ba3f05ae5bbfad5a6e72e5121c0ea35f989 Author: Michael Kerrisk Date: Fri Jul 25 01:47:32 2008 -0700 signals: make siginfo_t si_utime + si_sstime report times in USER_HZ, not HZ In the switch to configurable HZ in 2.6, the treatment of the si_utime and si_stime fields that are exposed to userland via the siginfo structure looks to have been botched. As things stand, these fields report times in units of HZ, so that userland gets information that varies depending on the HZ that the kernel was configured with. This patch changes the reported values to use USER_HZ units. Signed-off-by: Michael Kerrisk Acked-by: Oleg Nesterov Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4901f92a8dbe843e76651a50f7a2a6dd3d53474 Author: Oleg Nesterov Date: Fri Jul 25 01:47:31 2008 -0700 coredump: zap_threads: comments && use while_each_thread() No changes in fs/exec.o The for_each_process() loop in zap_threads() is very subtle, it is not clear why we don't race with fork/exit/exec. Add the fat comment. Also, change the code to use while_each_thread(). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b201a9eddf509e8e935b45e573648e36f4b623f Author: Oleg Nesterov Date: Fri Jul 25 01:47:31 2008 -0700 signals: do_signal_stop: kill the SIGNAL_UNKILLABLE check fae5fa44f1fd079ffbed8e0add929dd7bbd1347f changed do_signal_stop() to check SIGNAL_UNKILLABLE, this wasn't needed. If signal_group_exit() == F, the signal sent to SIGNAL_UNKILLABLE task must be already filtered out by the caller, get_signal_to_deliver(). And if signal_group_exit() == T we are not going to stop. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92413d771e7123304fb4b9efd2a00cccc946e383 Author: Oleg Nesterov Date: Fri Jul 25 01:47:30 2008 -0700 signals: dequeue_signal: don't check SIGNAL_GROUP_EXIT when setting SIGNAL_STOP_DEQUEUED dequeue_signal() checks SIGNAL_GROUP_EXIT before setting SIGNAL_STOP_DEQUEUED. This was added by 788e05a67c343fa22f2ae1d3ca264e7f15c25eaf a long ago to avoid the coredump/SIGSTOP race. Since then the related code was changed, and now this subtle check is both incomplete and unneeded at the same time. It is incomplete because nowadays exec() doesn't set SIGNAL_GROUP_EXIT, so in fact we should check signal_group_exit() to avoid a similar race. Fortunately, we doesn't need the check at all. The only function which relies on SIGNAL_STOP_DEQUEUED is do_signal_stop(), and it ignores this flag if signal_group_exit() == T, this covers the SIGNAL_GROUP_EXIT case. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3854a771821c970065e3203a0b40ddc4101538cc Author: Oleg Nesterov Date: Fri Jul 25 01:47:29 2008 -0700 __exit_signal: don't take rcu lock There is no reason for rcu_read_lock() in __exit_signal(). tsk->sighand can only be changed if tsk does exec, obviously this is not possible. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 100360f03077663b7bef3af44805b6cf700c3bee Author: Oleg Nesterov Date: Fri Jul 25 01:47:29 2008 -0700 signals: change collect_signal() to return void With the recent changes collect_signal() always returns true. Change it to return void and update the single caller. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4434207616980885205c605697868c0f07e4378 Author: Oleg Nesterov Date: Fri Jul 25 01:47:28 2008 -0700 signals: collect_signal: simplify the "still_pending" logic Factor out sigdelset() calls and remove the "still_pending" variable. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6715ca451cfff1c9ce4b33ad9918a1dacf43997c Author: Oleg Nesterov Date: Fri Jul 25 01:47:27 2008 -0700 signals: collect_signal: remove the unneeded sigismember() check collect_signal() checks sigismember(&list->signal, sig), this is not needed. This "sig" was just found by next_signal(), so it must be valid. We have a (completely broken) call to ->notifier in between, but it must not play with sigpending->signal bits or unlock ->siglock. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96347e7759e2e433c427defa0fa1adfc8cce6226 Author: Oleg Nesterov Date: Fri Jul 25 01:47:27 2008 -0700 posix timers: release_posix_timer: kill the bogus put_task_struct(->it_process); release_posix_timer() can't be called with ->it_process != NULL. Once sys_timer_create() sets ->it_process it must not call release_posix_timer(), otherwise we can race with another thread doing sys_timer_delete(), this timer is visible to idr_find() and unlocked. The same is true for two other callers (actually, for any possible caller), sys_timer_delete() and itimer_delete(). They must clear ->it_process before unlock_timer() + release_posix_timer(). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: john stultz Cc: Thomas Gleixner Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b7a1304267bff68260ae861784b27130e805be3 Author: Oleg Nesterov Date: Fri Jul 25 01:47:26 2008 -0700 posix timers: timer_delete: remove the bogus "->it_process != NULL" check sys_timer_delete() and itimer_delete() check "timer->it_process != NULL", this looks completely bogus. ->it_process == NULL means that this timer is already under destruction or it is not fully initialized, this must not happen. sys_timer_delete: the timer is locked, and lock_timer() can't succeed if ->it_process == NULL. itimer_delete: it is called by exit_itimers() when there are no other threads which can play with signal_struct->posix_timers. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: john stultz Cc: Thomas Gleixner Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da5ef6bb96158b0fc0d808704237a453af449124 Author: Lai Jiangshan Date: Fri Jul 25 01:47:25 2008 -0700 cpuset: two minor code-cleanups In cpuset_update_task_memory_state() local variable struct task_struct *tsk = current; And local variable tsk is used 14 times and statement task_cs(tsk) is used twice in this function. So using task_cs(tsk) instead of task_cs(current) is better for readability. And "(struct cgroup_scanner *)&scan" is not good for readability also. (and "container_of" is used in cpuset_do_move_task(), not "(cpuset_hotplug_scanner *)scan") Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02412483777651a26b19a75e49c2a451a174ca9c Author: Lai Jiangshan Date: Fri Jul 25 01:47:24 2008 -0700 cpuset: code-cleanup for started_after cgroup(cgroup_scan_tasks) will initialize heap->gt for us. This patch removes started_after() and its helper-function. Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 489a5393a20dcbf91104052120eb2eff8791b61b Author: Lai Jiangshan Date: Fri Jul 25 01:47:23 2008 -0700 cpuset: don't pass empty cpumasks to partition_sched_domains() I create lots of empty cpusets(empty cpumasks) and turn off the "sched_load_balance" in top cpuset. I found that all these empty cpumasks are passed to partition_sched_domains() in rebuild_sched_domains(), it's very time-consuming for partition_sched_domains() and it's not need. It also reduce memory consumed and some works in rebuild_sched_domains() too. Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c372e817afc629fea9ff6321313325ed0b4a855b Author: Li Zefan Date: Fri Jul 25 01:47:23 2008 -0700 cpuset: avoid unnecessary sched domains rebuilding When changing 'sched_relax_domain_level', don't rebuild sched domains if 'cpus' is empty or 'sched_load_balance' is not set. Also make the comments of rebuild_sched_domains() more readable. Signed-off-by: Li Zefan Cc: Hidetoshi Seto Cc: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9b4fb8dabf38fb456c97f01aace07cb6e7c1723 Author: Miao Xie Date: Fri Jul 25 01:47:22 2008 -0700 cpusets: update task's cpus_allowed and mems_allowed after CPU/NODE offline/online The bug is that a task may run on the cpu/node which is not in its cpuset.cpus/ cpuset.mems. It can be reproduced by the following commands: ----------------------------------- # mkdir /dev/cpuset # mount -t cpuset xxx /dev/cpuset # mkdir /dev/cpuset/0 # echo 0-1 > /dev/cpuset/0/cpus # echo 0 > /dev/cpuset/0/mems # echo $$ > /dev/cpuset/0/tasks # echo 0 > /sys/devices/system/cpu/cpu1/online # echo 1 > /sys/devices/system/cpu/cpu1/online ----------------------------------- There is only CPU0 in cpuset.cpus, but the task in this cpuset runs on both CPU0 and CPU1. It is because the task's cpu_allowed didn't get updated after we did CPU offline/online manipulation. Similar for mem_allowed. This patch fixes this bug expect for root cpuset. Because there is a problem about root cpuset, in that whether it is necessary to update all the tasks in root cpuset or not after cpu/node offline/online. If updating, some kernel threads which is bound into a specified cpu will be unbound. If not updating, there is a bug in root cpuset. This bug is also caused by offline/online manipulation. For example, there is a dual-cpu machine. we create a sub cpuset in root cpuset and assign 1 to its cpus. And then we attach some tasks into this sub cpuset. After this, we offline CPU1. Now, the tasks in this new cpuset are moved into root cpuset automatically because there is no cpu in sub cpuset. Then we online CPU1, we find all the tasks which doesn't belong to root cpuset originally just run on CPU0. Maybe we need to add a flag in the task_struct to mark which task can't be unbound? Signed-off-by: Miao Xie Acked-by: Paul Jackson Cc: Li Zefan Cc: Paul Jackson Cc: Paul Menage Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b2f630a28d53b5a2082a5275bc3334b10373508 Author: Miao Xie Date: Fri Jul 25 01:47:21 2008 -0700 cpusets: restructure the function update_cpumask() and update_nodemask() Extract two functions from update_cpumask() and update_nodemask().They will be used later for updating tasks' cpus_allowed and mems_allowed after CPU/NODE offline/online. [lizf@cn.fujitsu.com: build fix] Signed-off-by: Miao Xie Acked-by: Paul Jackson Cc: David Rientjes Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 628f42355389cfb596ca3a5a5f64fb9054a2a06a Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:20 2008 -0700 memcg: limit change shrink usage Shrinking memory usage at limit change. [akpm@linux-foundation.org: coding-style fixes] Acked-by: Balbir Singh Acked-by: Pavel Emelyanov Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12b9804419cfb1c1bdac413f6c373af3b88d154b Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:19 2008 -0700 res_counter: limit change support ebusy Add an interface to set limit. This is necessary to memory resource controller because it shrinks usage at set limit. Other controllers may not need this interface to shrink usage because shrinking is not necessary or impossible. Acked-by: Balbir Singh Acked-by: Pavel Emelyanov Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cede86acd8bd5d2205dec28db8ac86410a3a19e8 Author: Li Zefan Date: Fri Jul 25 01:47:18 2008 -0700 memcg: clean up checking of the disabled flag Those checks are unnecessary, because when the subsystem is disabled it can't be mounted, so those functions won't get called. The check is needed in functions which will be called in other places except cgroup. [hugh@veritas.com: further checking of disabled flag] Signed-off-by: Li Zefan Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Acked-by: KOSAKI Motohiro Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit accf163e6ab729f1fc5fffaa0310e498270bf4e7 Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:17 2008 -0700 memcg: remove a redundant check Because of remove refcnt patch, it's very rare case to that mem_cgroup_charge_common() is called against a page which is accounted. mem_cgroup_charge_common() is called when. 1. a page is added into file cache. 2. an anon page is _newly_ mapped. A racy case is that a newly-swapped-in anonymous page is referred from prural threads in do_swap_page() at the same time. (a page is not Locked when mem_cgroup_charge() is called from do_swap_page.) Another case is shmem. It charges its page before calling add_to_page_cache(). Then, mem_cgroup_charge_cache() is called twice. This case is handled in mem_cgroup_cache_charge(). But this check may be too hacky... Signed-off-by : KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Li Zefan Cc: Hugh Dickins Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b76734e5e34e1889ab9fc5f3756570b1129f0f50 Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:16 2008 -0700 memcg: add hints for branch Showing brach direction for obvious conditions. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Li Zefan Cc: Hugh Dickins Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9b0ed51483cc2fc42bb801b6675c4231b0e4634 Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:15 2008 -0700 memcg: helper function for relcaim from shmem. A new call, mem_cgroup_shrink_usage() is added for shmem handling and relacing non-standard usage of mem_cgroup_charge/uncharge. Now, shmem calls mem_cgroup_charge() just for reclaim some pages from mem_cgroup. In general, shmem is used by some process group and not for global resource (like file caches). So, it's reasonable to reclaim pages from mem_cgroup where shmem is mainly used. [hugh@veritas.com: shmem_getpage release page sooner] [hugh@veritas.com: mem_cgroup_shrink_usage css_put] Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Li Zefan Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: David Rientjes Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69029cd550284e32de13d6dd2f77b723c8a0e444 Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:14 2008 -0700 memcg: remove refcnt from page_cgroup memcg: performance improvements Patch Description 1/5 ... remove refcnt fron page_cgroup patch (shmem handling is fixed) 2/5 ... swapcache handling patch 3/5 ... add helper function for shmem's memory reclaim patch 4/5 ... optimize by likely/unlikely ppatch 5/5 ... remove redundunt check patch (shmem handling is fixed.) Unix bench result. == 2.6.26-rc2-mm1 + memory resource controller Execl Throughput 2915.4 lps (29.6 secs, 3 samples) C Compiler Throughput 1019.3 lpm (60.0 secs, 3 samples) Shell Scripts (1 concurrent) 5796.0 lpm (60.0 secs, 3 samples) Shell Scripts (8 concurrent) 1097.7 lpm (60.0 secs, 3 samples) Shell Scripts (16 concurrent) 565.3 lpm (60.0 secs, 3 samples) File Read 1024 bufsize 2000 maxblocks 1022128.0 KBps (30.0 secs, 3 samples) File Write 1024 bufsize 2000 maxblocks 544057.0 KBps (30.0 secs, 3 samples) File Copy 1024 bufsize 2000 maxblocks 346481.0 KBps (30.0 secs, 3 samples) File Read 256 bufsize 500 maxblocks 319325.0 KBps (30.0 secs, 3 samples) File Write 256 bufsize 500 maxblocks 148788.0 KBps (30.0 secs, 3 samples) File Copy 256 bufsize 500 maxblocks 99051.0 KBps (30.0 secs, 3 samples) File Read 4096 bufsize 8000 maxblocks 2058917.0 KBps (30.0 secs, 3 samples) File Write 4096 bufsize 8000 maxblocks 1606109.0 KBps (30.0 secs, 3 samples) File Copy 4096 bufsize 8000 maxblocks 854789.0 KBps (30.0 secs, 3 samples) Dc: sqrt(2) to 99 decimal places 126145.2 lpm (30.0 secs, 3 samples) INDEX VALUES TEST BASELINE RESULT INDEX Execl Throughput 43.0 2915.4 678.0 File Copy 1024 bufsize 2000 maxblocks 3960.0 346481.0 875.0 File Copy 256 bufsize 500 maxblocks 1655.0 99051.0 598.5 File Copy 4096 bufsize 8000 maxblocks 5800.0 854789.0 1473.8 Shell Scripts (8 concurrent) 6.0 1097.7 1829.5 ========= FINAL SCORE 991.3 == 2.6.26-rc2-mm1 + this set == Execl Throughput 3012.9 lps (29.9 secs, 3 samples) C Compiler Throughput 981.0 lpm (60.0 secs, 3 samples) Shell Scripts (1 concurrent) 5872.0 lpm (60.0 secs, 3 samples) Shell Scripts (8 concurrent) 1120.3 lpm (60.0 secs, 3 samples) Shell Scripts (16 concurrent) 578.0 lpm (60.0 secs, 3 samples) File Read 1024 bufsize 2000 maxblocks 1003993.0 KBps (30.0 secs, 3 samples) File Write 1024 bufsize 2000 maxblocks 550452.0 KBps (30.0 secs, 3 samples) File Copy 1024 bufsize 2000 maxblocks 347159.0 KBps (30.0 secs, 3 samples) File Read 256 bufsize 500 maxblocks 314644.0 KBps (30.0 secs, 3 samples) File Write 256 bufsize 500 maxblocks 151852.0 KBps (30.0 secs, 3 samples) File Copy 256 bufsize 500 maxblocks 101000.0 KBps (30.0 secs, 3 samples) File Read 4096 bufsize 8000 maxblocks 2033256.0 KBps (30.0 secs, 3 samples) File Write 4096 bufsize 8000 maxblocks 1611814.0 KBps (30.0 secs, 3 samples) File Copy 4096 bufsize 8000 maxblocks 847979.0 KBps (30.0 secs, 3 samples) Dc: sqrt(2) to 99 decimal places 128148.7 lpm (30.0 secs, 3 samples) INDEX VALUES TEST BASELINE RESULT INDEX Execl Throughput 43.0 3012.9 700.7 File Copy 1024 bufsize 2000 maxblocks 3960.0 347159.0 876.7 File Copy 256 bufsize 500 maxblocks 1655.0 101000.0 610.3 File Copy 4096 bufsize 8000 maxblocks 5800.0 847979.0 1462.0 Shell Scripts (8 concurrent) 6.0 1120.3 1867.2 ========= FINAL SCORE 1004.6 This patch: Remove refcnt from page_cgroup(). After this, * A page is charged only when !page_mapped() && no page_cgroup is assigned. * Anon page is newly mapped. * File page is added to mapping->tree. * A page is uncharged only when * Anon page is fully unmapped. * File page is removed from LRU. There is no change in behavior from user's view. This patch also removes unnecessary calls in rmap.c which was used only for refcnt mangement. [akpm@linux-foundation.org: fix warning] [hugh@veritas.com: fix shmem_unuse_inode charging] Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Li Zefan Cc: Hugh Dickins Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: David Rientjes Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8589cc189f96b87348ae83ea4db38eaac624135 Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:10 2008 -0700 memcg: better migration handling This patch changes page migration under memory controller to use a different algorithm. (thanks to Christoph for new idea.) Before: - page_cgroup is migrated from an old page to a new page. After: - a new page is accounted , no reuse of page_cgroup. Pros: - We can avoid compliated lock depndencies and races in migration. Cons: - new param to mem_cgroup_charge_common(). - mem_cgroup_getref() is added for handling ref_cnt ping-pong. This version simplifies complicated lock dependency in page migraiton under memory resource controller. new refcnt sequence is following. a mapped page: prepage_migration() ..... +1 to NEW page try_to_unmap() ..... all refs to OLD page is gone. move_pages() ..... +1 to NEW page if page cache. remap... ..... all refs from *map* is added to NEW one. end_migration() ..... -1 to New page. page's mapcount + (page_is_cache) refs are added to NEW one. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Li Zefan Cc: YAMAMOTO Takashi Cc: Hugh Dickins Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 508b7be0a5b06b64203512ed9b34191cddc83f56 Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:09 2008 -0700 memcg: avoid unnecessary initialization * remove over-killing initialization (in fast path) * makeing the condition for PAGE_CGROUP_FLAG_ACTIVE be more obvious. Signed-off-by: KAMEAZAWA Hiroyuki Reviewed-by: Li Zefan Acked-by: Balbir Singh Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a181b0e888a1d917edcab57cd73ccf7d8e75a46c Author: KAMEZAWA Hiroyuki Date: Fri Jul 25 01:47:08 2008 -0700 memcg: make global var read_mostly mem_cgroup_subsys and page_cgroup_cache should be read_mostly and MEM_CGROUP_RECLAIM_RETRIES can be just a fixed number. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7759fc9d10d3559f365cb122d81e0c0a185fe0fe Author: Li Zefan Date: Fri Jul 25 01:47:08 2008 -0700 devcgroup: code cleanup - clean up set_majmin() - use simple_strtoul() to parse major/minor [akpm@linux-foundation.org: fix simple_strtoul() usage] [kosaki.motohiro@jp.fujitsu.com: fix warnings] Signed-off-by: Li Zefan Acked-by: Serge Hallyn Cc: Serge Hallyn Cc: Paul Menage Cc: Pavel Emelyanov Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4efd1a1b2f09a4b746dd9dc057986c6dadcb1317 Author: Pavel Emelyanov Date: Fri Jul 25 01:47:07 2008 -0700 devcgroup: relax white-list protection down to RCU Currently this list is protected with a simple spinlock, even for reading from one. This is OK, but can be better. Actually I want it to be better very much, since after replacing the OpenVZ device permissions engine with the cgroup-based one I noticed, that we set 12 default device permissions for each newly created container (for /dev/null, full, terminals, ect devices), and people sometimes have up to 20 perms more, so traversing the ~30-40 elements list under a spinlock doesn't seem very good. Here's the RCU protection for white-list - dev_whitelist_item-s are added and removed under the devcg->lock, but are looked up in permissions checking under the rcu_read_lock. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Balbir Singh Cc: Paul Menage Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e885dcde75685e09f23cffae1f6d5169c105b8a0 Author: Serge E. Hallyn Date: Fri Jul 25 01:47:06 2008 -0700 cgroup_clone: use pid of newly created task for new cgroup cgroup_clone creates a new cgroup with the pid of the task. This works correctly for unshare, but for clone cgroup_clone is called from copy_namespaces inside copy_process, which happens before the new pid is created. As a result, the new cgroup was created with current's pid. This patch: 1. Moves the call inside copy_process to after the new pid is created 2. Passes the struct pid into ns_cgroup_clone (as it is not yet attached to the task) 3. Passes a name from ns_cgroup_clone() into cgroup_clone() so as to keep cgroup_clone() itself simpler 4. Uses pid_vnr() to get the process id value, so that the pid used to name the new cgroup is always the pid as it would be known to the task which did the cloning or unsharing. I think that is the most intuitive thing to do. This way, task t1 does clone(CLONE_NEWPID) to get t2, which does clone(CLONE_NEWPID) to get t3, then the cgroup for t3 will be named for the pid by which t2 knows t3. (Thanks to Dan Smith for finding the main bug) Changelog: June 11: Incorporate Paul Menage's feedback: don't pass NULL to ns_cgroup_clone from unshare, and reduce patch size by using 'nodename' in cgroup_clone. June 10: Original version [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Serge Hallyn Acked-by: Paul Menage Tested-by: Dan Smith Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 856c13aa1ff6136c1968414fdea5938ea9d5ebf2 Author: Paul Menage Date: Fri Jul 25 01:47:04 2008 -0700 cgroup files: convert res_counter_write() to be a cgroups write_string() handler Currently res_counter_write() is a raw file handler even though it's ultimately taking a number, since in some cases it wants to pre-process the string when converting it to a number. This patch converts res_counter_write() from a raw file handler to a write_string() handler; this allows some of the boilerplate copying/locking/checking to be removed, and simplies the cleanup path, since these functions are now performed by the cgroups framework. [lizf@cn.fujitsu.com: build fix] Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Cc: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f92523e3a7861f5dbd76021e0719a35fe8771f2d Author: Paul Menage Date: Fri Jul 25 01:47:03 2008 -0700 cgroup files: convert devcgroup_access_write() into a cgroup write_string() handler This patch converts devcgroup_access_write() from a raw file handler into a handler for the cgroup write_string() method. This allows some boilerplate copying/locking/checking to be removed and simplifies the cleanup path, since these functions are performed by the cgroups framework before calling the handler. Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Acked-by: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e37123953292146445c8629b3950d0513fd10ae2 Author: Paul Menage Date: Fri Jul 25 01:47:02 2008 -0700 cgroup files: remove cpuset_common_file_write() This patch tweaks the signatures of the update_cpumask() and update_nodemask() functions so that they can be called directly as handlers for the new cgroups write_string() method. This allows cpuset_common_file_write() to be removed. Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Cc: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af351026aafc8da16518a02b41c66d3e0c1cdef4 Author: Paul Menage Date: Fri Jul 25 01:47:01 2008 -0700 cgroup files: turn attach_task_by_pid directly into a cgroup write handler This patch changes attach_task_by_pid() to take a u64 rather than a string; as a result it can be called directly as a control groups write_u64 handler, and cgroup_common_file_write() can be removed. Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Cc: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6379c106152388f7ea45d6dda63edda0e9181fc8 Author: Paul Menage Date: Fri Jul 25 01:47:01 2008 -0700 cgroup files: move notify_on_release file to separate write handler This patch moves the write handler for the cgroups notify_on_release file into a separate handler. This handler requires no cgroups locking since it relies on atomic bitops for synchronization. Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Cc: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84eea842886ac35020be6043e04748ed22014359 Author: Paul Menage Date: Fri Jul 25 01:47:00 2008 -0700 cgroups: misc cleanups to write_string patchset This patch contains cleanups suggested by reviewers for the recent write_string() patchset: - pair cgroup_lock_live_group() with cgroup_unlock() in cgroup.c for clarity, rather than directly unlocking cgroup_mutex. - make the return type of cgroup_lock_live_group() a bool - use a #define'd constant for the local buffer size in read/write functions Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Acked-by: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e788e066c651b1bbf4a927dc95395c1aa13be436 Author: Paul Menage Date: Fri Jul 25 01:46:59 2008 -0700 cgroup files: move the release_agent file to use typed handlers Adds cgroup_release_agent_write() and cgroup_release_agent_show() methods to handle writing/reading the path to a cgroup hierarchy's release agent. As a result, cgroup_common_file_read() is now unnecessary. As part of the change, a previously-tolerated race in cgroup_release_agent() is avoided by copying the current release_agent_path prior to calling call_usermode_helper(). Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Acked-by: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db3b14978abc02041046ed8353f0899cb58ffffc Author: Paul Menage Date: Fri Jul 25 01:46:58 2008 -0700 cgroup files: add write_string cgroup control file method This patch adds a write_string() method for cgroups control files. The semantics are that a buffer is copied from userspace to kernelspace and the handler function invoked on that buffer. The buffer is guaranteed to be nul-terminated, and no longer than max_write_len (defaulting to 64 bytes if unspecified). Later patches will convert existing raw file write handlers in control group subsystems to use this method. Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Acked-by: Balbir Singh Acked-by: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce16b49d37e748574f7fabc2726268d542d0aa1a Author: Paul Menage Date: Fri Jul 25 01:46:57 2008 -0700 cgroup files: clean up whitespace in struct cftype This patch removes some extraneous spaces from method declarations in struct cftype, to fit in with conventional kernel style. Signed-off-by: Paul Menage Cc: Paul Jackson Cc: Pavel Emelyanov Cc: Balbir Singh Cc: Serge Hallyn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8947f9d5b361ce927be6d5c11fed57905b7a4100 Author: Li Zefan Date: Fri Jul 25 01:46:56 2008 -0700 cgroups: annotate two variables with __read_mostly - need_forkexit_callback will be read only after system boot. - use_task_css_set_links will be read only after it's set. And these 2 variables are checked when a new process is forked. Signed-off-by: Li Zefan Acked-by: Paul Menage Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71cbb949d17d4d776abd547135feb7f3282405c8 Author: KOSAKI Motohiro Date: Fri Jul 25 01:46:55 2008 -0700 cgroup: list_for_each cleanup -------------------------- while() { list_entry(); ... } -------------------------- is equivalent to following code. -------------------------- list_for_each_entry(){ ... } -------------------------- later can review easily more. this patch is just clean up. it doesn't have any behavor change. Signed-off-by: KOSAKI Motohiro Cc: Paul Menage Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2992db2a4f7ae10f61d5bc68c7c1528cec639e2 Author: Pavel Emelyanov Date: Fri Jul 25 01:46:55 2008 -0700 Mark res_counter_charge(_locked) with __must_check Ignoring their return values may result in counter underflow in the future - when the value charged will be uncharged (or in "leaks" - when the value is not uncharged). This also prevents from using charging routines to decrement the counter value (i.e. uncharge it) ;) (Current code works OK with res_counter, however :) ) Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e9abd89cbdf9b73d327d8173343abce9022609b Author: Li Zefan Date: Fri Jul 25 01:46:54 2008 -0700 cgroup: use read lock to guard find_existing_css_set() The function does not modify anything (except the temporary css template), so it's sufficient to hold read lock. Signed-off-by: Li Zefan Acked-by: Paul Menage Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d96d82da437ed5f2053821779ed5d7797ed1f81 Author: Mike Frysinger Date: Fri Jul 25 01:46:53 2008 -0700 procfs-guide: drop pointless   entities Having trailing   entities in a revision numer seems pretty pointless to me. More so, it's causing me pains, so just drop them since no other guide is doing this. Signed-off-by: Mike Frysinger Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 657d3bfa98e542271b449f8cd84c7501ae2b2255 Author: Jan Kara Date: Fri Jul 25 01:46:52 2008 -0700 quota: implement sending information via netlink about user below quota Sometimes it may be useful for userspace to know (e.g. for some hosting guys) that some user stopped exceeding his hardlimit or softlimit in quotas. Implement sending of such events to userspace via quota netlink protocol so that they don't have to poll for such events. Based on idea and initial implementation by Vladislav Bogdanov. Cc: Vladislav Bogdanov Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03b063436ca1076301de58d9d628f610ab5404ad Author: Jan Kara Date: Fri Jul 25 01:46:52 2008 -0700 quota: convert macros to inline functions Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74abb9890dafb12a50dc140de215ed477beb1b88 Author: Jan Kara Date: Fri Jul 25 01:46:51 2008 -0700 quota: move function-macros from quota.h to quotaops.h Move declarations of some macros, which should be in fact functions to quotaops.h. This way they can be later converted to inline functions because we can now use declarations from quota.h. Also add necessary includes of quotaops.h to a few files. [akpm@linux-foundation.org: fix JFS build] [akpm@linux-foundation.org: fix UFS build] [vegard.nossum@gmail.com: fix QUOTA=n build] Signed-off-by: Jan Kara Cc: Vegard Nossum Cc: Arjen Pool Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a55ca87185e114e5d298a8d00608501dbabf67 Author: Jan Kara Date: Fri Jul 25 01:46:50 2008 -0700 quota: cleanup loop in sync_dquots() Make loop in sync_dquots() checking whether there's something to write more readable, remove useless variable and macro info_any_dirty() which is used only in this place. Signed-off-by: Jan Kara Cc: "Vegard Nossum" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b85f4b87a511bea86dac68c4f0fabaee2cac6c4c Author: Jan Kara Date: Fri Jul 25 01:46:50 2008 -0700 quota: rename quota functions from upper case, make bigger ones non-inline Cleanup quotaops.h: Rename functions from uppercase to lowercase (and define backward compatibility macros), move larger functions to dquot.c and make them non-inline. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b48d380541f634663b71766005838edbb7261685 Author: Jan Kara Date: Fri Jul 25 01:46:49 2008 -0700 quota: fix possible infinite loop in quota code When quota structure is going to be dropped and it is dirty, quota code tries to write it. If the write fails for some reason (e. g. transaction cannot be started because the journal is aborted), we try writing again and again and again... Fix the problem by clearing the dirty bit even if the write failed. (akpm: for 2.6.27, 2.6.26.x and 2.6.25.x) Signed-off-by: Jan Kara Reviewed-by: dingdinghua Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41003cde95e7e976d3876dbdcdc83dd0a9059279 Author: Joe Peterson Date: Fri Jul 25 01:46:48 2008 -0700 UTC timestamp option for FAT filesystems fix Signed-off-by: Joe Peterson Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b271e067c896ad4082b15e96077675d08db40625 Author: Joe Peterson Date: Fri Jul 25 01:46:47 2008 -0700 fatfs: add UTC timestamp option Provide a new mount option ("tz=UTC") for DOS (vfat/msdos) filesystems, allowing timestamps to be in coordinated universal time (UTC) rather than local time in applications where doing this is advantageous. In particular, portable devices that use fat/vfat (such as digital cameras) can benefit from using UTC in their internal clocks, thus avoiding daylight saving time errors and general time ambiguity issues. The user of the device does not have to worry about changing the time when moving from place or when daylight saving changes. The new mount option, when set, disables the counter-adjustment that Linux currently makes to FAT timestamp info in anticipation of the normal userspace time zone correction. When used in this new mode, all daylight saving time and time zone handling is done in userspace as is normal for many other filesystems (like ext3). The default mode, which remains unchanged, is still appropriate when mounting volumes written in Windows (because of its use of local time). I originally based this patch on one submitted last year by Paul Collins, but I updated it to work with current source and changed variable/option naming. Ogawa Hirofumi (who maintains these filesystems) and I discussed this patch at length on lkml, and he suggested using the option name in the attached version of the patch. Barry Bouwsma pointed out a good addition to the patch as well. Signed-off-by: Joe Peterson Signed-off-by: Paul Collins Acked-by: OGAWA Hirofumi Cc: Barry Bouwsma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8938a62a85d1f487e02c3b01955b47c9598f6d2 Author: Adrian Bunk Date: Fri Jul 25 01:46:46 2008 -0700 remove unused #include 's Remove some unused #include 's. Signed-off-by: Adrian Bunk Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf6ae8b50e0ee3f764392dadd1970e3f03c40773 Author: Adrian Bunk Date: Fri Jul 25 01:46:46 2008 -0700 remove the in-kernel struct dirent{,64} The kernel struct dirent{,64} were different from the ones in userspace. Even worse, we exported the kernel ones to userspace. But after the fat usages are fixed we can remove the conflicting kernel versions. Reviewed-by: H. Peter Anvin Signed-off-by: Adrian Bunk Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7557bc66be629d19a402e752673708bfbb8b5e86 Author: Rene Scharfe Date: Fri Jul 25 01:46:45 2008 -0700 msdos fs: remove unsettable atari option It has been impossible to set the option 'atari' of the MSDOS filesystem for several years. Since nobody seems to have missed it, let's remove its remains. Signed-off-by: Rene Scharfe Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcd8c53f13f068ee039589d84fbd0baf686abc41 Author: OGAWA Hirofumi Date: Fri Jul 25 01:46:44 2008 -0700 fat: small optimization to __fat_readdir() This removes unnecessary parsing for directory entries. If short_only, we don't need to parse longname. And if !both and it found the longname, we don't need shortname. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98a15160049fc1a0f822047f33ff513906a35567 Author: OGAWA Hirofumi Date: Fri Jul 25 01:46:44 2008 -0700 fat: use same logic in fat_search_long() and __fat_readdir() This uses uses stack for shortname, and uses __getname() for longname in fat_search_long() and __fat_readdir(). By this, it removes unneeded __getname() for shortname. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d688611674cc9c265ee67e89d2ea8bf060c17e8d Author: OGAWA Hirofumi Date: Fri Jul 25 01:46:43 2008 -0700 fat: cleanup fs/fat/dir.c This is no logic changes, just cleans fs/fat/dir.c up. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 531f710f8e68fd2bad7516a090bff372f5f9cf6d Author: Adrian Bunk Date: Fri Jul 25 01:46:43 2008 -0700 fat/dir.c: switch to struct __fat_dirent struct __fat_dirent is what was formerly the kernel struct dirent (that was different from the userspace struct dirent). Converting all fat users to struct __fat_dirent will allow us to get rid of the conflicting struct dirent definition. Signed-off-by: Adrian Bunk Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4596c8aaf96e8634ca755c9f34b91420a39bebd4 Author: OGAWA Hirofumi Date: Fri Jul 25 01:46:42 2008 -0700 fat: fix VFAT_IOCTL_READDIR_xxx and cleanup for userland "struct dirent" is a kernel type here, but is a **different type** in userspace! This means both the structure and the IOCTL number is wrong! So, this adds new "struct __fat_dirent" to generate correct IOCTL number. And kernel stuff moves to under __KERNEL__. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d44d9741f6808c107a144f469fb89e6fe7c55e3 Author: OGAWA Hirofumi Date: Fri Jul 25 01:46:41 2008 -0700 fat: fix parse_options() Current parse_options() exits too early. We need to run the code of bottom in this function even if users doesn't specify options. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3264d4ded4d916d294d776b77b72d477c63ac3be Author: Shen Feng Date: Fri Jul 25 01:46:41 2008 -0700 reiserfs: remove double definitions of xattr macros remove the definitions of macros: XATTR_SECURITY_PREFIX XATTR_TRUSTED_PREFIX XATTR_USER_PREFIX since they are defined in linux/xattr.h Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90415deac75a761a25239af6f56381546f8d2201 Author: Jeff Mahoney Date: Fri Jul 25 01:46:40 2008 -0700 reiserfs: convert j_commit_lock to mutex j_commit_lock is a semaphore but uses it as if it were a mutex. This patch converts it to a mutex. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeff Mahoney Cc: Matthew Wilcox Cc: Chris Mason Cc: Edward Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afe70259076fff0446001eaa1a287f615241a357 Author: Jeff Mahoney Date: Fri Jul 25 01:46:39 2008 -0700 reiserfs: convert j_flush_sem to mutex j_flush_sem is a semaphore but uses it as if it were a mutex. This patch converts it to a mutex. [akpm@linux-foundation.org: fix mutex_trylock retval treatment] Signed-off-by: Jeff Mahoney Cc: Matthew Wilcox Cc: Chris Mason Cc: Edward Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f68215c4640a38d66429014e524a627bf572d26a Author: Jeff Mahoney Date: Fri Jul 25 01:46:38 2008 -0700 reiserfs: convert j_lock to mutex j_lock is a semaphore but uses it as if it were a mutex. This patch converts it to a mutex. Signed-off-by: Jeff Mahoney Cc: Matthew Wilcox Cc: Chris Mason Cc: Edward Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00b441970a0ab48185244300ac7d4e4eb76df692 Author: Jan Kara Date: Fri Jul 25 01:46:38 2008 -0700 reiserfs: correct mount option parsing to detect when quota options can be changed We should not allow user to change quota mount options when quota is just suspended. It would make mount options and internal quota state inconsistent. Also we should not allow user to change quota format when quota is turned on. On the other hand we can just silently ignore when some option is set to the value it already has (some mount versions do this on remount). Finally, we should not discard current quota options if parsing of mount options fails. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4506567b24d3ea707e46e8aad64caef539382f4b Author: Jan Kara Date: Fri Jul 25 01:46:37 2008 -0700 reiserfs: fix typos in messages and comments (journalled -> journaled) Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d4f7fddf8882b214e4aabb3bdb37f90a72b2537 Author: Jan Kara Date: Fri Jul 25 01:46:36 2008 -0700 reiserfs: fix synchronization of quota files in journal=data mode In journal=data mode, it is not enough to do write_inode_now() as done in vfs_quota_on() to write all data to their final location (which is needed for quota_read to work correctly). Calling journal_end_sync() before calling vfs_quota_on() does it's job because transactions are committed to the journal and data marked as dirty in memory so write_inode_now() writes them to their final locations. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 895c23f8c39c0c8d7b536bb2566d4aa968d78be2 Author: Matthias Kaehlcke Date: Fri Jul 25 01:46:36 2008 -0700 hfsplus: convert the extents_lock in a mutex Apple Extended HFS file system: The semaphore extents lock is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39f8d472f280dee6503a364d1d911b9e20ce3ec9 Author: Matthias Kaehlcke Date: Fri Jul 25 01:46:35 2008 -0700 hfs: convert extents_lock in a mutex Apple Macintosh file system: The semaphore extens_lock is used as a mutex. Convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3084b72de73a6f8af0f16989ffb348068bd066d4 Author: Matthias Kaehlcke Date: Fri Jul 25 01:46:34 2008 -0700 hfs: convert bitmap_lock in a mutex Apple Macintosh file system: The semaphore bitmap_lock is used as a mutex. Convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de0ca06a99c33df8333955642843331ab6b6e7ff Author: Adrian Bunk Date: Fri Jul 25 01:46:34 2008 -0700 coda: remove CODA_FS_OLD_API While fixing CONFIG_ leakages to the userspace kernel headers I ran into CODA_FS_OLD_API. After five years, are there still people using the old API left? Especially considering that you have to choose at compile time which API to support in the kernel (and distributions tend to offer the new API for some time). Jan: "The old API can definitely go. Around the time the new interface went in there were some non-Coda userspace file system implementations that took a while longer to convert to the new API, but by now they all switched to the new interface or in some cases to a FUSE-based solution." Signed-off-by: Adrian Bunk Acked-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0a1633b6201ef79e31b7da464d44fdf5953054d Author: Adam Greenblatt Date: Fri Jul 25 01:46:32 2008 -0700 isofs: fix minor filesystem corruption Some iso9660 images contain files with rockridge data that is either incorrect or incompletely parsed. Prior to commit f2966632a134e865db3c819346a1dc7d96e05309 ("[PATCH] rock: handle directory overflows") (included with kernel 2.6.13) the kernel ignored the rockridge data for these files, while still allowing the files to be accessed under their non-rockridge names. That commit inadvertently changed things so that files with invalid rockridge data could not be accessed at all. (I ran across the problem when comparing some old CDs with hard disk copies I had made long ago under kernel 2.4: a few of the files on the hard disk copies were no longer visible on the CDs.) This change reverts to the pre-2.6.13 behavior. Signed-off-by: Adam Greenblatt Reviewed-by: Pekka Enberg Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 275c0a8f1253a7542ad9726956c918d8a1f694c4 Author: Duane Griffin Date: Fri Jul 25 01:46:31 2008 -0700 ext3: validate directory entry data before use ext3_dx_find_entry uses ext3_next_entry without verifying that the entry is valid. If its rec_len == 0 this causes an infinite loop. Refactor the loop to check the validity of entries before checking whether they match and moving onto the next one. There are other uses of ext3_next_entry in this file which also look problematic. They should be reviewed and fixed if/when we have a test-case that triggers them. This patch fixes the first case (image hdb.25.softlockup.gz) reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbe5f466f6995e10a10c7ae66d6dc8608f08a6b8 Author: Hidehiro Kawai Date: Fri Jul 25 01:46:30 2008 -0700 jbd: don't abort if flushing file data failed In ordered mode, the current jbd aborts the journal if a file data buffer has an error. But this behavior is unintended, and we found that it has been adopted accidentally. This patch undoes it and just calls printk() instead of aborting the journal. Additionally, set AS_EIO into the address_space object of the failed buffer which is submitted by journal_do_submit_data() so that fsync() can get -EIO. Missing error checkings are also added to inform errors on file data buffers to the user. The following buffers are targeted. (a) the buffer which has already been written out by pdflush (b) the buffer which has been unlocked before scanned in the t_locked_list loop [akpm@linux-foundation.org: improve grammar in a printk] Signed-off-by: Hidehiro Kawai Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ef2720397bb813d4985405a5ae7b8ad6474188b Author: Li Zefan Date: Fri Jul 25 01:46:29 2008 -0700 ext3: kill 2 useless magic numbers dx_root_limit() will never return 20, and I can't figure out what 20 stands for. This function has never changed since htree directory indexing was merged. Similar for dx_node_limit() and the magic 22. Signed-off-by: Li Zefan Acked-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc80c44277b3c92d808b73e9d40e120229aa4b6a Author: Toshiyuki Okajima Date: Fri Jul 25 01:46:29 2008 -0700 jbd: positively dispose the unmapped data buffers in journal_commit_transaction() After ext3-ordered files are truncated, there is a possibility that the pages which cannot be estimated still remain. Remaining pages can be released when the system has really few memory. So, it is not memory leakage. But the resource management software etc. may not work correctly. It is possible that journal_unmap_buffer() cannot release the buffers, and the pages to which they belong because they are attached to a commiting transaction and journal_unmap_buffer() cannot release them. To release such the buffers and the pages later, journal_unmap_buffer() leaves it to journal_commit_transaction(). (journal_unmap_buffer() puts the mark 'BH_Freed' to the buffers so that journal_commit_transaction() can identify whether they can be released or not.) In the journalled mode and the writeback mode, jbd does with only metadata buffers. But in the ordered mode, jbd does with metadata buffers and also data buffers. Actually, journal_commit_transaction() releases only the metadata buffers of which release is demanded by journal_unmap_buffer(), and also releases the pages to which they belong if possible. As a result, the data buffers of which release is demanded by journal_unmap_buffer() remain after a transaction commits. And also the pages to which they belong remain. Such the remained pages don't have mapping any longer. Due to this fact, there is a possibility that the pages which cannot be estimated remain. The metadata buffers marked 'BH_Freed' and the pages to which they belong can be released at 'JBD: commit phase 7'. Therefore, by applying the same code into 'JBD: commit phase 2' (where the data buffers are done with), journal_commit_transaction() can also release the data buffers marked 'BH_Freed' and the pages to which they belong. As a result, all the buffers marked 'BH_Freed' can be released, and also all the pages to which these buffers belong can be released at journal_commit_transaction(). So, the page which cannot be estimated is lost. <> > spin_lock(&journal->j_list_lock); > while (commit_transaction->t_forget) { > transaction_t *cp_transaction; > struct buffer_head *bh; > > jh = commit_transaction->t_forget; >... > if (buffer_freed(bh)) { > ^^^^^^^^^^^^^^^^^^^^^^^^ > clear_buffer_freed(bh); > ^^^^^^^^^^^^^^^^^^^^^^^^ > clear_buffer_jbddirty(bh); > } > > if (buffer_jbddirty(bh)) { > JBUFFER_TRACE(jh, "add to new checkpointing trans"); > __journal_insert_checkpoint(jh, commit_transaction); > JBUFFER_TRACE(jh, "refile for checkpoint writeback"); > __journal_refile_buffer(jh); > jbd_unlock_bh_state(bh); > } else { > J_ASSERT_BH(bh, !buffer_dirty(bh)); > ... > JBUFFER_TRACE(jh, "refile or unfile freed buffer"); > __journal_refile_buffer(jh); > if (!jh->b_transaction) { > jbd_unlock_bh_state(bh); > /* needs a brelse */ > journal_remove_journal_head(bh); > release_buffer_page(bh); > ^^^^^^^^^^^^^^^^^^^^^^^^ > } else > } **************************************************************** * Apply the code of "^^^^^^" lines into 'JBD: commit phase 2' * **************************************************************** At journal_commit_transaction() code, there is one extra message in the series of jbd debug messages. ("JBD: commit phase 2") This patch fixes it, too. Signed-off-by: Toshiyuki Okajima Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a10320e8f7c4dcfa050aac566092f29b40458d5a Author: Adrian Bunk Date: Fri Jul 25 01:46:26 2008 -0700 jbd: unexport journal_update_superblock Remove the unused EXPORT_SYMBOL(journal_update_superblock). Signed-off-by: Adrian Bunk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ccc3167b0e5d46ab3bf03e22fbdb7616ce038cd Author: Duane Griffin Date: Fri Jul 25 01:46:26 2008 -0700 ext3: handle deleting corrupted indirect blocks While freeing indirect blocks we attach a journal head to the parent buffer head, free the blocks, then journal the parent. If the indirect block list is corrupted and points to the parent the journal head will be detached when the block is cleared, causing an OOPS. Check for that explicitly and handle it gracefully. This patch fixes the third case (image hdb.20000057.nullderef.gz) reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882. Immediately above the change, in the ext3_free_data function, we call ext3_clear_blocks to clear the indirect blocks in this parent block. If one of those blocks happens to actually be the parent block it will clear b_private / BH_JBD. I did the check at the end rather than earlier as it seemed more elegant. I don't think there should be much practical difference, although it is possible the FS may not be quite so badly corrupted if we did it the other way (and didn't clear the block at all). To be honest, I'm not convinced there aren't other similar failure modes lurking in this code, although I couldn't find any with a quick review. [akpm@linux-foundation.org: fix printk warning] Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95450f5a7e53d5752ce1a0d0b8282e10fe745ae0 Author: Hidehiro Kawai Date: Fri Jul 25 01:46:24 2008 -0700 ext3: don't read inode block if the buffer has a write error A transient I/O error can corrupt inode data. Here is the scenario: (1) update inode_A at the block_B (2) pdflush writes out new inode_A to the filesystem, but it results in write I/O error, at this point, BH_Uptodate flag of the buffer for block_B is cleared and BH_Write_EIO is set (3) create new inode_C which located at block_B, and __ext3_get_inode_loc() tries to read on-disk block_B because the buffer is not uptodate (4) if it can read on-disk block_B successfully, inode_A is overwritten by old data This patch makes __ext3_get_inode_loc() not read the inode block if the buffer has BH_Write_EIO flag. In this case, the buffer should have the latest information, so setting the uptodate flag to the buffer (this avoids WARN_ON_ONCE() in mark_buffer_dirty().) According to this change, we would need to test BH_Write_EIO flag for the error checking. Currently nobody checks write I/O errors on metadata buffers, but it will be done in other patches I'm working on. Signed-off-by: Hidehiro Kawai Cc: sugita Cc: Satoshi OSHIMA Cc: Nick Piggin Cc: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae76dd9a6b5bbe5315fb7028e03f68f75b8538f3 Author: Duane Griffin Date: Fri Jul 25 01:46:23 2008 -0700 ext3: handle corrupted orphan list at mount If the orphan node list includes valid, untruncatable nodes with nlink > 0 the ext3_orphan_cleanup loop which attempts to delete them will not do so, causing it to loop forever. Fix by checking for such nodes in the ext3_orphan_get function. This patch fixes the second case (image hdb.20000009.softlockup.gz) reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: printk warning fix] Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef1afd39519b74fbe1f63c9ab5a14490effec0e3 Author: Shen Feng Date: Fri Jul 25 01:46:23 2008 -0700 ext3: remove double definitions of xattr macros remove the definitions of macros: XATTR_TRUSTED_PREFIX XATTR_USER_PREFIX since they are defined in linux/xattr.h Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f31fddfa26b7594b44ff2b34f9a04ba409e0f91 Author: Mingming Cao Date: Fri Jul 25 01:46:22 2008 -0700 jbd: fix race between free buffer and commit transaction journal_try_to_free_buffers() could race with jbd commit transaction when the later is holding the buffer reference while waiting for the data buffer to flush to disk. If the caller of journal_try_to_free_buffers() request tries hard to release the buffers, it will treat the failure as error and return back to the caller. We have seen the directo IO failed due to this race. Some of the caller of releasepage() also expecting the buffer to be dropped when passed with GFP_KERNEL mask to the releasepage()->journal_try_to_free_buffers(). With this patch, if the caller is passing the __GFP_WAIT and __GFP_FS to indicating this call could wait, in case of try_to_free_buffers() failed, let's waiting for journal_commit_transaction() to finish commit the current committing transaction, then try to free those buffers again. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mingming Cao Reviewed-by: Badari Pulavarty Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ebfbe9f926553eabc21b4400918d1216b27ed0c Author: Shen Feng Date: Fri Jul 25 01:46:21 2008 -0700 ext3: improve some code in rb tree part of dir.c - remove unnecessary code in free_rb_tree_fname - rename free_rb_tree_fname to ext3_htree_create_dir_info since it and ext3_htree_free_dir_info are a pair - replace kmalloc with kzalloc in ext3_htree_free_dir_info Signed-off-by: Shen Feng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1984bb763c2e50d0ebfb0cf56d1b319bd7afe63a Author: Duane Griffin Date: Fri Jul 25 01:46:21 2008 -0700 jbd: tidy up revoke cache initialisation and destruction Make revocation cache destruction safe to call if initialisation fails partially or entirely. This allows it to be used to cleanup in the case of initialisation failure, simplifying that code slightly. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4d79ca2fa211cffc07306eeed7013448e77d7ec Author: Duane Griffin Date: Fri Jul 25 01:46:20 2008 -0700 jbd: eliminate duplicated code in revocation table init/destroy functions The revocation table initialisation/destruction code is repeated for each of the two revocation tables stored in the journal. Refactoring the duplicated code into functions is tidier, simplifies the logic in initialisation in particular, and slightly reduces the code size. There should not be any functional change. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3850f7a521dc17659ef6758a219f083418788490 Author: Duane Griffin Date: Fri Jul 25 01:46:19 2008 -0700 jbd: replace potentially false assertion with if block If an error occurs during jbd cache initialisation it is possible for the journal_head_cache to be NULL when journal_destroy_journal_head_cache is called. Replace the J_ASSERT with an if block to handle the situation correctly. Note that even with this fix things will break badly if jbd is statically compiled in and cache initialisation fails. Signed-off-by: Duane Griffin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d06bf1d252fe16f5f0d13e04da7a9913420aa1cf Author: Jan Kara Date: Fri Jul 25 01:46:18 2008 -0700 ext3: correct mount option parsing to detect when quota options can be changed We should not allow user to change quota mount options when quota is just suspended. I would make mount options and internal quota state inconsistent. Also we should not allow user to change quota format when quota is turned on. On the other hand we can just silently ignore when some option is set to the value it already has (mount does this on remount). Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99aeaf639f61ab6be1967e5f92e2e28dafad8383 Author: Jan Kara Date: Fri Jul 25 01:46:17 2008 -0700 ext3: fix typos in messages and comments (journalled -> journaled) Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cfe7b9010aa66da5f3b2bc33d9e30a4d53bd274 Author: Jan Kara Date: Fri Jul 25 01:46:16 2008 -0700 ext3: fix synchronization of quota files in journal=data mode In journal=data mode, it is not enough to do write_inode_now as done in vfs_quota_on() to write all data to their final location (which is needed for quota_read to work correctly). Calling journal_flush() does its job. Reported-by: Nick Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50c33a84db4aa5082e3af8d873b22344ae2ebea8 Author: Samuel Thibault Date: Fri Jul 25 01:46:16 2008 -0700 ext2: fix typo in Hurd part of include/linux/ext2_fs.h Fix typo in Hurd part of include/linux/ext2_fs.h The ';' here is redundant or can even pose problem. This is actually not used by the Linux kernel, but it is exposed in GNU/Hurd. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f905f06fca5d3949eca12f5a43e251a404b3470a Author: Shen Feng Date: Fri Jul 25 01:46:15 2008 -0700 ext2: remove double definitions of xattr macros remove the definitions of macros: XATTR_TRUSTED_PREFIX XATTR_USER_PREFIX since they are defined in linux/xattr.h Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb523f32275344282f20ef3352cbf03e599241e6 Author: Adrian Bunk Date: Fri Jul 25 01:46:14 2008 -0700 minix: remove !NO_TRUNCATE code This patch removes the !NO_TRUNCATE code that anyway required a manual editing of the code for being used. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbcd6d543de335bf81e96477f46a60a8bf51039c Author: Eric Miao Date: Fri Jul 25 01:46:14 2008 -0700 gpio: max732x driver This adds a driver supporting a family of I2C port expanders from Maxim, which includes the MAX7319 and MAX7320-7327 chips. [dbrownell@users.sourceforge.net: minor fixes] Signed-off-by: Jack Ren Signed-off-by: Eric Miao Acked-by: Jean Delvare Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7444a72effa632fcd8edc566f880d96fe213c73b Author: Michael Buesch Date: Fri Jul 25 01:46:11 2008 -0700 gpiolib: allow user-selection This patch adds functionality to the gpio-lib subsystem to make it possible to enable the gpio-lib code even if the architecture code didn't request to get it built in. The archtitecture code does still need to implement the gpiolib accessor functions in its asm/gpio.h file. This patch adds the implementations for x86 and PPC. With these changes it is possible to run generic GPIO expansion cards on every architecture that implements the trivial wrapper functions. Support for more architectures can easily be added. Signed-off-by: Michael Buesch Cc: Benjamin Herrenschmidt Cc: Stephen Rothwell Cc: David Brownell Cc: Russell King Cc: Haavard Skinnemoen Cc: Jesper Nilsson Cc: Ralf Baechle Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Jean Delvare Cc: Samuel Ortiz Cc: Kumar Gala Cc: Sam Ravnborg Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff1d5c2f0268f4e32103536e2e65480b5b7b6530 Author: Michael Buesch Date: Fri Jul 25 01:46:10 2008 -0700 gpio: add bt8xxgpio driver This adds the bt8xxgpio driver. The purpose of the bt8xxgpio driver is to export all of the 24 GPIO pins available on Brooktree 8xx chips to the kernel GPIO infrastructure. This makes it possible to use a physically modified BT8xx card as cheap digital GPIO card. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Michael Buesch Cc: David Brownell Cc: Stephen Rothwell Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f1cc3b10e6ee0c5c7c8ed27f8771c4f252b4862 Author: David Brownell Date: Fri Jul 25 01:46:09 2008 -0700 gpio: mcp23s08 handles multiple chips per chipselect Teach the mcp23s08 driver about a curious feature of these chips: up to four of them can share the same chipselect, with the SPI signals wired in parallel, by matching two bits in the first protocol byte against two address lines on the chip. This is handled by three software changes: * Platform data now holds an array of per-chip structs, not just one chip's address and pullup configuration. * Probe() and remove() now use another level of structure, wrapping an instance of the original structure for each mcp23s08 chip sharing that chipselect. * The HAEN bit is set, so that the hardware address bits can no longer be ignored (boot firmware may not have enabled them). The "one struct per chip" preserves the guts of the current code, but platform_data will need minor changes. OLD: /* incorrect "slave" ID may not have mattered */ .slave = 3, .pullups = BIT(3) | BIT(1) | BIT(0), NEW: /* slave address _must_ match chip's wiring */ .chip[3] = { .is_present = true, .pullups = BIT(3) | BIT(1) | BIT(0), }, There's no change in how things _behave_ for spi_device nodes with a single mcp23s08 chip. New multi-chip configurations assign GPIOs in sequence, without holes. The spi_device just resembles a bigger controller, but internally it has multiple gpio_chip instances. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8f388d8dc8d4f36539dd37c1fff62cc404ea0fc Author: David Brownell Date: Fri Jul 25 01:46:07 2008 -0700 gpio: sysfs interface This adds a simple sysfs interface for GPIOs. /sys/class/gpio /export ... asks the kernel to export a GPIO to userspace /unexport ... to return a GPIO to the kernel /gpioN ... for each exported GPIO #N /value ... always readable, writes fail for input GPIOs /direction ... r/w as: in, out (default low); write high, low /gpiochipN ... for each gpiochip; #N is its first GPIO /base ... (r/o) same as N /label ... (r/o) descriptive, not necessarily unique /ngpio ... (r/o) number of GPIOs; numbered N .. N+(ngpio - 1) GPIOs claimed by kernel code may be exported by its owner using a new gpio_export() call, which should be most useful for driver debugging. Such exports may optionally be done without a "direction" attribute. Userspace may ask to take over a GPIO by writing to a sysfs control file, helping to cope with incomplete board support or other "one-off" requirements that don't merit full kernel support: echo 23 > /sys/class/gpio/export ... will gpio_request(23, "sysfs") and gpio_export(23); use /sys/class/gpio/gpio-23/direction to (re)configure it, when that GPIO can be used as both input and output. echo 23 > /sys/class/gpio/unexport ... will gpio_free(23), when it was exported as above The extra D-space footprint is a few hundred bytes, except for the sysfs resources associated with each exported GPIO. The additional I-space footprint is about two thirds of the current size of gpiolib (!). Since no /dev node creation is involved, no "udev" support is needed. Related changes: * This adds a device pointer to "struct gpio_chip". When GPIO providers initialize that, sysfs gpio class devices become children of that device instead of being "virtual" devices. * The (few) gpio_chip providers which have such a device node have been updated. * Some gpio_chip drivers also needed to update their module "owner" field ... for which missing kerneldoc was added. * Some gpio_chips don't support input GPIOs. Those GPIOs are now flagged appropriately when the chip is registered. Based on previous patches, and discussion both on and off LKML. A Documentation/ABI/testing/sysfs-gpio update is ready to submit once this merges to mainline. [akpm@linux-foundation.org: a few maintenance build fixes] Signed-off-by: David Brownell Cc: Guennadi Liakhovetski Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b6dd986823a8d92ed9f54baa5cef8604d9d9d44 Author: Abhishek Sagar Date: Fri Jul 25 01:46:05 2008 -0700 kprobes: remove redundant config check I noticed that there's a CONFIG_KPROBES check inside kernel/kprobes.c, which is redundant. Signed-off-by: Abhishek Sagar Acked-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef53d9c5e4da147ecaa43c44c5e5945eb83970a2 Author: Srinivasa D S Date: Fri Jul 25 01:46:04 2008 -0700 kprobes: improve kretprobe scalability with hashed locking Currently list of kretprobe instances are stored in kretprobe object (as used_instances,free_instances) and in kretprobe hash table. We have one global kretprobe lock to serialise the access to these lists. This causes only one kretprobe handler to execute at a time. Hence affects system performance, particularly on SMP systems and when return probe is set on lot of functions (like on all systemcalls). Solution proposed here gives fine-grain locks that performs better on SMP system compared to present kretprobe implementation. Solution: 1) Instead of having one global lock to protect kretprobe instances present in kretprobe object and kretprobe hash table. We will have two locks, one lock for protecting kretprobe hash table and another lock for kretporbe object. 2) We hold lock present in kretprobe object while we modify kretprobe instance in kretprobe object and we hold per-hash-list lock while modifying kretprobe instances present in that hash list. To prevent deadlock, we never grab a per-hash-list lock while holding a kretprobe lock. 3) We can remove used_instances from struct kretprobe, as we can track used instances of kretprobe instances using kretprobe hash table. Time duration for kernel compilation ("make -j 8") on a 8-way ppc64 system with return probes set on all systemcalls looks like this. cacheline non-cacheline Un-patched kernel aligned patch aligned patch =============================================================================== real 9m46.784s 9m54.412s 10m2.450s user 40m5.715s 40m7.142s 40m4.273s sys 2m57.754s 2m58.583s 3m17.430s =========================================================== Time duration for kernel compilation ("make -j 8) on the same system, when kernel is not probed. ========================= real 9m26.389s user 40m8.775s sys 2m7.283s ========================= Signed-off-by: Srinivasa DS Signed-off-by: Jim Keniston Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Cc: Masami Hiramatsu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53a9600c634e3bfd6230e0597aca159bf4d4d010 Author: Ben Dooks Date: Fri Jul 25 01:46:03 2008 -0700 mfd: sm501 fix gpio number calculation for upper bank The sm501_gpio_pin2nr() routine returns the wrong values for gpios in the upper bank. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2999209d779573e17468b680f5f267d8cb2a9c7 Author: Ben Dooks Date: Fri Jul 25 01:46:02 2008 -0700 mfd: sm501 build fixes when CONFIG_MFD_SM501_GPIO unset Fix the build problems if CONFIG_MFD_SM501_GPIO is not set, which is generally when there is no gpiolib support available as currently happens on x86 when building PCI SM501. Signed-off-by: Ben Dooks Tested-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28130bea3bcfefe3437b0a5dcab786f1f0296953 Author: Ben Dooks Date: Fri Jul 25 01:46:02 2008 -0700 sm501: fixes for akpms comments on gpiolib addition Fixup the comments from the patch that added the gpiolib support from Andrew Morton. These include spotting some missing frees on error or release, and changing a memcpy for a type-safe assingment. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42cd2366fb9b58cdfc1855be32b31a78e40b2079 Author: Ben Dooks Date: Fri Jul 25 01:46:01 2008 -0700 sm501: gpio I2C support Add support for adding the GPIO based I2C resources. Signed-off-by: Ben Dooks Cc: Arnaud Patard Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60e540d617b40eb3d37f1dd99c97af588ff9b70b Author: Arnaud Patard Date: Fri Jul 25 01:46:00 2008 -0700 sm501: gpio dynamic registration for PCI devices The SM501 PCI card requires a dyanmic gpio allocation as the number of cards is not known at compile time. Fixup the platform data and registration to deal with this. Acked-by: Ben Dooks Signed-off-by: Arnaud Patard Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f61be273d3699d174bc1438e6804f9f9e52bb932 Author: Ben Dooks Date: Fri Jul 25 01:45:59 2008 -0700 sm501: add gpiolib support Add support for exporting the GPIOs on the SM501 via gpiolib. Signed-off-by: Ben Dooks Cc: Arnaud Patard Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 472dba7d117844c746be97db6be26c2810d79b62 Author: Ben Dooks Date: Fri Jul 25 01:45:58 2008 -0700 sm501: add power control callback Add callback to get or set the power control if the device has the sleep connected to some form of GPIO. Signed-off-by: Ben Dooks Cc: Arnaud Patard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 717115e1a5856b57af0f71e1df7149108294fc10 Author: Dave Young Date: Fri Jul 25 01:45:58 2008 -0700 printk ratelimiting rewrite All ratelimit user use same jiffies and burst params, so some messages (callbacks) will be lost. For example: a call printk_ratelimit(5 * HZ, 1) b call printk_ratelimit(5 * HZ, 1) before the 5*HZ timeout of a, then b will will be supressed. - rewrite __ratelimit, and use a ratelimit_state as parameter. Thanks for hints from andrew. - Add WARN_ON_RATELIMIT, update rcupreempt.h - remove __printk_ratelimit - use __ratelimit in net_ratelimit Signed-off-by: Dave Young Cc: "David S. Miller" Cc: "Paul E. McKenney" Cc: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2711b793eb62a5873a0ba583a69252040aef176e Author: Vegard Nossum Date: Fri Jul 25 01:45:56 2008 -0700 kallsyms: unify 32- and 64-bit code Use the %p format string which already accounts for the padding you need with a pointer type on a particular architecture. Also replace the macro with a static inline function to match the rest of the file. Cc: Heiko Carstens Cc: Arjan van de Ven Signed-off-by: Vegard Nossum Cc: Sam Ravnborg Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 924d9addb9b1474fc81a78a5c6706755efea7aaa Author: Dave Jones Date: Fri Jul 25 01:45:55 2008 -0700 list debugging: use WARN() instead of BUG() Arjan noted that the list_head debugging is BUG'ing when it detects corruption. By causing the box to panic immediately, we're possibly losing some bug reports. Changing this to a WARN() should mean we at the least start seeing reports collected at kerneloops.org Signed-off-by: Dave Jones Cc: Matthew Wilcox Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d955c78ac4699ac9c3fe07be62982cda13d13267 Author: Arjan van de Ven Date: Fri Jul 25 01:45:55 2008 -0700 Example use of WARN() Now that WARN() exists, we can fold some of the printk's into it. Signed-off-by: Arjan van de Ven Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a2c477069fbd32f91598f05334003979b987a39 Author: Arjan van de Ven Date: Fri Jul 25 01:45:54 2008 -0700 kernel/irq/manage.c: replace a printk + WARN_ON() to a WARN() Replace a printk+WARN_ON() by a WARN(); this increases the chance of the string making it into the bugreport (ie: it goes inside the ---[ cut here ]--- section) Signed-off-by: Arjan van de Ven Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8f18b909c0a3f22630846207035c8b84bb252b8 Author: Arjan van de Ven Date: Fri Jul 25 01:45:53 2008 -0700 Add a WARN() macro; this is WARN_ON() + printk arguments Add a WARN() macro that acts like WARN_ON(), with the added feature that it takes a printk like argument that is printed as part of the warning message. [akpm@linux-foundation.org: fix printk arguments] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Arjan van de Ven Cc: Greg KH Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6c63937001889af6fe431aaba97e59d04e028e7 Author: Arjan van de Ven Date: Fri Jul 25 01:45:52 2008 -0700 Rename WARN() to WARNING() to clear the namespace We want to use WARN() as a variant of WARN_ON(), however a few drivers are using WARN() internally. This patch renames these to WARNING() to avoid the namespace clash. A few cases were defining but not using the thing, for those cases I just deleted the definition. Signed-off-by: Arjan van de Ven Acked-by: Greg KH Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f38954c93c4a548f55d73ac5c1cf5e7f4023bb6c Author: Andrew Morton Date: Fri Jul 25 01:45:52 2008 -0700 drivers/misc/hpilo.c needs CONFIG_PCI m68k allmodconfig: drivers/misc/hpilo.c: In function 'ilo_ccb_close': drivers/misc/hpilo.c:225: error: implicit declaration of function 'pci_free_consistent' drivers/misc/hpilo.c: In function 'ilo_ccb_open': drivers/misc/hpilo.c:244: error: implicit declaration of function 'pci_alloc_consistent' drivers/misc/hpilo.c:245: warning: assignment makes pointer from integer without a cast Cc: David Altobelli Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7f371e54fac49ff62bb640d4a7276fca01527e8 Author: Johannes Weiner Date: Fri Jul 25 01:45:51 2008 -0700 documentation: update CodingStyle tips for Emacs users Describe a setup that integrates better with Emacs' cc-mode and also fixes up the alignment of continuation lines to really only use tabs. Signed-off-by: Johannes Weiner Cc: Jonathan Corbet Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 197dcffc8ba0ea943fee86e28e99cd9575799772 Author: Daniel Guilak Date: Fri Jul 25 01:45:50 2008 -0700 init/version.c: define version_string only if CONFIG_KALLSYMS is not defined int Version_* is only used with ksymoops, which is only needed (according to README and Documentation/Changes) if CONFIG_KALLSYMS is NOT defined. Therefore this patch defines version_string only if CONFIG_KALLSYMS is not defined. Signed-off-by: Daniel Guilak Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 277e2c695907a70b316a31769cd891dc4d43b7f3 Author: Daniel Guilak Date: Fri Jul 25 01:45:49 2008 -0700 init/version.c: silence sparse warning by declaring the version string Signed-off-by: Daniel Guilak Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4500d067eeb3d00679335d9cf5c6536e79cd3ef4 Author: Robert P. J. Day Date: Fri Jul 25 01:45:49 2008 -0700 init.h: remove obsolete content Remove apparently obsolete content from init.h referring to gcc 2.9x and to "no_module_init". Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db358b40e0674fd4079204d8e3e1c8ab3829a1b9 Author: Kay Sievers Date: Fri Jul 25 01:45:48 2008 -0700 parport: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf (platform: prefix MODALIAS with "platform:"), the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable parport platform drivers, to re-enable auto loading. Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Greg KH Cc: "Rafael J. Wysocki" Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f46d6e7e5ffbce0ee1d1a80767fdf45e56cc863 Author: Kay Sievers Date: Fri Jul 25 01:45:47 2008 -0700 mfd: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf (platform: prefix MODALIAS with "platform:"), the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the MFD platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: one was missing] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Greg KH Cc: "Rafael J. Wysocki" Cc: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f5a5cf93fae7b8354b45b8443dcc3448a8fc276 Author: Kay Sievers Date: Fri Jul 25 01:45:46 2008 -0700 drivers/power: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf ("platform: prefix MODALIAS with "platform:"), the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable "power" drivers drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: one was missing] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Greg KH Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d6ffcca623a9a16df6cdfbe8250b7a5904a5f5e Author: Thomas Petazzoni Date: Fri Jul 25 01:45:44 2008 -0700 inflate: refactor inflate malloc code Inflate requires some dynamic memory allocation very early in the boot process and this is provided with a set of four functions: malloc/free/gzip_mark/gzip_release. The old inflate code used a mark/release strategy rather than implement free. This new version instead keeps a count on the number of outstanding allocations and when it hits zero, it resets the malloc arena. This allows removing all the mark and release implementations and unifying all the malloc/free implementations. The architecture-dependent code must define two addresses: - free_mem_ptr, the address of the beginning of the area in which allocations should be made - free_mem_end_ptr, the address of the end of the area in which allocations should be made. If set to 0, then no check is made on the number of allocations, it just grows as much as needed The architecture-dependent code can also provide an arch_decomp_wdog() function call. This function will be called several times during the decompression process, and allow to notify the watchdog that the system is still running. If an architecture provides such a call, then it must define ARCH_HAS_DECOMP_WDOG so that the generic inflate code calls arch_decomp_wdog(). Work initially done by Matt Mackall, updated to a recent version of the kernel and improved by me. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Thomas Petazzoni Cc: Matt Mackall Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Mikael Starvik Cc: Jesper Nilsson Cc: Haavard Skinnemoen Cc: David Howells Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: "H. Peter Anvin" Acked-by: Paul Mundt Acked-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba92a43dbaee339cf5915ef766d3d3ffbaaf103c Author: Hugh Dickins Date: Fri Jul 25 01:45:43 2008 -0700 exec: remove some includes fs/exec.c used to need mman.h pagemap.h swap.h and rmap.h when it did mm-ish stuff in install_arg_page(); but no need for them after 2.6.22. [akpm@linux-foundation.org: unbreak arm] Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b4bc46052ea8cd7c370b67ca0b9c26586f1439a Author: OGAWA Hirofumi Date: Fri Jul 25 01:45:42 2008 -0700 pdflush: use time_after() instead of open-coding it Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b69c49b78457f681ecfb3147bd968434ee6559c1 Author: FUJITA Tomonori Date: Fri Jul 25 01:45:40 2008 -0700 clean up duplicated alloc/free_thread_info We duplicate alloc/free_thread_info defines on many platforms (the majority uses __get_free_pages/free_pages). This patch defines common defines and removes these duplicated defines. __HAVE_ARCH_THREAD_INFO_ALLOCATOR is introduced for platforms that do something different. Signed-off-by: FUJITA Tomonori Acked-by: Russell King Cc: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ec30d45ecbb85b5991474c8f04192697687495 Author: Matthew Garrett Date: Fri Jul 25 01:45:39 2008 -0700 misc: add HP WMI laptop extras driver This driver adds support for reading and configuring certain information on modern HP laptops with WMI BIOS interfaces. It supports enabling and disabling the ambient light sensor, querying attached displays and hard drive temperature, sending events on docking and querying the state of the dock and toggling the state of the wifi, bluetooth and wwan hardware via rfkill. It also makes the little "(i)" button work on machines that send that via WMI rather than via the keyboard controller. Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac331d158e198d2a91a5b0a3ec4ca9991fdb57af Author: KOSAKI Motohiro Date: Fri Jul 25 01:45:38 2008 -0700 call_usermodehelper(): increase reliability Presently call_usermodehelper_setup() uses GFP_ATOMIC. but it can return NULL _very_ easily. GFP_ATOMIC is needed only when we can't sleep. and, GFP_KERNEL is robust and better. thus, I add gfp_mask argument to call_usermodehelper_setup(). So, its callers pass the gfp_t as below: call_usermodehelper() and call_usermodehelper_keys(): depend on 'wait' argument. call_usermodehelper_pipe(): always GFP_KERNEL because always run under process context. orderly_poweroff(): pass to GFP_ATOMIC because may run under interrupt context. Signed-off-by: KOSAKI Motohiro Cc: "Paul Menage" Reviewed-by: Li Zefan Acked-by: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f557d0996a6f9c06912528ea85e1dba0fb7d485f Author: Adrian Bunk Date: Fri Jul 25 01:45:37 2008 -0700 remove some more tipar bits Some bits were missed when the tipar driver was removed. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f16695f4ac088cf7593e113574046d2d7e5af5eb Author: Adrian Bunk Date: Fri Jul 25 01:45:36 2008 -0700 asm-generic/int-ll64.h: always provide __{s,u}64 Several compilers offer "long long" without claiming to support C99. Considering how frequent __s64/__u64 are used our userspace headers are anyway unusable without __s64/__u64 available. Always offer __s64/__u64 to non-gcc non-C99 compilers - if they provide "long long" that makes the headers compiling and if they don't they are anyway screwed. Signed-off-by: Adrian Bunk Acked-by: H. Peter Anvin Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cebbd3fb803603b12408458ba17c29ce1e15a5f2 Author: Andrew Morton Date: Fri Jul 25 01:45:35 2008 -0700 build-kernel-profileo-only-when-requested-cleanups Cc: Adrian Bunk Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b03f6489f9f27dc519a4c60ebf39cc7b8a58eae7 Author: Adrian Bunk Date: Fri Jul 25 01:45:35 2008 -0700 build kernel/profile.o only when requested Build kernel/profile.o only if CONFIG_PROFILING is enabled. This makes CONFIG_PROFILING=n kernels smaller. As a bonus, some profile_tick() calls and one branch from schedule() are now eliminated with CONFIG_PROFILING=n (but I doubt these are measurable effects). This patch changes the effects of CONFIG_PROFILING=n, but I don't think having more than two choices would be the better choice. This patch also adds the name of the first parameter to the prototypes of profile_{hits,tick}() since I anyway had to add them for the dummy functions. Signed-off-by: Adrian Bunk Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 696adfe84c11c571a1e0863460ff0ec142b4e5a9 Author: Paul E. McKenney Date: Fri Jul 25 01:45:34 2008 -0700 list_for_each_rcu must die: networking All uses of list_for_each_rcu() can be profitably replaced by the easier-to-use list_for_each_entry_rcu(). This patch makes this change for networking, in preparation for removing the list_for_each_rcu() API entirely. Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fc9c4e18f94431e7eb77d97edb2a995b46fba55 Author: Vegard Nossum Date: Fri Jul 25 01:45:34 2008 -0700 kallsyms: fix potential overflow in binary search This will probably never trigger... but it won't hurt to be careful. http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html Signed-off-by: Vegard Nossum Cc: Joshua Bloch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58340a07c194e0aed7bc58b61ff24330bb2a409f Author: Johannes Berg Date: Fri Jul 25 01:45:33 2008 -0700 introduce HAVE_EFFICIENT_UNALIGNED_ACCESS Kconfig symbol In many cases, especially in networking, it can be beneficial to know at compile time whether the architecture can do unaligned accesses efficiently. This patch introduces a new Kconfig symbol HAVE_EFFICIENT_UNALIGNED_ACCESS for that purpose and adds it to the powerpc and x86 architectures. Also add some documentation about alignment and networking, and especially one intended use of this symbol. Signed-off-by: Johannes Berg Acked-by: Sam Ravnborg Acked-by: Ingo Molnar [x86 architecture part] Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0ce0da9fefcc723dc006c35a7f91a32750abd40 Author: Robert P. J. Day Date: Fri Jul 25 01:45:32 2008 -0700 lists: remove a redundant conditional definition of list_add() Remove the conditional surrounding the definition of list_add() from list.h since, if you define CONFIG_DEBUG_LIST, the definition you will subsequently pick up from lib/list_debug.c will be absolutely identical, at which point you can remove that redundant definition from list_debug.c as well. Signed-off-by: Robert P. J. Day Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd193829744bc77392395cf8f47889235c97f0a3 Author: Robert P. J. Day Date: Fri Jul 25 01:45:31 2008 -0700 lib: allow memparse() to accept a NULL and ignorable second parm Extend memparse() to allow the caller to use a NULL second parameter, which would represent no interest in returning the address of the end of the parsed string. In numerous cases, callers invoke memparse() to parse a possibly-suffixed string (such as "64K" or "2G" or whatever) and define a character pointer to accept the end pointer being returned by memparse() even though they have no interest in it and promptly throw it away. This (backward-compatible) enhancement allows callers to use NULL in the cases where they just don't care about getting back that end pointer. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb345d7352aa9e692ef4b83c41d3e6e1cdb2f846 Author: Robert P. J. Day Date: Fri Jul 25 01:45:30 2008 -0700 init/: delete hard-coded setting and testing of BUILD_CRAMDISK There seems to be little point in explicitly setting, then testing the macro BUILD_CRAMDISK within the context of a single source file. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39c08cb692cb8898c30e0d8187c7cbe27cc905c Author: Robert P. J. Day Date: Fri Jul 25 01:45:29 2008 -0700 Remove apparently unused fd1772.h header file. This header file has been unused for quite some time, and the corresponding source files appear to have been removed back in commit 99eb8a550dbccc0e1f6c7e866fe421810e0585f6 ("Remove the arm26 port") Signed-off-by: Robert P. J. Day Cc: Adrian Bunk Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82c8253ac27291d6c70114eb445c714359812a10 Author: Adrian Bunk Date: Fri Jul 25 01:45:29 2008 -0700 init/do_mounts.c should #include Every file should include the headers containing the externs for its global code (in this case for rd_doload). Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abddaec56ebb7911bbf0578a4636a74bd7376d92 Author: Eric Sandeen Date: Fri Jul 25 01:45:28 2008 -0700 fix checkstack.pl arch detection uname -m was leaving a newline in $arch, and not passing the tests. Also, printing the unknown arch on failure is probably helpful. Signed-off-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 585e93ae83b80c874bf4eb50a239027cef5db4af Author: Eric Sandeen Date: Fri Jul 25 01:45:27 2008 -0700 find dynamic stack allocations in checkstack.pl Currently, checkstack.pl only looks for fixed subtractions from the stack pointer. However, things like this: void function(int size) { char stackbuster[size << 2]; ... are certainly worth pointing out, I think. This could perhaps be done more cleanly, and the following patch only adds "dynamic" REs for x86 and x86_64, but it works: 0x00b0 crypto_cbc_decrypt_inplace [cbc]: Dynamic (%rax) 0x00ad crypto_pcbc_decrypt_inplace [pcbc]: Dynamic (%rax) 0x02f6 crypto_pcbc_encrypt_inplace [pcbc]: Dynamic (%rax) 0x036c _crypto_xcbc_digest_setkey [xcbc]: Dynamic (%rax) ... (Inspired by Keith Owens' old stack-check script) Signed-off-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 545e400619b24b6b17b7f1f1e838e9ff6d036949 Author: Harvey Harrison Date: Fri Jul 25 01:45:27 2008 -0700 lzo: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b5ac31e27135a6f2c210c40d03bf8f1b3a86b77 Author: Harvey Harrison Date: Fri Jul 25 01:45:26 2008 -0700 include: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7bbf8fa6ba329b3552b75a0716f5fbc6f839499 Author: Harvey Harrison Date: Fri Jul 25 01:45:25 2008 -0700 fs: ldm.[ch] use get_unaligned_* helpers Replace the private BE16/BE32/BE64 macros with direct calls to get_unaligned_be16/32/64. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f307891ce0e7b0438c432af1aacd656a092ff45 Author: Steven Rostedt Date: Fri Jul 25 01:45:25 2008 -0700 locking: add typecheck on irqsave and friends for correct flags There haave been several areas in the kernel where an int has been used for flags in local_irq_save() and friends instead of a long. This can cause some hard to debug problems on some architectures. This patch adds a typecheck inside the irqsave and restore functions to flag these cases. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: build fix] Signed-off-by: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0deaff470900a4c3222ca7139f6c9639e26a2f5 Author: Andrew Morton Date: Fri Jul 25 01:45:24 2008 -0700 split the typecheck macros out of include/linux/kernel.h Needed to fix up a recursive include snafu in locking-add-typecheck-on-irqsave-and-friends-for-correct-flags.patch Cc: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5df439ef06d4173357711a04740aa8bfcf50d621 Author: Wang Chen Date: Fri Jul 25 01:45:23 2008 -0700 flag parameters: fix compile error of sys_epoll_create1 GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD vmlinux arch/x86/kernel/built-in.o: In function `sys_call_table': (.rodata+0x8a4): undefined reference to `sys_epoll_create1' make: *** [vmlinux] Error 1 Signed-off-by: Wang Chen Cc: Ulrich Drepper Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c82dd5321cf779f1f536ef26b383cbe8c9de7f10 Author: Andrew Morton Date: Fri Jul 25 01:45:22 2008 -0700 mfd: don't use memzero For it doesn't exist on i386. Cc: Ian Molton Cc: Dmitry Baryshkov Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51a379d0c8f7a6db7c9e3c9c770d90a6d2d1ef9b Author: Jack Morgenstein Date: Fri Jul 25 10:32:52 2008 -0700 mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files Update existing Mellanox copyright lines to 2008, and add such lines to files where they are missing. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 25c94d010a8ae8605dc4d5453e0c82fa97da5d12 Author: Yevgeny Petrilin Date: Fri Jul 25 10:30:06 2008 -0700 mlx4_core: Add VLAN tag field to WQE control segment struct Add fields for VLAN tag and insert VLAN tag flag to the control section struct. These fields will be used for sending ethernet packets. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 3e4d0cab61c88a9ae3e61151a857960397e26403 Author: Tony Luck Date: Fri Jul 25 10:10:28 2008 -0700 [IA64] Wire up new system calls Six new system calls: signalfd4, eventfd2, epoll_create1, dup3, pipe2 and inotify_init1. Signed-off-by: Tony Luck commit 3d6f4a20cc287a8980c6186624834cf10a70752b Author: David Miller Date: Thu Jul 24 23:38:31 2008 -0700 endian: Always evaluate arguments. Changeset 7fa897b91a3ea0f16c2873b869d7a0eef05acff4 ("ide: trivial sparse annotations") created an IDE bootup regression on big-endian systems. In drivers/ide/ide-iops.c, function ide_fixstring() we now have the loop: for (p = end ; p != s;) be16_to_cpus((u16 *)(p -= 2)); which will never terminate on big-endian because in such a configuration be16_to_cpus() evaluates to "do { } while (0)" Therefore, always evaluate the arguments to nop endian transformation operations. Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit 43de804df8d6002059bf4af4522fa9273a19b8aa Author: Huang Weiyi Date: Fri Jul 25 23:30:15 2008 +0800 char/xilinx_hwicap/xilinx_hwicap.c: Removed duplicated include Removed duplicated include file in char/xilinx_hwicap/xilinx_hwicap.c. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 29b309e52d3d51ef8a15bd15590903cf272beb93 Author: Linus Torvalds Date: Fri Jul 25 09:19:36 2008 -0700 Undo duplicate "m68k: drivers/input/serio/hp_sdc.c needs " Both commits 0f17e4c796e89d1f69f13b653aba60e6ccfb8ae0 ("Add missing semaphore.h includes") and 4933d07531711e399d8d578036aa9fc1be2f9b20 ("m68k: drivers/input/serio/hp_sdc.c needs ") added a We only really need one ;) Reported-by: Huang Weiyi Requested-by: Dmitry Torokhov Signed-off-by: Linus Torvalds commit 3d45955962496879dead8d4dd70bb9a23b07154b Author: Alexey Korolev Date: Thu May 15 17:23:18 2008 +0100 [MTD] [NAND] subpage read feature as a way to increase performance. This patch enables NAND subpage read functionality. If upper layer drivers are requesting to read non page aligned data NAND subpage-read functionality reads the only whose ECC regions which include requested data when original code reads whole page. This significantly improves performance in many cases. Here are some digits : UBI volume mount time No subpage reads: 5.75 seconds Subpage read patch: 2.42 seconds Open/stat time for files on JFFS2 volume: No subpage read 0m 5.36s Subpage read 0m 2.88s Signed-off-by Alexey Korolev Acked-by: Artem Bityutskiy Acked-by: Jörn Engel Signed-off-by: David Woodhouse commit ff877ea80efa2015b6263766f78ee42c2a1b32f9 Merge: 30821fe... d37e6bf... Author: David Woodhouse Date: Fri Jul 25 10:40:14 2008 -0400 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 commit 30821fee4f0cb3e6d241d9f7ddc37742212e3eb7 Author: Ben Dooks Date: Tue Jul 15 11:58:31 2008 +0100 CPUFREQ: S3C24XX NAND driver frequency scaling support. Add support for CPU frequency scalling to the S3C24XX NAND driver. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit ee39a0e61b8a307576b5e26057f8257444b5c9c1 Author: Yoichi Yuasa Date: Tue Jul 15 23:04:35 2008 +0900 [MTD][NAND] au1550nd: remove unused variable Remove unused variable from au1550 NAND driver. Signed-off-by: Yoichi Yuasa Signed-off-by: David Woodhouse commit ca6f12c67ed19718cf37d0f531af9438de85b70c Author: Atsushi Nemoto Date: Wed Jul 16 00:09:15 2008 +0900 [MTD] jedec_probe: Fix SST 16-bit chip detection The unlock_addr rework in kernel 2.6.25 breaks 16-bit SST chips. SST 39LF160 and SST 39VF1601 are both 16-bit only chip (do not have BYTE# pin) and new uaddr value is not correct for them. Add MTD_UADDR_0xAAAA_0x5555 for those chips. Tested with SST 39VF1601 chip. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit f636ffb420f0f9059c1d0b841afd691657246ad6 Author: Atsushi Nemoto Date: Sat Jul 19 01:01:22 2008 +0900 [MTD][MTDPART] Fix a division by zero bug When detecting a partition beyond the end of the device, skip most of the initialisation, in particular those bits causing a division by zero. Signed-off-by: Jörn Engel Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 6910c1368104d50e6b6afc6c8b7e9d1670a374e7 Author: Atsushi Nemoto Date: Sat Jul 19 01:00:57 2008 +0900 [MTD][MTDPART] Cleanup and document the erase region handling Mostly simplifying the loops. Now everything fits into 80 columns, is easier to read and the finer details have extra comments. Signed-off-by: Jörn Engel Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit b33a2887396a1a5207e56459f62c4b132294ca58 Author: Atsushi Nemoto Date: Sat Jul 19 01:00:33 2008 +0900 [MTD][MTDPART] Handle most checkpatch findings Remaining are 12 warnings about long lines and 1 about braces that could be argued about. Signed-off-by: Jörn Engel Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 7788ba71a6046de1b70e7dd45ed0bc5768a4bbd9 Author: Atsushi Nemoto Date: Sat Jul 19 01:00:18 2008 +0900 [MTD][MTDPART] Seperate main loop from per-partition code in add_mtd_partition add_mtd_partition was a 150+ line monster consisting mostly of a single loop. Seperate the loop from most of the body. Now it should be obvious which variables are carried around from iteration to iteration. Signed-off-by: Jörn Engel Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 4b5e33a7bf185c8d8568a807d9805fb155bcedd9 Author: Uwe Kleine-König Date: Tue Jul 22 09:39:01 2008 +0200 [MTD] physmap: resume already suspended chips on failure to suspend A nice side effect of this patch is that the return value of physmap_flash_suspend in the error path is the value of the first failing suspend callback and not the bitwise OR of all of them. Signed-off-by: Uwe Kleine-König Signed-off-by: David Woodhouse commit 7b2491911540e4904498622fbee2e1a9e3120d2f Author: Robert Jarzmik Date: Tue Jul 22 09:39:00 2008 +0200 [MTD] physmap: Fix suspend/resume/shutdown bugs. Don't call suspend/resume functions if they have not been defined. Signed-off-by: Robert Jarzmik Acked-By: Jörn Engel Signed-off-by: Uwe Kleine-König Signed-off-by: David Woodhouse commit 998453fbf2e0709bf65ac419718ad284401b2b4f Author: Alexey Korolev Date: Wed Jul 16 15:28:56 2008 +0100 [MTD] [NOR] Fix -ETIMEO errors in CFI driver Existing CFI driver has problems with excessive writes during erase. If CFI driver does many writes during one erase cycle we may face the messages with -ETIMEO error on erase operation. It may cause the following data corruption and kernel panics. The reason of the issue is related to specifics of suspend operation: if we write to flash during erase, suspend operation will cost some time to erase procedure (for P30 it could be significant). In current version of cfi driver the problem of many suspends is partially workarounded by adding some time reserv to any operation (8xerase_time) but if we have many writes during one erase the problem appears. This patch detects the suspend and resets timer if suspend occured. It has been well verified on different chips. No problems were found. Could you please include the patch as it is simple and fixes bad issue. Signed-off-by: Alexey Korolev Signed-off-by: David Woodhouse commit 55679df30dfa37886cd9e22d8dea0e6974a552df Author: Anton Vorontsov Date: Mon Jul 14 19:20:37 2008 +0400 [MTD] [NAND] fsl_elbc_nand: fix section mismatch with CONFIG_MTD_OF_PARTS=y With CONFIG_MTD_OF_PARTS=y I'm getting this new section mismatch in reference from the function fsl_elbc_chip_probe() to the function .devinit.text:of_mtd_parse_partitions() This patch fixes the mismatch by providing __devinit annotation to the fsl_elbc_chip_probe() function. Signed-off-by: Anton Vorontsov Acked-By: Scott Wood Signed-off-by: David Woodhouse commit 95984f62c9b0bf6d89ef4f514b1afe73623481de Author: Stefan Richter Date: Tue Jul 22 18:41:10 2008 +0200 firewire: fw-ohci: TSB43AB22/A dualbuffer workaround Isochronous reception in dualbuffer mode is reportedly broken with TI TSB43AB22A on x86-64. Descriptor addresses above 2G have been determined as the trigger: https://bugzilla.redhat.com/show_bug.cgi?id=435550 Two fixes are possible: - pci_set_consistent_dma_mask(pdev, DMA_31BIT_MASK); at least when IR descriptors are allocated, or - simply don't use dualbuffer. This fix implements the latter workaround. But we keep using dualbuffer on x86-32 which won't give us highmen (and thus physical addresses outside the 31bit range) in coherent DMA memory allocations. Right now we could for example also whitelist PPC32, but DMA mapping implementation details are expected to change there. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 56d3eef2b49b06618981c87edba16a607bf10ddd Author: Voss, Nikolaus Date: Fri Jul 18 14:44:48 2008 +0200 avr32: allow system timer to share interrupt to make OProfile work The following patch allows the avr32_comparator interrupt to be shared. This is necessary as the avr32 oprofile driver shares the irq group 0 with the timer. To make OProfile actually work on AVR32, a small patch for oprofiled is also needed (posted to the oprofile mailing list). Signed-off-by: Nikolaus Voss [haavard.skinnemoen@atmel.com: set IRQF_SHARED unconditionally] Signed-off-by: Haavard Skinnemoen commit 7d7e5a60c62e88cb8782760bb6c4d3bd1577a6c6 Author: Herbert Xu Date: Fri Jul 25 02:55:33 2008 -0700 ipsec: ipcomp - Decompress into frags if necessary When decompressing extremely large packets allocating them through kmalloc is prone to failure. Therefore it's better to use page frags instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6fccab671f2f0a24b799f29a4ec878f62d34656c Author: Herbert Xu Date: Fri Jul 25 02:54:40 2008 -0700 ipsec: ipcomp - Merge IPComp implementations This patch merges the IPv4/IPv6 IPComp implementations since most of the code is identical. As a result future enhancements will no longer need to be duplicated. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d37e6bf68fc1eb34a4ad21d9ae8890ed37ea80e7 Author: Artem Bityutskiy Date: Thu Jul 24 18:28:11 2008 +0300 UBI: always start the background thread This fix only affects UBI debugging. If the the background thread is disabled for debugging purposes, start it anyway, because otherwise we see tonns of kernel debugging complaints like this: INFO: task ubi_bgt0d:26857 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. ubi_bgt0d D dd37bf94 0 26857 2 dd37bfcc 00000086 f8e17cea dd37bf94 00000046 00000000 00000000 f5c62430 f5c62430 f5c62590 c2a09c80 f6cbd498 dd8e9cbc 00000296 dd37bfb0 00000296 dd8e9cb8 dd8e9cbc dd37bfcc c0119774 00000000 00000000 c0132e89 f6961560 Call Trace: [] ? ubi_thread+0x0/0x127 [ubi] [] ? complete+0x43/0x4b [] ? kthread+0x0/0x5b [] ? ubi_thread+0x0/0x127 [ubi] [] kthread+0x25/0x5b [] ? kthread+0x0/0x5b [] kernel_thread_helper+0x7/0x14 ======================= So start it, and go sleep inside it, instead of creating it and never start. Signed-off-by: Artem Bityutskiy commit cffe1c5d7a5a1e54f7c2c6d0510f651a965bccc3 Author: David S. Miller Date: Fri Jul 25 01:25:04 2008 -0700 pkt_sched: Fix locking in shutdown_scheduler_queue() Qdisc locks need to be held with BH disabled. Tested-by: Ingo Molnar Signed-off-by: David S. Miller commit 973b7d83ebeb1e34b8bee69208916e5f0e2353c3 Author: Tony Breeds Date: Fri Jul 25 16:21:51 2008 +1000 powerpc: Wireup new syscalls signalfd4, eventfd2, epoll_create1, dup3, pipe2 and inotify_init1 Signed-off-by: Tony Breeds Signed-off-by: Benjamin Herrenschmidt commit 1e3519f8e1baec0b733cd42684fcd3d9681662f1 Author: Benjamin Herrenschmidt Date: Fri Jul 25 16:21:11 2008 +1000 Move update_mmu_cache() declaration from tlbflush.h to pgtable.h where it belongs. This fixes some build problems on some configs Signed-off-by: Benjamin Herrenschmidt commit 16c14b4621c7b6fc4611abf1f86cd78cdb1b2b03 Author: Nathan Fontenot Date: Thu Jul 24 05:10:46 2008 +1000 powerpc/pseries: Remove kmalloc call in handling writes to lparcfg There are only 4 valid name=value pairs for writes to /proc/ppc64/lparcfg. Current code allocates a buffer to copy this information in from the user. Since the longest name=value pair will easily fit into a buffer of 64 characters, simply put the buffer on the stack instead of allocating the buffer. Signed-off-by: Nathan Fotenot Signed-off-by: Benjamin Herrenschmidt commit 8391e42a5c1f3d757faa5e7f46a4a68f9aa6cb12 Author: Nathan Fontenot Date: Thu Jul 24 04:36:38 2008 +1000 powerpc/pseries: Update arch vector to indicate support for CMO Update the architecture vector to indicate that Cooperative Memory Overcommitment is supported if CONFIG_PPC_SMLPAR is set. Signed-off-by: Nathan Fontenot Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 39c1ffecc6aabcc8105602a95ce769f27bcf6048 Author: Brian King Date: Thu Jul 24 04:35:48 2008 +1000 ibmvfc: Add support for collaborative memory overcommit Adds support to the ibmvfc driver for collaborative memory overcommit. Signed-off-by: Brian King Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 7912a0ac5907df1f8b214b3ca15ccf96129daae0 Author: Robert Jennings Date: Thu Jul 24 04:35:27 2008 +1000 ibmvscsi: driver enablement for CMO Enable the driver to function in a Cooperative Memory Overcommitment (CMO) environment. The following changes are made to enable the driver for CMO: * DMA mapping errors will not result in error messages if entitlement has been exceeded and resources were not available. * The driver has a get_desired_dma function defined to function in a CMO environment. It will indicate how much IO memory it would like to function. Signed-off-by: Robert Jennings Acked by: Brian King Acked-by: Paul Mackerras Acked-by: James Bottomley Signed-off-by: Benjamin Herrenschmidt commit 1096d63d8e7d226630706e15648705d0187787e4 Author: Robert Jennings Date: Thu Jul 24 04:34:52 2008 +1000 ibmveth: enable driver for CMO Enable ibmveth for Cooperative Memory Overcommitment (CMO). For this driver it means calculating a desired amount of IO memory based on the current MTU and updating this value with the bus when MTU changes occur. Because DMA mappings can fail, we have added a bounce buffer for temporary cases where the driver can not map IO memory for the buffer pool. The following changes are made to enable the driver for CMO: * DMA mapping errors will not result in error messages if entitlement has been exceeded and resources were not available. * DMA mapping errors are handled gracefully, ibmveth_replenish_buffer_pool() is corrected to check the return from dma_map_single and fail gracefully. * The driver will have a get_desired_dma function defined to function in a CMO environment. * When the MTU is changed, the driver will update the device IO entitlement Signed-off-by: Robert Jennings Signed-off-by: Brian King Signed-off-by: Santiago Leon Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit ea866e6526b8a2ead92875732d41b26fdb470312 Author: Santiago Leon Date: Thu Jul 24 04:34:23 2008 +1000 ibmveth: Automatically enable larger rx buffer pools for larger mtu Activates larger rx buffer pools when the MTU is changed to a larger value. This patch de-activates the large rx buffer pools when the MTU changes to a smaller value. Signed-off-by: Santiago Leon Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 22e1a4dd3f2a9009d1d8896a5e833b6094877008 Author: Nathan Fontenot Date: Thu Jul 24 04:31:52 2008 +1000 powerpc/pseries: Verify CMO memory entitlement updates with virtual I/O Verify memory entitlement updates can be handled by vio. Signed-off-by: Nathan Fontenot Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit a90ab95a9576d35de0d05f9f4fc435edcccafaa9 Author: Robert Jennings Date: Thu Jul 24 04:31:33 2008 +1000 powerpc/pseries: vio bus support for CMO This is a large patch but the normal code path is not affected. For non-pSeries platforms the code is ifdef'ed out and for non-CMO enabled pSeries systems this does not affect the normal code path. Devices that do not perform DMA operations do not need modification with this patch. The function get_desired_dma was renamed from get_io_entitlement for clarity. Overview Cooperative Memory Overcommitment (CMO) allows for a set of OS partitions to be run with less RAM than the aggregate needs of the group of partitions. The firmware will balance memory between the partitions and page in/out memory as needed. Based on the number and type of IO adpaters preset each partition is allocated an amount of memory for DMA operations and this allocation will be guaranteed to the partition; this is referred to as the partition's 'entitlement'. Partitions running in a CMO environment can only have virtual IO devices present. The VIO bus layer will manage the IO entitlement for the system. Accounting, at a system and per-device level, is tracked in the VIO bus code and exposed via sysfs. A set of dma_ops functions are added to the bus to allow for this accounting. Bus initialization At initialization, the bus will calculate the minimum needs of the system based on providing each device present with a standard minimum entitlement along with a spare allocation for the bus to handle hotplug events. If the minimum needs can not be met the system boot will be halted. Device changes The significant changes for devices while running under CMO are that the devices must specify how much dedicated IO entitlement they desire and must also handle DMA mapping errors that can occur due to constrained IO memory. The virtual IO drivers are modified to silence errors when DMA mappings fail for CMO and handle these failures gracefully. Each devices will be guaranteed a minimum entitlement that can always be mapped. Devices will specify how much entitlement they desire and the VIO bus will attempt to provide for this. Devices can change their desired entitlement level at any point in time to address particular needs (via vio_cmo_set_dev_desired()), not just at device probe time. VIO bus changes The system will have a particular entitlement level available from which it can provide memory to the devices. The bus defines two pools of memory within this entitlement, the reserved and excess pools. Each device is provided with it's own entitlement no less than a system defined minimum entitlement and no greater than what the device has specified as it's desired entitlement. The entitlement provided to devices comes from the reserve pool. The reserve pool can also contain a spare allocation as large as the system defined minimum entitlement which is used for device hotplug events. Any entitlement not needed to fulfill the needs of a reserve pool is placed in the excess pool. Each device is guaranteed that it can map up to it's entitled level; additional mapping are possible as long as there is unmapped memory in the excess pool. Bus probe As the system starts, each device is given an entitlement equal only to the system defined minimum entitlement. The reserve pool is equal to the sum of these entitlements, plus a spare allocation. The VIO bus also tracks the aggregate desired entitlement of all the devices. If the system desired entitlement is greater than the size of the reserve pool, when devices unmap IO memory it will be reserved and a balance operation will be scheduled for some time in the future. Entitlement balancing The balance function tries to fairly distribute entitlement between the devices in the system with the goal of providing each device with it's desired amount of entitlement. Devices using more than what would be ideal will have their entitled set-point adjusted; this will effectively set a goal for lower IO memory usage as future mappings can fail and deallocations will trigger a balance operation to distribute the newly unmapped memory. A fair distribution of entitlement can take several balance operations to achieve. Entitlement changes and device DLPAR events will alter the state of CMO and will trigger balance operations. Hotplug events The VIO bus allows for changes in system entitlement at run-time via 'vio_cmo_entitlement_update()'. When devices are added the hotplug device event will be preceded by a system entitlement increase and this is reversed when devices are removed. The following changes are made that the VIO bus layer for CMO: * add IO memory accounting per device structure. * add IO memory entitlement query function to driver structure. * during vio bus probe, if CMO is enabled, check that driver has memory entitlement query function defined. Fail if function not defined. * fail to register driver if io entitlement function not defined. * create set of dma_ops at vio level for CMO that will track allocations and return DMA failures once entitlement is reached. Entitlement will limited by overall system entitlement. Devices will have a reserved quantity of memory that is guaranteed, the rest can be used as available. * expose entitlement, current allocation, desired allocation, and the allocation error counter for devices to the user through sysfs * provide mechanism for changing a device's desired entitlement at run time for devices as an exported function and sysfs tunable * track any DMA failures for entitled IO memory for each vio device. * check entitlement against available system entitlement on device add * track entitlement metrics (high water mark, current usage) * provide function to reset high water mark * provide minimum and desired entitlement numbers at a bus level * provide drivers with a minimum guaranteed entitlement * balance available entitlement between devices to satisfy their needs * handle system entitlement changes and device hotplug Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 6490c4903d12f242bec4454301f76f6a7520e399 Author: Robert Jennings Date: Thu Jul 24 04:31:16 2008 +1000 powerpc/pseries: iommu enablement for CMO To support Cooperative Memory Overcommitment (CMO), we need to check for failure from some of the tce hcalls. These changes for the pseries platform affect the powerpc architecture; patches for the other affected platforms are included in this patch. pSeries platform IOMMU code changes: * platform TCE functions must handle H_NOT_ENOUGH_RESOURCES errors and return an error. Architecture IOMMU code changes: * Calls to ppc_md.tce_build need to check return values and return DMA_MAPPING_ERROR for transient errors. Architecture changes: * struct machdep_calls for tce_build*_pSeriesLP functions need to change to indicate failure. * all other platforms will need updates to iommu functions to match the new calling semantics; they will return 0 on success. The other platforms default configs have been built, but no further testing was performed. Signed-off-by: Robert Jennings Acked-by: Olof Johansson Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit ffa5abbd0c399b32fc13a1b4718d87ee7a716999 Author: Brian King Date: Thu Jul 24 04:30:58 2008 +1000 powerpc/pseries: Add CMO paging statistics With the addition of Cooperative Memory Overcommitment (CMO) support for IBM Power Systems, two fields have been added to the VPA to report paging statistics. Add support in lparcfg to report them to userspace. Signed-off-by: Brian King Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 84af458bb23bf5f0ba1af4320dd2a57f7c4363e5 Author: Brian King Date: Thu Jul 24 04:30:29 2008 +1000 powerpc/pseries: Add collaborative memory manager Adds a collaborative memory manager, which acts as a simple balloon driver for System p machines that support cooperative memory overcommitment (CMO). Adds a platform configuration option for CMO called PPC_SMLPAR. Signed-off-by: Brian King Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 86630a32320f83736c4c24e2c8bae218e4c56c7c Author: Brian King Date: Thu Jul 24 04:29:16 2008 +1000 powerpc/pseries: Utilities to set firmware page state Newer versions of firmware support page states, which are used by the collaborative memory manager (future patch) to "loan" pages to the hypervisor for use by other partitions. Signed-off-by: Brian King Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit e46de429cb954d30a5642fba81d516ede518c65e Author: Robert Jennings Date: Thu Jul 24 04:29:03 2008 +1000 powerpc/pseries: Enable CMO feature during platform setup For Cooperative Memory Overcommitment (CMO), set the FW_FEATURE_CMO flag in powerpc_firmware_features from the rtas ibm,get-system-parameters table prior to calling iommu_init_early_pSeries. With this, any CMO specific functionality can be controlled by checking: firmware_has_feature(FW_FEATURE_CMO) Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 398778f78b76fb72cb18411487af01dea202709e Author: Robert Jennings Date: Thu Jul 24 04:28:05 2008 +1000 powerpc/pseries: Split retrieval of processor entitlement data into a helper routine Split the retrieval of processor entitlement data returned in the H_GET_PPP hcall into its own helper routine. Signed-off-by: Nathan Fontenot Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit dfc3403f0e5ffb94ee29942f313b87d4061d951b Author: Nathan Fontenot Date: Thu Jul 24 04:27:30 2008 +1000 powerpc/pseries: Add memory entitlement capabilities to /proc/ppc64/lparcfg Update /proc/ppc64/lparcfg to display Cooperative Memory Overcommitment statistics as reported by the H_GET_MPP hcall. This also updates the lparcfg interface to allow setting memory entitlement and weight. Signed-off-by: Nathan Fontenot Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 11529396ea3190113173f7a15e59a58dbcaa36c8 Author: Nathan Fotenot Date: Thu Jul 24 04:25:16 2008 +1000 powerpc/pseries: Split processor entitlement retrieval and gathering to helper routines Split the retrieval and setting of processor entitlement and weight into helper routines. This also removes the printing of the raw values returned from h_get_ppp, the values are already parsed and printed. Signed-off-by: Nathan Fontenot Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 545500b307658ad5783e0f3a52a32b97b2dfaed2 Author: Nathan Fontenot Date: Thu Jul 24 04:25:00 2008 +1000 powerpc/pseries: Remove extraneous error reporting for hcall failures in lparcfg Remove the extraneous error reporting used when a hcall made from lparcfg fails. Signed-off-by: Nathan Fontenot Signed-off-by: Robert Jennings Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 80c60bf9b96f6108c630d90efc073cd520801e6c Author: Segher Boessenkool Date: Fri Jul 25 10:08:41 2008 +1000 powerpc: Fix compile error with binutils 2.15 My previous patch to fix compilation with binutils-2.17 causes a "file truncated" build error from ld with binutils 2.15 (and possibly older), and a warning with 2.16 and 2.17. This fixes it. Signed-off-by: Segher Boessenkool Acked-by: Chuck Meade Signed-off-by: Benjamin Herrenschmidt commit 7886250e9d71b24d0205ac6798ee855fb3836318 Author: Mark Nelson Date: Thu Jul 24 14:28:48 2008 +1000 powerpc/cell: Fixed IOMMU mapping uses weak ordering for a pcie endpoint At the moment the fixed mapping is by default strongly ordered (the iommu_fixed=weak boot option must be used to make the fixed mapping weakly ordered). If we're on a setup where the southbridge is being used in endpoint mode (triblade and CAB boards) the default should be a weakly ordered fixed mapping. This adds a check so that if a node of type pcie-endpoint can be found in the device tree the fixed mapping is set to be weak by default (but can be overridden using iommu_fixed=strong). Signed-off-by: Mark Nelson Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit d6a61bfc06d6f2248f3e75f208d64e794082013c Author: Luis Machado Date: Thu Jul 24 02:10:41 2008 +1000 powerpc: BookE hardware watchpoint support This patch implements support for HW based watchpoint via the DBSR_DAC (Data Address Compare) facility of the BookE processors. It does so by interfacing with the existing DABR breakpoint code and adding the necessary bits and pieces for the new bits to be properly set or cleared Signed-off-by: Luis Machado Signed-off-by: Benjamin Herrenschmidt commit 00bf6e906156b07cd641fe154ad0efe78f989692 Author: Stephen Rothwell Date: Wed Jul 23 10:44:58 2008 +1000 powerpc: Fallout from sysdev API changes A struct sysdev_attribute * parameter was added to the show routine by commit 4a0b2b4dbe1335b8b9886ba3dc85a145d5d938ed "sysdev: Pass the attribute to the low level sysdev show/store function". This eliminates a warning: arch/powerpc/kernel/sysfs.c:538: warning: initialization from incompatible pointer type Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 9115d13453dee22473a1e8cacc90a8d64a9c4bc9 Author: Nathan Lynch Date: Wed Jul 16 09:58:51 2008 +1000 powerpc: Enable AT_BASE_PLATFORM aux vector Stash the first platform string matched by identify_cpu() in powerpc_base_platform, and supply that to the ELF loader for the value of AT_BASE_PLATFORM. Signed-off-by: Nathan Lynch Signed-off-by: Benjamin Herrenschmidt commit 483fad1c3fa1060d7e6710e84a065ad514571739 Author: Nathan Lynch Date: Tue Jul 22 04:48:46 2008 +1000 ELF loader support for auxvec base platform string Some IBM POWER-based platforms have the ability to run in a mode which mostly appears to the OS as a different processor from the actual hardware. For example, a Power6 system may appear to be a Power5+, which makes the AT_PLATFORM value "power5+". This means that programs are restricted to the ISA supported by Power5+; Power6-specific instructions are treated as illegal. However, some applications (virtual machines, optimized libraries) can benefit from knowledge of the underlying CPU model. A new aux vector entry, AT_BASE_PLATFORM, will denote the actual hardware. For example, on a Power6 system in Power5+ compatibility mode, AT_PLATFORM will be "power5+" and AT_BASE_PLATFORM will be "power6". The idea is that AT_PLATFORM indicates the instruction set supported, while AT_BASE_PLATFORM indicates the underlying microarchitecture. If the architecture has defined ELF_BASE_PLATFORM, copy that value to the user stack in the same manner as ELF_PLATFORM. Signed-off-by: Nathan Lynch Acked-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit e9f76354ce83a20c7768ad37caa033f6506b4f96 Merge: c174aff... ad1ede1... Author: Benjamin Herrenschmidt Date: Fri Jul 25 15:35:10 2008 +1000 Merge commit 'jk/jk-merge' commit c174aff95642bcc830102becb9802adeb8f87a5a Merge: fb2e405... 79c28ac... Author: Benjamin Herrenschmidt Date: Fri Jul 25 15:35:03 2008 +1000 Merge commit 'gcl/gcl-next' commit 6492cdf3a24fd620660c399745b5e169a0ed27d6 Author: Faisal Latif Date: Thu Jul 24 20:50:45 2008 -0700 RDMA/nes: CM connection setup/teardown rework Major rework of CM connection setup/teardown. We had a number of issues with MPI applications not starting/terminating properly over time. With these changes we were able to run longer on larger clusters. * Remove memory allocation from nes_connect() and nes_cm_connect(). * Fix mini_cm_dec_refcnt_listen() when destroying listener. * Remove unnecessary code from schedule_nes_timer() and nes_cm_timer_tick(). * Functionalize mini_cm_recv_pkt() and process_packet(). * Clean up cm_node->ref_count usage. * Reuse skbs if available. Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit 9905922446f6dc02fd4650c8f59114d6bdb5b777 Author: Roland Dreier Date: Thu Jul 24 20:37:25 2008 -0700 IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG The help text for INFINIBAND_IPOIB_DEBUG refers to "ipoib_debugfs," which no longer exists. Correct this to talk about the files under debugfs that are really created. Signed-off-by: Roland Dreier commit 99c3a5a9e388e0ac166c617aaf02150e778d2779 Author: Roland Dreier Date: Thu Jul 24 20:37:25 2008 -0700 IPoIB/cm: Connected mode is no longer EXPERIMENTAL Connected mode is now tested and used by lots of people. No need to hide it under CONFIG_EXPERIMENTAL. Signed-off-by: Roland Dreier commit 5ba18b186c979283a2bf75a28b7ea325184b0c08 Author: Roland Dreier Date: Thu Jul 24 20:36:59 2008 -0700 RDMA/ucm: BKL is not needed for ib_ucm_open() Remove explicit cycle_kernel_lock() call and document why the code is safe. Signed-off-by: Roland Dreier commit f7a6117ee59c0001d58e830a82d7e205ed602bdd Author: Roland Dreier Date: Thu Jul 24 20:36:59 2008 -0700 RDMA/ucma: BKL is not needed for ucma_open() Remove explicit lock_kernel() calls and document why the code is safe. Signed-off-by: Roland Dreier commit 832fe9c222c7d431c2bff5765a0ac61bcb3df8c8 Merge: ed9559d... e34f872... Author: Linus Torvalds Date: Thu Jul 24 19:11:49 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: virtio: Add transport feature handling stub for virtio_ring. virtio: Rename set_features to finalize_features virtio: Formally reserve bits 28-31 to be 'transport' features. s390: use virtio_console for KVM on s390 virtio: console as a config option virtio_console: use virtqueue notification for hvc_console hvc_console: rework setup to replace irq functions with callbacks virtio_blk: check for hardsector size from host virtio: Use bus_type probe and remove methods virtio: don't always force a notification when ring is full virtio: clarify that ABI is usable by any implementations virtio: Recycle unused recv buffer pages for large skbs in net driver virtio net: Allow receiving SG packets virtio net: Add ethtool ops for SG/GSO virtio: fix virtio_net xmit of freed skb bug commit ed9559d38a87a44e3bda87d73a50aab92471d7dc Author: Rusty Russell Date: Fri Jul 25 12:11:09 2008 +1000 Label kthread_create() with printf attribute tag. Obvious misc patch been in my queue (& linux-next) for over a cycle. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit e34f87256794b87e7f4a8f1812538be7b7b5214c Author: Rusty Russell Date: Fri Jul 25 12:06:13 2008 -0500 virtio: Add transport feature handling stub for virtio_ring. To prepare for virtio_ring transport feature bits, hook in a call in all the users to manipulate them. This currently just clears all the bits, since it doesn't understand any features. Signed-off-by: Rusty Russell commit c624896e488ba2bff5ae497782cfb265c8b00646 Author: Rusty Russell Date: Fri Jul 25 12:06:07 2008 -0500 virtio: Rename set_features to finalize_features Rather than explicitly handing the features to the lower-level, we just hand the virtio_device and have it set the features. This make it clear that it has the chance to manipulate the features of the device at this point (and that all feature negotiation is already done). Signed-off-by: Rusty Russell commit dd7c7bc46211785a1aa7d70feb15830f62682b3c Author: Rusty Russell Date: Fri Jul 25 12:06:07 2008 -0500 virtio: Formally reserve bits 28-31 to be 'transport' features. We assign feature bits as required, but it makes sense to reserve some for the particular transport, rather than the particular device. Signed-off-by: Rusty Russell commit faeba830b086bc9e58748869054e994cb09693cd Author: Christian Borntraeger Date: Fri Jun 20 15:24:18 2008 +0200 s390: use virtio_console for KVM on s390 This patch enables virtio_console as the default console on kvm for s390. We currently use the same notify hack as lguest for early console output. I will try to address this for lguest and s390 later. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 7721c494a28e06543a3d6aa412957aa783a4a531 Author: Christian Borntraeger Date: Fri Jul 25 12:06:06 2008 -0500 virtio: console as a config option I also added a small Kconfig change that allows the user to specify the virtio console in menuconfig. (Fixes to export symbols from Stephen Rothwell ) (Fixes for CONFIG_VIRTIO_CONSOLE=y vs CONFIG_VIRTIO=m from Christian himself) Signed-off-by: Rusty Russell Cc: Stephen Rothwell commit 91fcad19d03ed67cb50fd0e1913a8b89cc3ed3ec Author: Christian Borntraeger Date: Fri Jun 20 15:24:15 2008 +0200 virtio_console: use virtqueue notification for hvc_console This patch exploits the new notifier callbacks of the hvc_console. We can use the virtio callbacks instead of the polling code. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 611e097d7707741a336a0677d9d69bec40f29f3d Author: Christian Borntraeger Date: Fri Jun 20 15:24:08 2008 +0200 hvc_console: rework setup to replace irq functions with callbacks This patch tries to change hvc_console to not use request_irq/free_irq if the backend does not use irqs. This allows virtio_console to use hvc_console without having a linker reference to request_irq/free_irq. In addition, together with patch 2/3 it improves the performance for virtio console input. (an earlier version of this patch was tested by Yajin on lguest) The irq specific code is moved to hvc_irq.c and selected by the drivers that use irqs (System p, System i, XEN). I replaced "int irq" with the opaque "int data". The request_irq and free_irq calls are replaced with notifier_add and notifier_del. I have also changed the code a bit to call the notifier_add and notifier_del inside the spinlock area as the callbacks are found via hp->ops. Changes since last version: o remove ifdef o reintroduce "irq_requested" as "notified" o cleanups, sparse.. I did not move the timer based polling into a separate polling scheme. I played with several variants, but it seems we need to sleep/schedule in a thread even for irq based consoles, as there are throttleing and buffer size constraints. I also kept hvc_struct defined in hvc_console.h so that hvc_irq.c can access the irq_requested element. Feedback is appreciated. virtio_console is currently the only available console for kvm on s390. I plan to push this change as soon as all affected parties agree on it. I would love to get test results from System p, Xen etc. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 066f4d82a67f621ddd547bfa4b9c94631d8457b0 Author: Christian Borntraeger Date: Thu May 29 11:08:26 2008 +0200 virtio_blk: check for hardsector size from host Currently virtio_blk assumes a 512 byte hard sector size. This can cause trouble / performance issues if the backing has a different block size (like a file on an ext3 file system formatted with 4k block size or a dasd). Lets add a feature flag that tells the guest to use a different hard sector size than 512 byte. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit e962fa660d391fc9b90988e6538c94c858c099f9 Author: Mark McLoughlin Date: Fri Jun 13 13:46:40 2008 +0100 virtio: Use bus_type probe and remove methods Hook up to the probe() and remove() methods in bus_type rather than device_driver. The latter has been preferred since 2.6.16. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit 44653eae1407f79dff6f52fcf594ae84cb165ec4 Author: Rusty Russell Date: Fri Jul 25 12:06:04 2008 -0500 virtio: don't always force a notification when ring is full We force notification when the ring is full, even if the host has indicated it doesn't want to know. This seemed like a good idea at the time: if we fill the transmit ring, we should tell the host immediately. Unfortunately this logic also applies to the receiving ring, which is refilled constantly. We should introduce real notification thesholds to replace this logic. Meanwhile, removing the logic altogether breaks the heuristics which KVM uses, so we use a hack: only notify if there are outgoing parts of the new buffer. Here are the number of exits with lguest's crappy network implementation: Before: network xmit 7859051 recv 236420 After: network xmit 7858610 recv 118136 Signed-off-by: Rusty Russell commit 674bfc23c585b34c42263d73fb51710d49762a23 Author: Rusty Russell Date: Fri Jul 25 12:06:03 2008 -0500 virtio: clarify that ABI is usable by any implementations We want others to implement and use virtio, so it makes sense to BSD license the non-__KERNEL__ parts of the headers to make this crystal clear. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger Acked-by: Mark McLoughlin Acked-by: Ryan Harper Acked-by: Eric Van Hensbergen Acked-by: Anthony Liguori commit fb6813f480806d62361719e84777c8e00d3e86a8 Author: Rusty Russell Date: Fri Jul 25 12:06:01 2008 -0500 virtio: Recycle unused recv buffer pages for large skbs in net driver If we hack the virtio_net driver to always allocate full-sized (64k+) skbuffs, the driver slows down (lguest numbers): Time to receive 1GB (small buffers): 10.85 seconds Time to receive 1GB (64k+ buffers): 24.75 seconds Of course, large buffers use up more space in the ring, so we increase that from 128 to 2048: Time to receive 1GB (64k+ buffers, 2k ring): 16.61 seconds If we recycle pages rather than using alloc_page/free_page: Time to receive 1GB (64k+ buffers, 2k ring, recycle pages): 10.81 seconds This demonstrates that with efficient allocation, we don't need to have a separate "small buffer" queue. Signed-off-by: Rusty Russell commit 97402b96f87c6e32f75f1bffdd91a5ee144b679d Author: Herbert Xu Date: Fri Apr 18 11:24:27 2008 +0800 virtio net: Allow receiving SG packets Finally this patch lets virtio_net receive GSO packets in addition to sending them. This can definitely be optimised for the non-GSO case. For comparison the Xen approach stores one page in each skb and uses subsequent skb's pages to construct an SG skb instead of preallocating the maximum amount of pages per skb. Signed-off-by: Rusty Russell (added feature bits) commit a9ea3fc6f2654a7407864fec983d1671d775b5ee Author: Herbert Xu Date: Fri Apr 18 11:21:42 2008 +0800 virtio net: Add ethtool ops for SG/GSO This patch adds some basic ethtool operations to virtio_net so I could test SG without GSO (which was really useful because TSO turned out to be buggy :) Signed-off-by: Rusty Russell (remove MTU setting) commit 9953ca6cb757fb317bb7cdd2fcbf9b88312e241b Author: Mark McLoughlin Date: Tue May 27 12:06:26 2008 +0100 virtio: fix virtio_net xmit of freed skb bug On Mon, 2008-05-26 at 17:42 +1000, Rusty Russell wrote: > If we fail to transmit a packet, we assume the queue is full and put > the skb into last_xmit_skb. However, if more space frees up before we > xmit it, we loop, and the result can be transmitting the same skb twice. > > Fix is simple: set skb to NULL if we've used it in some way, and check > before sending. ... > diff -r 564237b31993 drivers/net/virtio_net.c > --- a/drivers/net/virtio_net.c Mon May 19 12:22:00 2008 +1000 > +++ b/drivers/net/virtio_net.c Mon May 19 12:24:58 2008 +1000 > @@ -287,21 +287,25 @@ again: > free_old_xmit_skbs(vi); > > /* If we has a buffer left over from last time, send it now. */ > - if (vi->last_xmit_skb) { > + if (unlikely(vi->last_xmit_skb)) { > if (xmit_skb(vi, vi->last_xmit_skb) != 0) { > /* Drop this skb: we only queue one. */ > vi->dev->stats.tx_dropped++; > kfree_skb(skb); > + skb = NULL; > goto stop_queue; > } > vi->last_xmit_skb = NULL; With this, may drop an skb and then later in the function discover that we could have sent it after all. Poor wee skb :) How about the incremental patch below? Cheers, Mark. Subject: [PATCH] virtio_net: Delay dropping tx skbs Currently we drop the skb in start_xmit() if we have a queued buffer and fail to transmit it. However, if we delay dropping it until we've stopped the queue and enabled the tx notification callback, then there is a chance space might become available for it. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 Author: Adrian Bunk Date: Fri Jul 25 02:55:49 2008 +0300 fix fs/nfs/nfsroot.c compilation This fixes the following compile error caused by commit f9247273cb69ba101877e946d2d83044409cc8c5 ("UFS: add const to parser token table"): 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 Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 4b9f12a3779c548b68bc9af7d94030868ad3aa1b Author: Linus Torvalds Date: Thu Jul 24 17:29:00 2008 -0700 x86/oprofile/nmi_int: add Nehalem to list of ppro cores ..otherwise oprofile will fall back on that poor timer interrupt. Also replace the unreadable chain of if-statements with a "switch()" statement instead. It generates better code, and is a lot clearer. Signed-off-by: Linus Torvalds commit b30f3ae50cd03ef2ff433a5030fbf88dd8323528 Author: Linus Torvalds Date: Thu Jul 24 15:43:44 2008 -0700 x86-64: Clean up 'save/restore_i387()' usage Suresh Siddha wants to fix a possible FPU leakage in error conditions, but the fact that save/restore_i387() are inlines in a header file makes that harder to do than necessary. So start off with an obvious cleanup. This just moves the x86-64 version of save/restore_i387() out of the header file, and moves it to the only file that it is actually used in: arch/x86/kernel/signal_64.c. So exposing it in a header file was wrong to begin with. [ Side note: I'd like to fix up some of the games we play with the 32-bit version of these functions too, but that's a separate matter. The 32-bit versions are shared - under different names at that! - by both the native x86-32 code and the x86-64 32-bit compatibility code ] Acked-by: Suresh Siddha Signed-off-by: Linus Torvalds commit b5684b83b1e1579bbbc80e703e990c0cccf5892c Merge: 1481b91... 1b8ebad... Author: Linus Torvalds Date: Thu Jul 24 14:55:09 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: (76 commits) ide: use proper printk() KERN_* levels in ide-probe.c ide: fix for EATA SCSI HBA in ATA emulating mode ide: remove stale comments from drivers/ide/Makefile ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase ide-scsi: remove kmalloced struct request ht6560b: remove old history ht6560b: update email address ide-cd: fix oops when using growisofs gayle: release resources on ide_host_add() failure palm_bk3710: add UltraDMA/100 support ide: trivial sparse annotations ide: ide-tape.c sparse annotations and unaligned access removal ide: drop 'name' parameter from ->init_chipset method ide: prefix messages from IDE PCI host drivers by driver name it821x: remove DECLARE_ITE_DEV() macro it8213: remove DECLARE_ITE_DEV() macro ide: include PCI device name in messages from IDE PCI host drivers ide: remove for some archs ide-generic: remove ide_default_{io_base,irq}() inlines (take 3) ide-generic: is no longer needed on ppc32 ... commit 1481b9109fe771ec8b035d7760f42e36d2bed5d4 Merge: 5042d99... f88133d... Author: Linus Torvalds Date: Thu Jul 24 13:57:37 2008 -0700 Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6 * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6: acpi: fix crash in core ACPI code, triggered by CONFIG_ACPI_PCI_SLOT=y ACPI: thinkpad-acpi: don't misdetect in get_thinkpad_model_data() on -ENOMEM ACPI: thinkpad-acpi: bump up version to 0.21 ACPI: thinkpad-acpi: add bluetooth and WWAN rfkill support ACPI: thinkpad-acpi: WLSW overrides other rfkill switches ACPI: thinkpad-acpi: prepare for bluetooth and wwan rfkill support ACPI: thinkpad-acpi: consolidate wlsw notification function ACPI: thinkpad-acpi: minor refactor on radio switch init Revert "ACPI: don't walk tables if ACPI was disabled" Revert "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled." Revert "Fix FADT parsing" ACPI : Set FAN device to correct state in boot phase ACPI: Ignore _BQC object when registering backlight device ACPI: stop complaints about interrupt link End Tags and blank IRQ descriptors commit 5042d99795d3d817bef2f4cc46e953bee9bf7398 Merge: 5c40235... f17a077... Author: Linus Torvalds Date: Thu Jul 24 13:57:13 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: fixup sparse endianness warnings in proc.c PCI PM: make more PCI PM core functionality available to drivers PCI/DMAR: don't assume presence of RMRRs PCI hotplug: fix error path in pci_slot's register_slot commit 1b8ebad87b459e2e1333fbf28005977245ff5402 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: use proper printk() KERN_* levels in ide-probe.c While at it: - fixup printk() messages in save_match() and hwif_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 52f3a771feafe3e9c56f8d00c8eb53fd8f578f2d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: fix for EATA SCSI HBA in ATA emulating mode IDE probing code used to skip devices attached to EATA SCSI HBA in ATA emulating mode but because of warm-plug support port I/O resources are no longer freed if no devices are detected on a port and the decision about the driver to use is left up to the user. Remove no longer valid EATA SCSI HBA quirk from do_identify(). Noticed-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit d0b53f6866fa185da94968e62ae97923db18298c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: remove stale comments from drivers/ide/Makefile Signed-off-by: Bartlomiej Zolnierkiewicz commit 90d2c6bc68745d67cdbf00bab43818d90aa0dfb6 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase It is already done by task_no_data_intr() and there is no reason not to do it in other TASKFILE_NO_DATA data phase handlers. Signed-off-by: Bartlomiej Zolnierkiewicz commit e27420d046600cd3e4139ea1b6cba59a8b4050eb Author: FUJITA Tomonori Date: Thu Jul 24 22:53:35 2008 +0200 ide-scsi: remove kmalloced struct request This converts ide-scsi to use blk_get/put_request instead of kmalloc/kfree. Signed-off-by: FUJITA Tomonori Signed-off-by: Bartlomiej Zolnierkiewicz commit 216f9a88feabf5ed574c3aa78447a6bd872910bc Author: Jan Evert van Grootheest Date: Thu Jul 24 22:53:35 2008 +0200 ht6560b: remove old history Remove the ancient version history. Git does a better job. From: Jan Evert van Grootheest Signed-off-by: Bartlomiej Zolnierkiewicz commit eb34b2d90e71380ad19695188934230b06a3668b Author: Jan Evert van Grootheest Date: Thu Jul 24 22:53:35 2008 +0200 ht6560b: update email address Update email address. From: Jan Evert van Grootheest Signed-off-by: Bartlomiej Zolnierkiewicz commit e8e7b9eb11c34ee18bde8b7011af41938d1ad667 Author: Jens Axboe Date: Thu Jul 24 22:53:35 2008 +0200 ide-cd: fix oops when using growisofs cdrom_read_capacity() will blindly return the capacity from the device without sanity-checking it. This later causes code in fs/buffer.c to oops. Fix this by checking that the device is telling us sensible things. From: Jens Axboe Cc: Michael Buesch Cc: Jan Kara Cc: Arnd Bergmann Cc: Cc: Borislav Petkov Signed-off-by: Andrew Morton [bart: print device name instead of driver name] Signed-off-by: Bartlomiej Zolnierkiewicz [harvey: blocklen is a big-endian value] Signed-off-by: Harvey Harrison Signed-off-by: Bartlomiej Zolnierkiewicz commit 96cc112c09b3c6674da01ef8b377f7a916883ea2 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:34 2008 +0200 gayle: release resources on ide_host_add() failure "gayle: reserve memory resources at once" patch temporary removed freeing of resources on failure (to ease convertion to ide_host_add() interface). This patch fixes it. Thanks to Geert for noticing the issue. Noticed-by: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit a0f403bc58dcaa118f02ec70c3ecfec1bc26e445 Author: Sergei Shtylyov Date: Thu Jul 24 22:53:34 2008 +0200 palm_bk3710: add UltraDMA/100 support This controller supports UltraDMA up to mode 5 but it should be clocked with at least twice the data strobe frequency, so enable mode 5 for 100+ MHz IDECLK. While at it, start passing the correct device to clk_get() -- it worked anyway but WTF? :-/ Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7fa897b91a3ea0f16c2873b869d7a0eef05acff4 Author: Harvey Harrison Date: Thu Jul 24 22:53:34 2008 +0200 ide: trivial sparse annotations Signed-off-by: Harvey Harrison Signed-off-by: Bartlomiej Zolnierkiewicz commit cd740ab0f69f6c94d9c7f916758e308f30a439fa Author: Harvey Harrison Date: Thu Jul 24 22:53:33 2008 +0200 ide: ide-tape.c sparse annotations and unaligned access removal If this is actually unaligned the access of speed/max_speed above is already broken and needs a get_unaligned. Otherwise it is aligned and they can be removed. Signed-off-by: Harvey Harrison Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a326b02b0c576001353dbc489154959b0889c6bf Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:33 2008 +0200 ide: drop 'name' parameter from ->init_chipset method There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ced3ec8aa7d0fa3300187ee47c144a22ccfc974e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:32 2008 +0200 ide: prefix messages from IDE PCI host drivers by driver name Prefix messages from IDE PCI host drivers by driver name instead of marketed chipset name (it is still possible to exactly identify the particular chipset basing on driver messages). As a bonus this provides nice code savings for some drivers: text data bss dec hex filename 3826 112 8 3946 f6a drivers/ide/pci/amd74xx.o.before 2786 112 8 2906 b5a drivers/ide/pci/amd74xx.o.after 764 108 0 872 368 drivers/ide/pci/cs5520.o.before 680 108 0 788 314 drivers/ide/pci/cs5520.o.after 1680 112 4 1796 704 drivers/ide/pci/generic.o.before 1155 112 4 1271 4f7 drivers/ide/pci/generic.o.after 7128 792 0 7920 1ef0 drivers/ide/pci/hpt366.o.before 6984 792 0 7776 1e60 drivers/ide/pci/hpt366.o.after 2800 148 0 2948 b84 drivers/ide/pci/pdc202xx_new.o.before 2523 148 0 2671 a6f drivers/ide/pci/pdc202xx_new.o.after 2831 148 0 2979 ba3 drivers/ide/pci/pdc202xx_old.o.before 2683 148 0 2831 b0f drivers/ide/pci/pdc202xx_old.o.after 3776 112 4 3892 f34 drivers/ide/pci/piix.o.before 2804 112 4 2920 b68 drivers/ide/pci/piix.o.after 4693 116 0 4809 12c9 drivers/ide/pci/siimage.o.before 4600 116 0 4716 126c drivers/ide/pci/siimage.o.after Signed-off-by: Bartlomiej Zolnierkiewicz commit 04ba6e739e9c0623c25f94b191fd20dfbd1b26e3 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:32 2008 +0200 it821x: remove DECLARE_ITE_DEV() macro While at it: * it821x_chipsets[] -> it821x_chipset. * Fix it821x_chipset's name field (as it is used for IT8211/8212). Signed-off-by: Bartlomiej Zolnierkiewicz commit 29f1ca920cb8d65b979f7edf2fc7d11095461306 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:32 2008 +0200 it8213: remove DECLARE_ITE_DEV() macro While at it: * it8213_chipsets[] -> it8213_chipset. Signed-off-by: Bartlomiej Zolnierkiewicz commit 28cfd8af52a9ed4e5bd1751ea6bc0b8c870f68ec Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:31 2008 +0200 ide: include PCI device name in messages from IDE PCI host drivers While at it: * Apply small fixes to messages (s/dma/DMA/, remove trailing '.', etc). * Fix printk() call in ide_setup_pci_baseregs() to use KERN_INFO. * Move printk() call from ide_pci_clear_simplex() to the caller. * Cleanup do_ide_setup_pci_device() a bit. * amd74xx.c: remove superfluous PCI device revision information. * hpt366.c: fix two printk() calls in ->init_chipset to use KERN_INFO. * pdc202xx_new.c: fix printk() call in ->init_chipset to use KERN_INFO. * pdc202xx_old.c: fix driver message in pdc202xx_init_one(). * via82cxxx.c: fix driver warning message in via_init_one(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2a8f7450f828eaee49d66f41f99ac2e54f1160a6 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:31 2008 +0200 ide: remove for some archs * Remove include from ( includes which is enough). * Remove for alpha/blackfin/h8300/ia64/m32r/sh/x86/xtensa (this leaves us with arm/frv/m68k/mips/mn10300/parisc/powerpc/sparc[64]). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f01d35d87f39ab794ddcdefadb79c11054bcbfbc Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:31 2008 +0200 ide-generic: remove ide_default_{io_base,irq}() inlines (take 3) Replace ide_default_{io_base,irq}() inlines by legacy_{bases,irqs}[]. v2: Add missing zero-ing of hws[] (caught during testing by Borislav Petkov). v3: Fix zero-oing of hws[] for _real_ this time. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 35bbac9a2f73a7e0967d0a1d3e3673e2590ef716 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:30 2008 +0200 ide-generic: is no longer needed on ppc32 Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit ffed0b6e1a6f5132681d4b521531d992f893190b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:30 2008 +0200 ide-generic: remove broken PPC_PREP support PPC_PREP has been depending on BROKEN for some time now. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit d83b8b85cd56a083d30df73f3fd5e4714591b910 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:30 2008 +0200 ide: define MAX_HWIFS in * Now that ide_hwif_t instances are allocated dynamically the difference between MAX_HWIFS == 2 and MAX_HWIFS == 10 is ~100 bytes (x86-32) so use MAX_HWIFS == 10 on all archs except these ones that use MAX_HWIFS == 1. * Define MAX_HWIFS in instead of . [ Please note that avr32/cris/v850 have no and alpha/ia64/sh always define CONFIG_IDE_MAX_HWIFS. ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 2c9d86438a0104800da2a8ecdc1e27baf38ba6a4 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:29 2008 +0200 ide: remove Remove and . This has been a broken code for some time now and needs rewrite to match IDE core code / host driver model anyway. Cc: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Bartlomiej Zolnierkiewicz commit b6cd7da5be2522b62bbc48d41b36c828b88e02fe Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:28 2008 +0200 ide-generic: remove "no_pci_devices()" quirk from ide_default_io_base() Since the decision to probe for ISA ide2-6 is now left to the user "no_pci_devices()" quirk is no longer needed and may be removed. Signed-off-by: Bartlomiej Zolnierkiewicz commit dbdec839c4c2bfc8f2da8e50c06b9947e5ad0394 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:28 2008 +0200 ide-generic: minor fix for mips Move ide_probe_legacy() call to ide_generic_init() so it fails early if necessary and returns the proper error value (nowadays ide_default_io_base() is used only by ide-generic). Cc: Ralf Baechle Signed-off-by: Bartlomiej Zolnierkiewicz commit ac32f3238c1d95a6ebea2c312160dbdbd61bf91c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 ide-generic: fix ide_default_io_base() for m32r Fix ide_default_io_base() to match ide_default_irq(). Cc: Hirokazu Takata Signed-off-by: Bartlomiej Zolnierkiewicz commit b0a62817961796f6dcef5f316134d8bc7279bf6e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 ide: fix * Add missing include. While at it: * Remove needless ide_default_{irq,io_base}() inlines. Cc: Chris Zankel Signed-off-by: Bartlomiej Zolnierkiewicz commit 37c5ef56989717d871d048f98fb6411e7a17c43d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 rapide: add module_exit() Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e27cb1135de4cc69bf358209f91e1f7ba81eca1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 icside: add module_exit() Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 585f67e736eece4cdf96b628042170273221e770 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 via82cxxx: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit fc2c32b737fa370683f8c44d74f41febe33b9c23 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 trm290: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 29d72f2df933ea5ecf294b170b2f02af2af88120 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 triflex: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit ea881d6d6c58aa6d56105d1faba7432243ea7118 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 tc86c001: add ->remove method and module_exit() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 64b0fed31d6704e4e2e42e9a1ac5995b0a1b54e4 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 slc90e66: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ce7199897bcbad05ecd06a4df22795fb37f4d0a Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 sl82c105: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 1ceb906b4062954e92295191402e9214345ee0e9 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 sis5513: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit fe3825808ad67af02bd826a0d2ca6831e947e80e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 siimage: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit bc2c9a8025921972f0774859b8f19b324734e824 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 serverworks: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 991f5e69c512b284aaec81432dff0440b2a2f418 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 sc1200: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 0fd188047ca75df85191cc55f929cb2889631430 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 rz1000: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit da8c3e0d21c5dbb2815d7c8f1f09e0c68f626ed1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 piix: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 574a1c24b63fdb584935b4924a38b451eeb0880e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 pdc202xx_old: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit d69c8f8c0068b9fc7f5a5082d8a891618b732e2d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:23 2008 +0200 pdc202xx_new: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit adc7f85ae68bd2e8db2e0136dcd4679891e5c321 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:23 2008 +0200 opti621: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit aa6e518d75742fd3ac3d2cb4c2bcbae850319fc1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:23 2008 +0200 ns87415: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 1bcaaba7749dce7c0506cff0e811c9bed8121f38 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:22 2008 +0200 jmicron: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 87d8b61356108835f5e91c0fb32b830ec585978c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:22 2008 +0200 it821x: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 5102f768570b3486979afb68c595b71cfb7f026f Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:22 2008 +0200 it8213: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit a6c43a2be9721d00ef9d6ef5b7b0e8113444577b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 hpt366: add ->remove method and module_exit() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 741ac62f6fca55ddbef52513fbc687ba6b04f99e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 hpt34x: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit f566bcae9fb39b108e39a2f31594c028d6ee2e77 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 ide/pci/generic: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit cd68841b854e24076d41c32eae3ccfce6ae60a59 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 cy82c693: add ->remove method and module_exit() Fix the refcounting for dev2 while at it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 40c8a7f67d38de87f97a548b81b6cd0621a3ff9a Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 cs5535: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit d16492a9789982955e627a7ffdcd1c3b945f7e85 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 cs5530: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit e2b15b4765ca032d0837dfc8c195ecd3bc56a433 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 cmd64x: add ->remove method and module_exit() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f354fbc4b45a730aa0f876322ea4f096b47d1013 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 atiixp: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit b2509ac1d9dbe7a9d3a9915afbe108978002c95b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 amd74xx: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ee3f3b69d9c37f86a45862f53451699ec77fe12 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 alim15x3: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit eb7cb98b1cc8be1d4395d9accf49ae3924cd68f1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 aec62xx: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit ef0b04276d8f719d754c092434fbd62c2aeb5307 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 ide: add ide_pci_remove() helper * Add 'unsigned long host_flags' field to struct ide_host. * Set ->host_flags in ide_host_alloc_all(). * Always set PCI dev's ->driver_data in ide_pci_init_{one,two}(). * Add ide_pci_remove() helper (the default implementation for struct pci_driver's ->remove method). Signed-off-by: Bartlomiej Zolnierkiewicz commit 37525bebcfc15a1fe5a9cb50bf49b21bf43559c1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:18 2008 +0200 via82cxxx: cleanup ->init_chipset method * Move the boot message and via_clock setup from init_chipset_via82cxxx() to via_init_one(). * Set vdev->via_config in via_init_one() and cleanup init_chipset_via82cxxx() accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0794230fd4b1bf61af8aabd7e987a595d6dbc430 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 cmd64x: cleanup ->init_chipset method Remove verbose reporting for CMD646 (PCI device revision is always logged by IDE PCI layer). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d51f19c86583ca70468883d8137a92689f1a80c1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 amd74xx: cleanup ->init_chipset method Move amd_clock setup from init_chipset_amd74xx() to amd74xx_probe(). Signed-off-by: Bartlomiej Zolnierkiewicz commit b16040b14e766d390138b04c8829c816f4c1d95b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 tc86c001: remove ->init_chipset method * Reserve PCI BAR 5 in tc86c001_init_one() and remove no longer needed init_chipset_tc86c001(). While at it: * Add & use DRV_NAME define. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ee77325b074a73694b66ec9eca4f7e55dad58b84 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 via82cxxx: convert to use ->host_priv Signed-off-by: Bartlomiej Zolnierkiewicz commit 4c674235d667d7ddc6b0c95a228a507eb94da2d6 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:16 2008 +0200 siimage: convert to use ->host_priv While at it: * Reserve PCI BAR 5 in siimage_init_one() and remove no longer needed setup_mmio_siimage(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 96776f3b57eb7beb889a4368937cc9d74082a47e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:16 2008 +0200 sc1200: convert to use ->host_priv Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d76d9dc448d5a6fc7b49ba06c634aa6927bcc3d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:16 2008 +0200 it821x: convert to use ->host_priv While at it: * Allocate both struct it821x_dev instances at once. * Don't leak itdevs on ide_pci_init_one() failure. Signed-off-by: Bartlomiej Zolnierkiewicz commit 74811f355f4f69a187fa74892dcf2a684b84ce99 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:15 2008 +0200 hpt366: convert to use ->host_priv While at it: * Allocate both struct hpt_info instances at once. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 60e57ed7c12917932a01d1679d92a7a8735afbce Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:15 2008 +0200 aec62xx: convert to use ->host_priv Signed-off-by: Bartlomiej Zolnierkiewicz commit 08da591e14cf87247ec09b17c350235157a92fc3 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:15 2008 +0200 ide: add ide_device_{get,put}() helpers * Add 'struct ide_host *host' field to ide_hwif_t and set it in ide_host_alloc_all(). * Add ide_device_{get,put}() helpers loosely based on SCSI's scsi_device_{get,put}() ones. * Convert IDE device drivers to use ide_device_{get,put}(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 6cdf6eb357c2681596b7b1672b92396ba82333d4 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:14 2008 +0200 ide: add ->dev and ->host_priv fields to struct ide_host * Add 'struct device *dev[2]' and 'void *host_priv' fields to struct ide_host. * Set ->dev[] in ide_host_alloc_all()/ide_setup_pci_device[s](). * Pass 'void *priv' argument to ide_setup_pci_device[s]() and use it to set ->host_priv. * Set PCI dev's ->driver_data to point to the struct ide_host instance if PCI host driver wants to use ->host_priv. * Rename ide_setup_pci_device[s]() to ide_pci_init_{one,two}(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c2eece50a368c7986bae0b3e52739558dd71b51 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:12 2008 +0200 ide: call ide_pci_setup_ports() before do_ide_setup_pci_device() * Call ide_pci_setup_ports() before do_ide_setup_pci_device() in ide_setup_pci_device[s](). While at it: * Remove stale FIXMEs. Signed-off-by: Bartlomiej Zolnierkiewicz commit a742d6cf0b37b1a96a1549b1fda0d6b19e0185c2 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:12 2008 +0200 ide: move ide_setup_pci_controller() call to ide_setup_pci_device[s]() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit a95925a309cd9a2e7f5a5713fd70e0dadb09890c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:11 2008 +0200 ide: respect dev->irq in do_ide_setup_pci_device() also if 'tried_config' * If device is in the PCI native mode respect dev->irq regardless of 'tried_config' in do_ide_setup_pci_device(). * Drop no longer needed 'config' argument from ide_setup_pci_controller(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 708e5f9eb68589b87724af3f0fb4e681dfdfd69f Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:11 2008 +0200 ide: always call ->init_chipset method in do_ide_setup_pci_device() Call ->init_chipset method also for 'tried_config' / '!pciirq' conditions. Signed-off-by: Bartlomiej Zolnierkiewicz commit e2d2867ff8700d7431c68c089ff5f5ed7f2d5b40 Author: Chris Wright Date: Thu Jul 24 20:43:34 2008 +0000 When verifying the decoded header before decoding the object identifier (expecting a SPNEGO pseudo-mechanism oid), the test to verify it is a primitive encoding is compared against the asn1 class. Primitive is not a class. This brings check in line with similar check for krb/ntlmssp oid. Signed-off-by: Chris Wright Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 5c402355adf8f920531f02099f4ec0d2bccd4c64 Merge: ecc8b65... 2cc1773... Author: Linus Torvalds Date: Thu Jul 24 12:56:07 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: MAINTAINERS: Remove Glenn Streiff from NetEffect entry mlx4_core: Improve error message when not enough UAR pages are available IB/mlx4: Add support for memory management extensions and local DMA L_Key IB/mthca: Keep free count for MTT buddy allocator mlx4_core: Keep free count for MTT buddy allocator mlx4_code: Add missing FW status return code IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg mlx4_core: Add module parameter to enable QoS support RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one() IB/ehca: Release mutex in error path of alloc_small_queue_page() IB/ehca: Use default value for Local CA ACK Delay if FW returns 0 IB/ehca: Filter PATH_MIG events if QP was never armed IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event commit ecc8b655b38a880b578146895e0e1e2d477ca2c0 Merge: 2528ce3... e338125... Author: Linus Torvalds Date: Thu Jul 24 12:55:01 2008 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well nohz: prevent tick stop outside of the idle loop commit 2528ce3237be4e900f5eaa455490146e1422e424 Merge: 8ffa5b6... 36bd53d... Author: Linus Torvalds Date: Thu Jul 24 12:54:26 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: arch/mips/kernel/stacktrace.c: Heiko can't type kthread: reduce stack pressure in create_kthread and kthreadd fix core/stacktrace changes on avr32, mips, sh commit 8ffa5b65968262ba6bb046329972791c0d960745 Merge: 6209ed9... 58838cf... Author: Linus Torvalds Date: Thu Jul 24 12:53:51 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: clean up compiler warning sched: fix hrtick & generic-ipi dependency commit 6209ed9d8443b63c36d340908530fa470c4d4fff Author: Linus Torvalds Date: Thu Jul 24 12:49:26 2008 -0700 x86-64: make BUILD_IRQ() also reset section back Commit 9d25d4db81833029d30b7b03cc1000cbbe09e192 ("x86: BUILD_IRQ say .text to avoid .data.percpu") added a ".text" specifier to make sure that BUILD_IRQ() builds the irq trampoline in the text segment rather than in some random left-over segment that the compiler happened to leave the asm in. However, we should also make sure that we switch back by adding a ".previous" at the end, so that there are no subtle issues with subsequent compiler-generated code. Signed-off-by: Linus Torvalds commit 6044110742bc2ae0577b962985e7c63e0634b2e9 Merge: 7540081... 04bbe43... Author: Linus Torvalds Date: Thu Jul 24 12:33:51 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 header export, asm-x86/processor-flags.h, CONFIG_* leaks x86: BUILD_IRQ say .text to avoid .data.percpu xen: don't use sysret for sysexit32 x86: call early_cpu_init at the same point commit 7540081c6b16dc941895bca840749cabfd0d3b48 Merge: 3fde80e... b552068... Author: Linus Torvalds Date: Thu Jul 24 12:24:40 2008 -0700 Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: Remove __DECLARE_SEMAPHORE_GENERIC Remove asm/semaphore.h Remove use of asm/semaphore.h Add missing semaphore.h includes Remove mention of semaphores from kernel-locking commit 3fde80e94c2bbffbb13f5faa3340cf438440ebea Merge: ac9f80a... 9b0e741... Author: Linus Torvalds Date: Thu Jul 24 12:17:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: put ColdFire head code into .text.head section m68knommu: remove last use of CONFIG_FADS and CONFIG_RPXCLASSIC m68knommu: remove RPXCLASSIC from the m68k tree m68knommu: fec: remove FADS m68knommu: MCF5307 PIT GENERIC_CLOCKEVENTS support m68knommu: add read_barrier_depends() and irqs_disabled_flags() m68knommu: add byteswap assembly opcode for ISA A+ m68knommu: add ffs and __ffs plattform which support ISA A+ or ISA C m68knommu: add sched_clock() for the DMA timer m68knommu: complete generic time m68knommu: move code within time.c m68knommu: m68knommu: add old stack trace method m68knommu: Add Coldfire DMA Timer support m68knommu: defconfig for M5407C3 board m68knommu: defconfig for M5307C3 board m68knommu: defconfig for M5275EVB board m68knommu: defconfig for M5249EVB board m68knommu: change to a configs directory for board configurations commit ac9f80ad16e6e934b6c1f12f82d27889c0f9abcc Merge: c54554d... f6ec2d9... Author: Linus Torvalds Date: Thu Jul 24 12:16:40 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Fix missing kernel doc entry backlight: Add Nvidia-based Apple Macbook Pro backlight driver commit c54554d388369f7f88ddcbe285ca96f7fb8a2d4b Merge: 4378dcc... fe3025b... Author: Linus Torvalds Date: Thu Jul 24 12:16:02 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Ensure led->trigger is set earlier leds: Add support for Philips PCA955x I2C LED drivers leds: Fix sparse warnings in leds-h1940 driver leds: mark led_classdev.default_trigger as const leds: fix unsigned value overflow in atmel pwm driver leds: Add pca9532 platform data for Thecus N2100 leds: Add pca9532 led driver commit 4378dcca8578b0fd0fba883a3354ad4820d4f85f Merge: c3c2233... 7ae93f5... Author: Linus Torvalds Date: Thu Jul 24 12:15:16 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: sparc64: Fix cpufreq notifier registry. sparc64: Fix lockdep issues in LDC protocol layer. commit c3c2233d84bee397b8271923c007264eb3efa67b Merge: f924727... f867e6a... Author: Linus Torvalds Date: Thu Jul 24 12:14:58 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: pkt_sched: sch_sfq: dump a real number of flows atm: [fore200e] use MODULE_FIRMWARE() and other suggested cleanups netfilter: make security table depend on NETFILTER_ADVANCED tcp: Clear probes_out more aggressively in tcp_ack(). e1000e: fix e1000_netpoll(), remove extraneous e1000_clean_tx_irq() call net: Update entry in af_family_clock_key_strings netdev: Remove warning from __netif_schedule(). sky2: don't stop queue on shutdown commit f9247273cb69ba101877e946d2d83044409cc8c5 Author: Steven Whitehouse Date: Thu Jul 24 17:22:13 2008 +0100 UFS: add const to parser token table This patch adds a "const" to the parser token table. I've done an allmodconfig build to see if this produces any warnings/failures and the patch includes a fix for the only warning that was produced. Signed-off-by: Steven Whitehouse Acked-by: Alexander Viro Acked-by: Evgeniy Dushistov Signed-off-by: Linus Torvalds commit b340e8a57ef381e69c99a7a8ede61a6bf71a8014 Author: Akinobu Mita Date: Wed Jul 23 21:31:51 2008 -0700 auxdisplay: small cleanups - Use BUILD_BUG_ON for CFAG12864B_SIZE instead of runtime-check - Use get_zeroed_page() Signed-off-by: Akinobu Mita Cc: Miguel Ojeda Sandonis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bb49fcd501aa9fd3d321a22b7c01d9b0db7ab36 Author: Philippe De Muyter Date: Wed Jul 23 21:31:50 2008 -0700 video/fb: cleanup FB_MAJOR usage Currently, linux/major.h defines a GRAPHDEV_MAJOR (29) that nobody uses, and linux/fb.h defines the real FB_MAJOR (also 29), that only fbmem.c needs. Drop GRAPHDEV_MAJOR from major.h, move FB_MAJOR definition from fb.h to major.h, and fix fbmem.c to use major.h's definition. Signed-off-by: Philippe De Muyter Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba603bf514c101bf48f6adf393c3d00ed457a57 Author: Jan Beulich Date: Wed Jul 23 21:31:49 2008 -0700 fbcon: remove stray semicolons [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e074058d72486676f6fdf6fe803200c62dcb403 Author: Hans-Christian Egtvedt Date: Wed Jul 23 21:31:48 2008 -0700 fbdev: LCD backlight driver using Atmel PWM driver This patch adds a platform driver using the ATMEL PWM driver to control a backlight which requires a PWM signal and optional GPIO signal for discrete on/off signal. It has been tested on Favr-32 board from EarthLCD. The driver is configurable by supplying a struct with the platform data. See the include/linux/atmel-pwm-bl.h for details. The board code for Favr-32 will be submitted to the AVR32 kernel list. Signed-off-by: Hans-Christian Egtvedt Cc: Krzysztof Helt Cc: Haavard Skinnemoen Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d04a4a72d7e1519b4838f24bdd4b5d0f3f426dc Author: Stefano Stabellini Date: Wed Jul 23 21:31:48 2008 -0700 fbcon: bgcolor fix The fourth bit of the background color is the blink property bit, not the intensity bit, as for the foreground color. Therefore it shouldn't be included in the background color. Signed-off-by: Stefano Stabellini Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a25e41831ee851c1365d8b41decc22493b18e6d Author: Nobuhiro Iwamatsu Date: Wed Jul 23 21:31:46 2008 -0700 video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver Framebuffer driver for the SH7760/SH7763 integrated LCD controller. Signed-off-by: Manuel Lauss Signed-off-by: Nobuhiro Iwamatsu Reviewed-by: Paul Mundt Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Siegfried Schaefer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6b044d6bab5e2878d408666469362fc200a889a Author: Krzysztof Helt Date: Wed Jul 23 21:31:45 2008 -0700 neofb: drop the xtimings structure Remove the xtimings structure which only stored some values to be used later (mostly once). Calculate and use these values in places they are needed. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ca6b62f8ca668ccfab0da9112c0125ef82343bd Author: Krzysztof Helt Date: Wed Jul 23 21:31:45 2008 -0700 neofb: drop redundant code Drop structure which is only set but never read. Drop variables which are only set and never read. Convert one long switch into two shorter ones. Add cpu_relax() in busy waiting loop. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc80b7bd682b47825e806018cca8ff7dc6bb55a Author: Krzysztof Helt Date: Wed Jul 23 21:31:44 2008 -0700 neofb: simplify clock calculation There is nothing to gain by converting value in kHz to fixed point MHz. Just calculate everything in kHz. A reorder of the loop allows reducing number of iterations (check if frequency is not too high already). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5798712d608f5ebad994487748a2ccf3cc613d78 Author: Adrian Bunk Date: Wed Jul 23 21:31:43 2008 -0700 drivers/video/amifb.c cleanups This patch contains the following cleanups: - make the needlessly global amifb_init() static - rename cleanup_module() to amifb_exit(), make it static __exit, use module_exit(), there's no need to #ifdef MODULE it Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 104b198dd0b3b62a4fc4e9146f01f2abc718e926 Author: Jordan Crouse Date: Wed Jul 23 21:31:43 2008 -0700 lxfb: fix console blanking Simply enabling DAC blanking without turning off the CRT seems to be resulting in characters remaining on the screen when the monitor blanks. This patch turns off the CRT for all modes, and also powers down the DACs when vsync and/or hsync are disabled. Signed-off-by: Jordan Crouse Acked-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be935d5b6301865b4e9ec35d79d398cedb3c82b7 Author: Andres Salomon Date: Wed Jul 23 21:31:41 2008 -0700 lxfb: drop dead declarations from header We never sent the gamma stuff upstream, and don't really care about it. However, lx_[gs]_et_gamma prototypes snuck into lxfb.h anyways; there are no definitions for them. Drop the dead code. Signed-off-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18b095d4b847bb08bf8a1bace7711a93d27732c0 Author: Yoichi Yuasa Date: Wed Jul 23 21:31:41 2008 -0700 drivers/char: remove old broken Cobalt LCD driver Remove old broken Cobalt LCD driver. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5abe3b4063f16245b8fafbff37bd93814eb8e363 Author: Yoichi Yuasa Date: Wed Jul 23 21:31:40 2008 -0700 fbdev: add new Cobalt LCD framebuffer driver Add new Cobalt LCD framebuffer driver. [akpm@linux-foundation.org: fix build] Signed-off-by: Yoichi Yuasa Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b51d51a9d24719f905ba9657b29e04efd82a7ea Author: Timur Tabi Date: Wed Jul 23 21:31:39 2008 -0700 fsl-diu-fb: update Freescale DIU driver to use page_alloc_exact() Update the Freescale DIU driver to use page_alloc_exact() to allocate a DMA buffer. This also eliminates the rheap-based memory allocator. We can do this now because commit 6ccf61f9 allows us to allocate 8MB physically- contiguous memory blocks. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Timur Tabi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25826a7cf1c61b5c6e6db8365172eb97ef39ef3 Author: Ben Dooks Date: Wed Jul 23 21:31:38 2008 -0700 lcd: add platform_lcd driver Add a platform_lcd driver to allow boards with simple lcd power controls to register themselves easily. [akpm@linux-foundation.org: build fix] Signed-off-by: Ben Dooks Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c531360ed504aa0ce995fcb8ef08e82b6534d0b Author: Ben Dooks Date: Wed Jul 23 21:31:38 2008 -0700 lcd: add lcd_device to check_fb() entry in lcd_ops Add the lcd_device being checked to the check_fb entry of lcd_ops. This ensures that any driver using this to check against it's own state can do so, and also makes all the calls in lcd_ops more orthogonal in their arguments. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cccb6d3c149603b9c15d3c460dff317455df1766 Author: Ben Dooks Date: Wed Jul 23 21:31:37 2008 -0700 fb: add support for the ILI9320 video display controller Provide support for the ILI9320 display controller chip which is found in many LCD displays. Included with this is support for an example LCD using this chip, the VGG2432A4. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05254190dd1a4751284f4a51efb70fcc16c45a4 Author: Ben Dooks Date: Wed Jul 23 21:31:37 2008 -0700 sm501: fixup allocation code to be 64bit resource compliant As pointed out by Andrew Morton, we have a problem when setting the 64bit resources option. Alter the allocation routines to remove the need to use the start and end fields, use the proper HEAD_PANEL/HEAD_CRT and update the comments. Note, we also fix the bug where we failed to check the size of the CRT memory allocation. [akpm@linux-foundation.org: cleanup] Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b599fb2fc23386dfd2965bf7d10b2b0f628b208 Author: Ben Dooks Date: Wed Jul 23 21:31:36 2008 -0700 sm501: restructure init to allow only 1 fb on an SM501 Add the ability to register only one of the two possible main framebuffer devices on the SM501 by passing platform data for only the framebuffer that you are interested in having. As a side note, we update the init sequence to commonise the code that is executed twice, and fix a pair of missing frees that we didn't do on framebuffer exit, such as freeing the fb's cmap. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 206c5d69d0540024faffd423fc703f1e457332d7 Author: Ben Dooks Date: Wed Jul 23 21:31:35 2008 -0700 sm501: add inversion controls for VBIASEN and FPEN Add flags to allow the driver to invert the sense of both VBIASEN and FPEN signals comming from the SM501. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 968910bd03b226ed410d092c2da59dffe5bfe8de Author: Nicolas Ferre Date: Wed Jul 23 21:31:34 2008 -0700 atmel_lcdfb: avoid division by zero Avoid division by zero in atmel_lcdfb_check_var() function. If pixclock is not specified while passing a var structure in the check_var() funtion, a division by zero occurs (when translating pixclock to KHz). This patch adds a checking of this value and try to choose a video mode in the modelist. The mode found in the probe function in added to the modelist. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84c41ce83e9b2987ccef352f28ba0055b26c8f8e Author: Krzysztof Helt Date: Wed Jul 23 21:31:34 2008 -0700 skeletonfb: update to correct platform driver usage It updates skeletonfb to new platform driver API. The skeletonfb is templates for creating new drivers. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a882ef47c7156e8cc47e72f2aa396f2514569c48 Author: Akinobu Mita Date: Wed Jul 23 21:31:33 2008 -0700 aty: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c554ff9554d67b4db0fb5e2f78c7cb4b2e0d627 Author: Ville Syrjala Date: Wed Jul 23 21:31:32 2008 -0700 atyfb: fix a cast The argument to iounmap() is void __iomem *. Fix the cast. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89c69d2b8eb3ee2338fded9d70a0795b4712f112 Author: Ville Syrjala Date: Wed Jul 23 21:31:32 2008 -0700 atyfb: report probe errors Properly propagate errors to the probe function. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cfafc15994ac2a2377b32b5a65cf62a90a80d49 Author: Ville Syrjala Date: Wed Jul 23 21:31:31 2008 -0700 atyfb: use a PCI device ID table Convert atyfb to use a PCI device ID table. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3880b0b5297ae9bf58a7662d13a46b5d5f0b2af6 Author: Ville Syrjala Date: Wed Jul 23 21:31:30 2008 -0700 atyfb: correct_chipset() can fail Atari probe code relies on correct_chipset() failing if the device is not a mach64 GX/CX. aty_chips[] array would be indexed with -1 in that case. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50cd0221c9062ec5dac8a3620f36f568df052ac1 Author: Olaf Hering Date: Wed Jul 23 21:31:29 2008 -0700 atyfb: remove dead code Remove dead code. This will slightly change the behaviour of the driver on systems that support backlight control. Previously they would just turn the backlight off using the backlight control but now the generic LCD code will also turn off the LCD using the POWER_MANAGEMENT register. Signed-off-by: Olaf Hering Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7572a1ea034a8fc45e57de28cc7573264975532a Author: Ville Syrjala Date: Wed Jul 23 21:31:28 2008 -0700 fbdev: xoffset, yoffset and yres are unsigned The xoffset, yoffset and yres members of fb_var_screeninfo are __u32. Make them unsigned in the code as well. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43a3abc6aca8505e708508e2c7c2f99a7f8f820b Author: Ville Syrjala Date: Wed Jul 23 21:31:27 2008 -0700 fbdev: width and height are unsigned The width and height members of fb_var_screeninfo are __u32. The code initializes them to -1 which seems wrong, and 0 seems like an equally good default value. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2870086e9f2032bdd95b8da9bd187e3c16fc6d49 Author: Krzysztof Helt Date: Wed Jul 23 21:31:26 2008 -0700 hgafb: convert to new platform driver API Convert the hgafb driver to use new platform driver API. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9689 Signed-off-by: Krzysztof Helt Cc: Anton Vorontsov Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b604838ac6d233fd6bffc0e758a818133a01ff22 Author: Frans Pop Date: Wed Jul 23 21:31:26 2008 -0700 vfb: only enable if explicitly requested when compiled in The Kconfig help for the vfb driver says: Do NOT enable it for normal systems! To protect the innocent, it has to be enabled explicitly at boot time using the kernel option `video=vfb:'. This change lets the code match the description. Support for vfb:disable is kept for backwards compatibility; vfb:off works because it is tested at a higher level. Note: any undefined option (e.g. vfb:enable) will also enable this driver. The relevant code has been unchanged since before the migration to git (2.6.12). This patch fixes bugzilla #9310 and was the root cause behind http://lkml.org/lkml/2008/5/31/220. Signed-off-by: Frans Pop Cc: Antonino A. Daplas Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfb4f5d1750e05f43902197713c50c29e7dfbc99 Author: Magnus Damm Date: Wed Jul 23 21:31:24 2008 -0700 fbdev: SuperH Mobile LCDC Driver This is the SuperH Mobile LCDC frame buffer driver V2, adding support for the LCDC block found in SuperH Mobile processors. The hardware supports up to two LCD panels per LCDC block, and both RGB and SYS interfaces can be used to hook up LCD panels/modules. The device driver is a regular platform driver, so LCD configuration and board specific hooks are passed to the driver using platform data. LCD modules using SYS interface often require special configuration using the SYS bus, and to solve this cleanly the driver provides SYS interface operations to the board code. Tested on sh7723 and sh7722 processors with a SYS16A QVGA panel and WVGA panels using RGB16 and RGB18 interfaces. Signed-off-by: Magnus Damm Acked-by: Paul Mundt Reviewed-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2c12155cf05bf3e25eeae5711beffc634505400 Author: Krzysztof Helt Date: Wed Jul 23 21:31:24 2008 -0700 tdfxfb: remove ypan checks done by a higher layer These checks and assignments are done by a higher layer so remove them from the driver. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98219374d9ed2d257e56e8e1fcd9d16a083397bb Author: Krzysztof Helt Date: Wed Jul 23 21:31:23 2008 -0700 vga16fb: source code improvement Use constants and functions from the vga.h file. Also add module description. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea9014bcacf236124d5e0ff971838049a98456cb Author: Krzysztof Helt Date: Wed Jul 23 21:31:22 2008 -0700 tdfxfb: add mode_option module parameter Small step toward unification of mode setting parameter. This is required to fix the Bugzilla's bug 9847 Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a90ed92ed852a3d4b8a6f20b10bba771997f5ede Author: Krzysztof Helt Date: Wed Jul 23 21:31:22 2008 -0700 tridentfb: documentation update Make the tridentfb documentation closer to current state of the tridentfb driver. Fix also some formatting. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012e26096b36bfeacaba2c9e31eaf32d6faa6567 Author: Krzysztof Helt Date: Wed Jul 23 21:31:21 2008 -0700 uvesafb: change mode parameter to mode_option Make more drivers use the "mode_option" parameter. This one is quite new so drop the old "mode" parameter before someone starts using it seriously. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49a1d28f57adc9cb064572f0373e26363b0a412f Author: Krzysztof Helt Date: Wed Jul 23 21:31:21 2008 -0700 fbcon: make logo_height a local variable Make logo_height variable local in the only function it is used. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d22579b837358cbef12ccca5adaf7e93ae09ab7a Author: Nicolas Ferre Date: Wed Jul 23 21:31:20 2008 -0700 atmel_lcdfb: FIFO underflow management Manage atmel_lcdfb FIFO underflow Resetting the LCD and DMA allows to fix screen shifting after a FIFO underflow. It follows reset sequence from errata "LCD Screen Shifting After a Reset". Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77a6e7abb09de0e85a15e2fe42c21ffc59847759 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:19 2008 -0700 vga16fb: test virtual screen range before subtraction on unsigned dx and dy are u32's, so the test should occur before the subtraction Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0face9d4024bf942096297937759bdf0e1aeac Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:18 2008 -0700 atafb: test virtual screen range before subtraction on unsigned dx and dy are u32's, so the test should occur before the subtraction Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Tim Schmielau Cc: Krzysztof Helt Cc: Antonino Daplas Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 091c82c01295719d47b89b38d24e41ad2066ead8 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:18 2008 -0700 amifb: test virtual screen range before subtraction on unsigned dx and dy are u32's, so the test should occur before the subtraction Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Antonino Daplas Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 816664f88707b03fde24fb09759d569ed42406cb Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:17 2008 -0700 aty128fb: test below 0 on unsigned pll->post_divider pll->post_divider is unsigned, so the test fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Benjamin Herrenschmidt Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcea8030b3c2e71ad89f080901c63a04f07881c8 Author: Tony Breeds Date: Wed Jul 23 21:31:16 2008 -0700 drivers/video/aty/radeon_base.c: notify user if sysfs_create_bin_file() failed Current kernel builds warn about: drivers/video/aty/radeon_base.c: In function 'radeonfb_pci_register': drivers/video/aty/radeon_base.c:2334: warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result drivers/video/aty/radeon_base.c:2336: warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result Do minimal checking of these functions and issue a warning if either fails. They don't seem to be critical.. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Tony Breeds Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7951ac91c7d45b61f54f1cdabc24b52b40785de6 Author: Matthias Kaehlcke Date: Wed Jul 23 21:31:16 2008 -0700 sa1100fb: convert ctrlr_sem in a mutex The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b91dbce56a8dbf312f6255d5121b295553d2b4db Author: Matthias Kaehlcke Date: Wed Jul 23 21:31:14 2008 -0700 pxafb: convert ctrlr_sem in a mutex The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Cc: Daniel Mack Cc: Eric Miao Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14aefd1b49ff3bd13caa37fb06bd53488d5d1486 Author: Adrian Bunk Date: Wed Jul 23 21:31:12 2008 -0700 video/sis/: remove compat code This patch removes compat code for older kernel versions. Signed-off-by: Adrian Bunk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b9cf3aa6b1e934807b40b4d478d7e11f7c43f55 Author: Roland Kletzing Date: Wed Jul 23 21:31:10 2008 -0700 mdacon messing up default vc's - set default to vc13-16 again mdacon incorrectly detects MDA hardware on systems without such graphics card. One may load this module by chance, for example when doing some systematical module-testing, and if there is no Monochrome Display Adapter attached , module init renders vc1-16 completely unusable. I and others have run into this more than once. see [Bug 224522 - modprobe mdacon freezes machine -> https://bugzilla.novell.com/show_bug.cgi?id=224522 ] for example Apparently proper MDA detection seems to be broken for a long time - seems to be related to those #ifdef TEST_MDA_B statements added by Edward Betts. this commit back in 2002 made things even worse : http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=c72757b49c88914433244757fb4967fc63546685 It changed default vc allocation from 13-16 to 1-16 for no apparent reason (!?) , and with that (and without X), mdacon grabs the vc you`re currently sitting on and locks you out. this is from Kconfig : >config MDA_CONSOLE > depends on !M68K && !PARISC && ISA > tristate "MDA text console (dual-headed) (EXPERIMENTAL)" > ---help--- > Say Y here if you have an old MDA or monochrome Hercules graphics > adapter in your system acting as a second head ( = video card). You > will then be able to use two monitors with your Linux system. Do not > say Y here if your MDA card is the primary card in your system; the > normal VGA driver will handle it. As we can see mdacon is just meant as an additional driver for dual-head setup, and since kernel 2.4.36 still defaults to vc13-16 , setting the default back to that value again shouldn`t do any harm. Hereby i'm reverting that change, setting default back to to vc13-16 again. Besides the fact that mdacon may be rarely or never be used these days and could perhaps put to trash anyway (pre-dinosaur hardware!), indeed this is not a real solution, but at least it removes the unfortunate side-effect of messing up the vc you`re working on. Signed-off-by: Roland Kletzing Cc: James Simmons Cc: "Antonino A. Daplas" Cc: Tim Schmielau Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 663b0e15877293451bdfea619db45eafae9dec54 Author: Krzysztof Helt Date: Wed Jul 23 21:31:09 2008 -0700 tridentfb: remove warning message that cyblafb driver should be used The tridentfb driver should handle now all chipsets handled by the cyblafb driver. Remove the message which claims that support will be removed. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0292be4a382957016e8b574dc292779cfb49e029 Author: Krzysztof Helt Date: Wed Jul 23 21:31:08 2008 -0700 tridentfb: add imageblit acceleration for Blade3D family Add imageblit acceleration for the Blade3D family of cores. The code is based on code from the cyblafb driver. It is a step toward assimilating back the cyblafb driver into the tridentfb driver. The cyblafb driver handles a subfamily of the Trident Blade3d cores. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6280fd4f9c2683a4d2f096320dd74ded4e5106ad Author: Krzysztof Helt Date: Wed Jul 23 21:31:08 2008 -0700 tridentfb: Blade3D clock fixes This patch fixes following problems: - does not allow the m parameter to reach 0 as it locks the graphics core (power cycle needed) - for the newer chips (with new clock registers) does not allow of n / m ratio below 4 as it gives unstable image on the Blade3D core - extend shift parameter (k) range to 2 for the newer chips to cope with the n /m >= 4 limit at low resolution (bandwidth) modes - prefer modes with higher n / m ratio (higher k values) Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f330c4b1961d730ef15ac184e4b7f1c25847d0ae Author: Krzysztof Helt Date: Wed Jul 23 21:31:07 2008 -0700 tridentfb: y-panning fixes The Trident cards uses only 20-bit address of screen start in double words. This allows addressing for only 4MB of video memory so check this. Also remove some redundant checks and assignments. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4af1798d768ab2f12ab623e21ad68dc8c248005 Author: Krzysztof Helt Date: Wed Jul 23 21:31:06 2008 -0700 tridentfb: fix 224 color logo at 8 bpp Fix depth setting for 8 bpp mode. The nice 224 color logo is not displayed in 8 bpp depth without this fix. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13b0de49f52ec8638b3e3e59192a959b35214d9e Author: Krzysztof Helt Date: Wed Jul 23 21:31:06 2008 -0700 tridentfb: fix console freeze when switching from X11 This patch fixes two problems when acceleration is enabled: - console switch from the Xorg locks up the computer because the Xorg code locks some registers and disables the mmio mode, so reenable these in the tridentfb_set_par() and enable_mmio() - blacklist the Image975 chipset from setting PCI burst mode. This helps with random lock ups of the framebuffer on this chip. The same fix is probably needed for the Xorg as well. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cf138457af20b0ef79d8c249381927718ca1417 Author: Krzysztof Helt Date: Wed Jul 23 21:31:05 2008 -0700 tridentfb: source code improvements This patch contains general source code improvments: - more simple functions are inline - removes some meaningless output and the VERSION string as it is no use - eng_par is moved into the tridentfb_par - removed small section of code for CyberBladeXPAi1 which is maybe right for only one resolution and refresh rate and is probably redundant now - other minor improvements Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01a2d9ed85c945fc8a672622780533a1a0b7caf5 Author: Krzysztof Helt Date: Wed Jul 23 21:31:04 2008 -0700 tridentfb: acceleration constants change This patch replaces deprecated constant FB_ACCELF_TEXT with FBINFO_HWACCEL_DISABLED and adds constants for Trident families of accelerators. The FBINFO_HWACCEL_DISABLED is correctly used so noaccel parameter works now. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34dec24317d6824b7db172bb0072b909a9c376f2 Author: Krzysztof Helt Date: Wed Jul 23 21:31:04 2008 -0700 tridentfb: various pixclock and timing improvements This patch fixes few issues related to timings and pixclock generation: - disallow the pixclocks with numerator lower than double denominator. This fixes display instability for some modes. - choose the pixelclock with the highest numerator and denominator values. This improve image quality and fixes display instability for some modes. - make interlaced modes work. - set synchronization pulses polarization correctly. - horizontal synchronization timing are now the same as generated by X. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c86a0c26fbe8ea218f7a267645679fb78aba8a3 Author: Krzysztof Helt Date: Wed Jul 23 21:31:03 2008 -0700 tridentfb: acceleration bug fixes This patch fixes two problems when acceleration is enabled: - bit for bitblt direction is corrected so scrolling down works as expected on 3DImage chips - initialization of acceleration is done later this helps with initial console malfuntion (on Blade3D chips) well documented here: http://marc.info/?l=linux-fbdev-users&m=111386953124478&w=2 Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49b1f4b44bcdc47a10d2b354b269305043ef2a32 Author: Krzysztof Helt Date: Wed Jul 23 21:31:02 2008 -0700 tridentfb: acceleration code improvements This patch brings various acceleration improvements: - set copyarea/fillrect for non-accelerated framebuffer (fix) - remove 15 bpp depth handling to simplify code as it hardly works (15 bpp handling was obviously missing in some switches) - add fb_sync call and move waiting before accelerated function to make acceleration more asynchronous to cpu (few % of speed improvement) - add cpu_relax() call in waiting loops - make longer register names and name more registers - move registers' definition to header - general code improvements (shortening, simplifying) Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcac2d5fe36238dcfc955b49f9db10ad3ae3e53c Author: Krzysztof Helt Date: Wed Jul 23 21:31:01 2008 -0700 tridentfb: add acceleration for TGUI families This patch adds acceleration for TGUI 9440 and 96xx chips. These chips requires line length to be power of 2, so this is also changed. It also moves the troubling enable_mmio() function to its final destination. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54f019e54244fef0ad927ce5501927d9033492de Author: Krzysztof Helt Date: Wed Jul 23 21:31:01 2008 -0700 tridentfb: fix hi-color modes for TGUI 9440 The TGUI 9440 requires doubling clock for 16bpp (hi-color) modes. The patch also moves back enable_mmio() call to the right position. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65e93e038c8a6eb65b6907d6aed22a8ff1029d3a Author: Krzysztof Helt Date: Wed Jul 23 21:31:00 2008 -0700 tridentfb: preserve memory type settings Do not overwrite bits which contain memory type settings. It removes noise pixels ("snow") on Blade3D and 3DImage chips. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a933feaf13f705e6c798d87efe6a9d758b3ca0 Author: Krzysztof Helt Date: Wed Jul 23 21:31:00 2008 -0700 tridentfb: improve check_var function Do some additional checks (like pixelclock versus ramdac speed) to eliminate modes which do not work. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0aa8ab2f28d8985daa79ecab51970376e17157 Author: Krzysztof Helt Date: Wed Jul 23 21:30:59 2008 -0700 tridentfb: fix unitialized pseudo_palette Initialize the pseudo_palette pointer properly. This fixes crash when 16bpp or 32bpp mode is selected. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0d922562d56073f147a4de2983bee499dd2a10e Author: Krzysztof Helt Date: Wed Jul 23 21:30:58 2008 -0700 tridentfb: add TGUI 9440 support Add support for TGUI 9440 chip. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e73a47f094a919e2edeaa88e840cd0400adc423 Author: Krzysztof Helt Date: Wed Jul 23 21:30:58 2008 -0700 tridentfb: improved register values on TGUI 9680 Improved values for some registers after Xorg Trident driver. The main problem was that values set by BIOS have been ignored. This patch completely remove random pixels ("snow") on the TGUI 9680 and 9440 (not supported yet by the driver). It does not help with the "snow" on 3DImage and Blade3D cards. There is also small improvement in timing calculations (hblank start and vblank start) Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3876ae8beb2c7c19e21279b9603b1244fcd744dd Author: Krzysztof Helt Date: Wed Jul 23 21:30:57 2008 -0700 tridentfb: improve probe function Add missing release of allocated fb_info structure and move enable_mmio() to fix error path. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bdf1035602abf0564d24a7447eea1c149c4bcb1 Author: Krzysztof Helt Date: Wed Jul 23 21:30:56 2008 -0700 tridentfb: fix clock settings for older Trident 96XX chips The Xorg code shows that Trident models 9660, 9680 and 9682 require a different clock setting method. Add the second clock setting method for older models. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1724fecabfed504a4cfb87319ad3b9d3a8baa92 Author: Krzysztof Helt Date: Wed Jul 23 21:30:56 2008 -0700 tridentfb: use mmio access for clock setting Use the mmio outb function instead of direct one. The mmio registers are already mapped (in the probe function). Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f762d23e607af786bba8ff4a18059f43950c0e8 Author: Krzysztof Helt Date: Wed Jul 23 21:30:55 2008 -0700 tridentfb: fix timing calculations Fix broken timings calculations. This patch helps with following problems: - no left part of screen visible (up to half of the screen) - monitor's frequencies are not the ones intended for selected modes - if mode with resoultion y > 1024 is selected at least once then all modes with y < 1024 are "out of sync" (no display) Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10172ed6dc4d40ff42bf5ce2dd2f65f401a93696 Author: Krzysztof Helt Date: Wed Jul 23 21:30:54 2008 -0700 tridentfb: make use of functions and constants from the vga.h Make use of functions and constants from the vga.h header to compact the code and make it more readable. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9cad04bcde00411976402eda726199ac13b29ca Author: Krzysztof Helt Date: Wed Jul 23 21:30:54 2008 -0700 tridentfb: move global acceleration hooks into structure This patch moves acceleration hooks into the tridentfb_par structure and removes global hooks. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0759a5fbba12e0f2c9149d85bea1ec7df0178fd Author: Krzysztof Helt Date: Wed Jul 23 21:30:53 2008 -0700 tridentfb: convert is_blade and is_xp macros into functions This patch converts the is_blade() and is_xp() macros into local functions. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6eed8e1ec8532a6cd10c8b27236bde023c52c56a Author: Krzysztof Helt Date: Wed Jul 23 21:30:53 2008 -0700 tridentfb: move global flat panel variable into structure This patch moves flat panel indicator into tridentfb_par structure and removes related global variables and macros. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122e8ad3cbf172043ea93f2db8e107fa9f9b0192 Author: Krzysztof Helt Date: Wed Jul 23 21:30:52 2008 -0700 tridentfb: move global chip_id into structure This patch moves the chip_id into tridentfb_par structure and removes global chip_id related constants. It also bumps version of the driver to 0.7.9 Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea8ee55c12f77cbbb6e067f91e0cd794baa692ab Author: Krzysztof Helt Date: Wed Jul 23 21:30:51 2008 -0700 tridentfb: move global pseudo palette into structure This patch moves pseudo palette int tridentfb_par structure and removes global default_var. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e09ed099d0169ac3a22b17cfeece0fa54a9e43eb Author: Krzysztof Helt Date: Wed Jul 23 21:30:51 2008 -0700 tridentfb: convert fb_info into allocated one This patch converts fb_info structure from global variable to allocatable one. The global default_par is moved into function variable. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 306fa6f60a2870b7a9827a64e1b45cd35a9549aa Author: Krzysztof Helt Date: Wed Jul 23 21:30:50 2008 -0700 tridentfb: replace macros with functions This patch replaces macros with static functions and puts tridentfb_par pointer as the first argument of these functions. These is a step toward multihead support. Additionally, bogus TRIDENT_MMIO define is removed as the driver supports graphics cards only through the mmio mode. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ece5f43b041b96fa2a05107a10a6b0ea0c03a3b Author: Sebastian Siewior Date: Wed Jul 23 21:30:49 2008 -0700 fbdev: add the carmine FB driver Basic FB driver for the carmine chip. The driver registers two FB devices for the two possible screens. The DRAM settings can be be switched via Kconfig (between eval board and custom). Signed-off-by: Sebastian Siewior Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cad4431fcd872a1b2efc093b0db6df943f5a898 Author: Yoichi Yuasa Date: Wed Jul 23 21:30:48 2008 -0700 rtc-vr41xx: add irq_set_freq() and irq_set_state() Implement the ioctls RTC_PIE_ON, RTC_PIE_OFF, RTC_IRQP_SET and RTC_IRQP_READ in the standard RTC way. Thanks Dave for noticing it. Signed-off-by: Yoichi Yuasa Cc: David Brownell Cc: Ralf Baechle Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e2a31da854dcf8324012a83a31b40bc11e52589 Author: David Brownell Date: Wed Jul 23 21:30:47 2008 -0700 rtc-cmos: avoid spurious irqs This fixes kernel http://bugzilla.kernel.org/show_bug.cgi?id=11112 (bogus RTC update IRQs reported) for rtc-cmos, in two ways: - When HPET is stealing the IRQs, use the first IRQ to grab the seconds counter which will be monitored (instead of using whatever was previously in that memory); - In sane IRQ handling modes, scrub out old IRQ status before enabling IRQs. That latter is done by tightening up IRQ handling for rtc-cmos everywhere, also ensuring that when HPET is used it's the only thing triggering IRQ reports to userspace; net object shrink. Also fix a bogus HPET message related to its RTC emulation. Signed-off-by: David Brownell Report-by: W Unruh Cc: Andrew Victor Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 449321b39f6c6ebfa15d6da24f134240bd51db29 Author: David Brownell Date: Wed Jul 23 21:30:46 2008 -0700 rtc-at91rm9200: avoid spurious irqs This fixes kernel http://bugzilla.kernel.org/show_bug.cgi?id=11112 (bogus RTC update IRQs reported) for rtc-at91rm9200 by scrubbing old IRQ status before enabling IRQs. It also removes nonfunctional periodic IRQ support from this driver; only update IRQs are reported, or provided by the hardware. I suspect some other RTCs probably have versions of #11112; it's easy to overlook, since most non-RTC drivers don't care about spurious IRQs: they're not reported to userspace. Signed-off-by: David Brownell Report-by: W Unruh Cc: Andrew Victor Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 773be7ee97c11fbb6b8a912a58b268dbe8a6a3fe Author: Ben Dooks Date: Wed Jul 23 21:30:45 2008 -0700 rtc: rtc-s3c: update IRQ handling The rtc-s3c.c driver has been using its own ioctl() handling to deal with alarm and periodic interrupts to handle what should now be done with the rtc core code. Change to using the .irq_set_freq and .irq_set_state driver entries and remove the .ioctl handling. Signed-off-by: Ben Dooks Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd0c5c40b64ef9fd94fb8382dade2fd28f2b935 Author: Ben Dooks Date: Wed Jul 23 21:30:44 2008 -0700 rtc: rtc-s3c: add __devexit and __devinit markers Add the relevant __devinit and __devexit attributes to the rtc-s3c driver. Signed-off-by: Ben Dooks Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35d3fdd5f304c06654c940921fc045c60df34693 Author: David Brownell Date: Wed Jul 23 21:30:43 2008 -0700 rtc-cmos: improve HPET IRQ glue Resolve http://bugzilla.kernel.org/show_bug.cgi?id=11051 and other bugs related to the way the HPET glue code in rtc-cmos was incomplete and inconsistent: * Switch the approach so that the basic driver code flow isn't changed by having HPET ... instead, just have HPET shadow the RTC_CONTROL irq enables and RTC_FREQ_SELECT data. It's only coping with IRQ thievery, after all. * Do that consistently (!!) to avoid problems when the HPET code is out of sync with the real RTC intent. Examples include: - cmos_procfs(), which now reports correct data - cmos_irq_set_state() ... also removing the previous PIE_{ON,OFF} ioctl support so only one code path manages "periodic" IRQs - cmos_do_shutdown() ... currently a "just in case" change. - cmos_suspend() and cmos_resume() ... also handling a bug that was specific to HPET's IRQ thievery, where the alarm wasn't disabled after waking the system * Always call that HPET code under the RTC spinlock (it doesn't do its own locking) Also clean up the HPET glue: * Add some comments explaining what's going on. * Switch to having just one #ifdef for the HPET glue, and inline functions (not #defines) to avoid some compiler warnings. * Have the probe message also report when HPET IRQs are involved This still leaves various holes in the HPET glue, like the emulated update IRQs being out of sync with the RTC, alarms never using day or month matches, and many extra IRQs (at 64 Hz). [akpm@linux-foundation.org: fix build] Signed-off-by: David Brownell Cc: Tomas Janousek Cc: Bernhard Walle Cc: Carlos R. Mafra Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c68d07b2da54c941bb36c9d6d35fe8f263ee10ef Author: Carlos R. Mafra Date: Wed Jul 23 21:30:40 2008 -0700 rtc: remove and clarify unneeded externs When CONFIG_HPET_EMULATE_RTC is defined the external declaration of hpet_rtc_interrupt is redundant due to the inclusion of hpet.h. When !CONFIG_HPET_EMULATE_RTC we make it clear that hpet_rtc_interrupt is not used by defining it to return zero. Signed-off-by: Carlos R. Mafra Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02bb584f3b1cfc8188522a4d2c8881b65073a4f1 Author: Wolfram Sang Date: Wed Jul 23 21:30:39 2008 -0700 rtc: convert the PCF8583 driver to the new I2C style framework with device_ids Convert the PCF8583 driver to the new I2C style framework with device_ids Signed-off-by: Juergen Beisert Signed-off-by: Wolfram Sang Signed-off-by: Alessandro Zummo Cc: David Brownell Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71fc822455ccb63a66be0b6e97a415aceb0062c6 Author: David Brownell Date: Wed Jul 23 21:30:38 2008 -0700 rtc: rtc-omap footprint shrinkage Shrink the runtime footprint of the OMAP1 RTC driver a bunch by removing some old hacks and switching to platform_driver_probe(). Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3de851a445123f24ad8ece18662014b5e8a8b4e Author: David Brownell Date: Wed Jul 23 21:30:37 2008 -0700 rtc: BCD codeshrink This updates to define the key routines as constant functions, which the macros will then call. Newer code can now call bcd2bin() instead of SCREAMING BCD2BIN() TO THE FOUR WINDS. This lets each driver shrink their codespace by using N function calls to a single (global) copy of those routines, instead of N inlined copies of these functions per driver. These routines aren't used in speed-critical code. Almost all callers are in the RTC framework. Typical per-driver savings is near 300 bytes. Signed-off-by: David Brownell Acked-by: Adrian Bunk Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53e84b672c1a8190af2b376c35c7a39cf1214f59 Author: David Brownell Date: Wed Jul 23 21:30:36 2008 -0700 rtc: ds1305/ds1306 driver Support the Dallas/Maxim DS1305 and DS1306 RTC chips. These use SPI, and support alarms, NVRAM, and a trickle charger for use when their backup power supply is a supercap or rechargeable cell. This basic driver doesn't yet support suspend/resume or wakealarms. Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fc2c767b06067b417c565c4e75731e68ed41fd8 Author: Kim B. Heino Date: Wed Jul 23 21:30:34 2008 -0700 rtc: add support for ST M41T94 SPI RTC This patch adds kernel driver for M41T94 RTC chip connected via SPI. I've tested it on two different AT91-based hardwares. This is third revision of the patch: some comments made by Alessandro Zummo fixed. Revision two added support for century bit and fixes. Signed-off-by: Kim B. Heino Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ad31a575157147b43fa84ef1e21471661653878 Author: David Brownell Date: Wed Jul 23 21:30:33 2008 -0700 rtc: remove BKL for ioctl() Remove implicit use of BKL in ioctl() from the RTC framework. Instead, the rtc->ops_lock is used. That's the same lock that already protects the RTC operations when they're issued through the exported rtc_*() calls in drivers/rtc/interface.c ... making this a bugfix, not just a cleanup, since both ioctl calls and set_alarm() need to update IRQ enable flags and that implies a common lock (which RTC drivers as a rule do not provide on their own). A new comment at the declaration of "struct rtc_class_ops" summarizes current locking rules. It's not clear to me that the exceptions listed there should exist ... if not, those are pre-existing problems which can be fixed in a patch that doesn't relate to BKL removal. Signed-off-by: David Brownell Cc: Alan Cox Cc: Jonathan Corbet Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53f1b1433da7eac2607a4a0898a221a4485fd732 Author: Alan Cox Date: Wed Jul 23 21:30:32 2008 -0700 rtc: push the BKL down into the driver ioctl method For now just wrap the main logic, but this driver is a prime candidate for someone wanting to eliminate the lock entirely [lizf@cn.fujitsu.com: fix build failure] Signed-off-by: Alan Cox Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c228db0b30fa12d65ae7461ce29ed1f4da12c5b Author: Maciej W. Rozycki Date: Wed Jul 23 21:30:32 2008 -0700 rtc: m41t80: use pr_info() as appropriate Replace printk(KERN_INFO ...) calls with appropriate pr_info(...) equivalents. Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: Alexander Bigga Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35aa64f3a117a16c466f688f52ac3847b3b572e8 Author: Maciej W. Rozycki Date: Wed Jul 23 21:30:29 2008 -0700 rtc: m41t80: sort header inclusions for readability Sort the header inclusions for readability. No functional changes. Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: Alexander Bigga Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa55ddf340c9fa3f303ee16bbf35887e42c50304 Author: Ian Kent Date: Wed Jul 23 21:30:29 2008 -0700 autofs4: remove unused ioctls The ioctls AUTOFS_IOC_TOGGLEREGHOST and AUTOFS_IOC_ASKREGHOST were added several years ago but what they were intended for has never been implemented (as far as I'm aware noone uses them) so remove them. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06a3598552dc3b2b30eb18bd53bbac2a901489d7 Author: Ian Kent Date: Wed Jul 23 21:30:28 2008 -0700 autofs4: reorganize expire pending wait function calls This patch re-orgnirzes the checking for and waiting on active expires and elininates redundant checks. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec6e8c7d3f9073336ec7b2eed3fcda6f922087c3 Author: Ian Kent Date: Wed Jul 23 21:30:28 2008 -0700 autofs4: fix direct mount pending expire race - correction Appologies, somehow I seem to have sent an out dated version of this patch. Here is an additional patch that brings the patch up to date. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e60a9ab5f5d314735467752f623072f5b75157a Author: Ian Kent Date: Wed Jul 23 21:30:27 2008 -0700 autofs4: fix direct mount pending expire race For direct and offset type mounts that are covered by another mount we cannot check the AUTOFS_INF_EXPIRING flag during a path walk which leads to lookups walking into an expiring mount while it is being expired. For example, for the direct multi-mount map entry with a couple of offsets: /race/mm1 / :/ /om1 :/ /om2 :/ an autofs trigger mount is mounted on /race/mm1 and when accessed it is over mounted and trigger mounts made for /race/mm1/om1 and /race/mm1/om2. So it isn't possible for path walks to see the expiring flag at all and they happily walk into the file system while it is expiring. When expiring these mounts follow_down() must stop at the autofs mount and all processes must block in the ->follow_link() method (except the daemon) until the expire is complete. This is done by decrementing the d_mounted field of the autofs trigger mount root dentry until the expire is completed. In ->follow_link() all processes wait on the expire and the mount following is completed for the daemon until the expire is complete. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97e7449a7ad883bf9f516fc970778d75999c7843 Author: Ian Kent Date: Wed Jul 23 21:30:26 2008 -0700 autofs4: fix indirect mount pending expire race The selection of a dentry for expiration and the setting of the AUTOFS_INF_EXPIRING flag isn't done atomically which can lead to lookups walking into an expiring mount. What happens is that an expire is initiated by the daemon and a dentry is selected for expire but, since there is no lock held between the selection and setting of the expiring flag, a process may find the flag clear and continue walking into the mount tree at the same time the daemon attempts the expire it. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26e81b3142f1ba497d4cd0365c13661684b784ce Author: Ian Kent Date: Wed Jul 23 21:30:25 2008 -0700 autofs4: fix pending checks There are two cases for which a dentry that has a pending mount request does not wait for completion. One is via autofs4_revalidate() and the other via autofs4_follow_link(). In revalidate, after the mount point directory is created, but before the mount is done, the check in try_to_fill_dentry() can can fail to send the dentry to the wait queue since the dentry is positive and the lookup flags may contain only LOOKUP_FOLLOW. Although we don't trigger a mount for the LOOKUP_FOLLOW flag, if ther's one pending we might as well wait and use the mounted dentry for the lookup. In autofs4_follow_link() the dentry is not checked to see if it is pending so it may fail to call try_to_fill_dentry() and not wait for mount completion. A dentry that is pending must always be sent to the wait queue. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff9cd499d6258952385cb2f12e9a3c0908fd5786 Author: Ian Kent Date: Wed Jul 23 21:30:24 2008 -0700 autofs4: cleanup redundant readir code The mount triggering functionality of readdir and related functions is no longer used (and is quite broken as well). The unused portions have been removed. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c72305b5472522299bb6f45b736080128eb1c822 Author: Ian Kent Date: Wed Jul 23 21:30:23 2008 -0700 autofs4: indirect dentry must almost always be positive We have been seeing mount requests comming to the automount daemon for keys of the form "/" which are lookups for invalid map keys. But we can check for this in the kernel module and return a fail immediately, without having to send a request to the daemon. It is possible to recognise these requests are invalid based on whether the request dentry is negative and its relation to the autofs file system root. For example, given the indirect multi-mount map entry: idm1 \ /mm1 :/ /mm2 :/ For a request to mount idm1, IS_ROOT((idm1)->d_parent) will be always be true and the dentry may be negative. But directories idm1/mm1 and idm1/mm2 will always be created as part of the mount request for idm1. So any mount request within idm1 itself must have a positive dentry otherwise the map key is invalid. In version 4 these multi-mount entries are all mounted and umounted as a single request and in version 5 the directories idm1/mm1 and idm1/mm2 are created and an autofs fs mounted on them to act as a mount trigger so the above is also true. This also holds true for the autofs version 4 pseudo direct mount feature. When this feature is used without the "--ghost" option automount(8) will create internal submounts as we go down the map key paths which are essentially normal indirect mounts for which the above holds. If the "--ghost" option is given the directories for map keys are created at daemon startup so valid map entries correspond to postive dentries in the autofs fs. autofs version 5 direct mount maps are similar except that the IS_ROOT check is not needed. This has been addressed in a previous patch tittled "autofs4 - detect invalid direct mount requests". For example, given the direct multi-mount map entry: /test/dm1 \ /mm1 :/ /mm2 :/ An autofs fs is mounted on /test/dm1 as a trigger mount and when a mount is triggered for /test/dm1, the multi-mount offset directories /test/dm1/mm1 and /test/dm1/mm2 are created and an autofs fs is mounted on them to act as mount triggers. So valid direct mount requests must always have a positive dentry if they correspond to a valid map entry. Signed-off-by: Ian Kent Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3b176796b0e53fd26fce86847231542eb0d198 Author: Ian Kent Date: Wed Jul 23 21:30:22 2008 -0700 autofs4: detect invalid direct mount requests autofs v5 direct and offset mounts within an autofs filesystem are triggered by existing autofs triger mounts so the mount point dentry must be positive. If the mount point dentry is negative then the trigger doesn't exist so we can return fail immediately. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 296f7bf78bc5c7a4d772aea580ce800d14040d1a Author: Ian Kent Date: Wed Jul 23 21:30:21 2008 -0700 autofs4: fix waitq memory leak If an autofs mount becomes catatonic before autofs4_wait_release() is called the wait queue counter will not be decremented down to zero and the entry will never be freed. There are also races decrementing the wait counter in the wait release function. To deal with this the counter needs to be updated while holding the wait queue mutex and waiters need to be woken up unconditionally when the wait is removed from the queue to ensure we eventually free the wait. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e64be33ccaceaca67c84237dff8805b861398eab Author: Ian Kent Date: Wed Jul 23 21:30:20 2008 -0700 autofs4: check kernel communication pipe is valid for write It is possible for an autofs mount to become catatonic (and for the daemon communication pipe to become NULL) after a wait has been initiallized but before the request has been sent to the daemon. We need to check for this before sending the request packet. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4c7da02615bebcaf89f15a8d055922f515160b8 Author: Ian Kent Date: Wed Jul 23 21:30:19 2008 -0700 autofs4: add missing kfree It see that the patch tittled "autofs4 - fix pending mount race" is missing a change that I had recently made. It's missing a kfree for the case mutex_lock_interruptible() fails to aquire the wait queue mutex. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1362fe92f1bde687b3a9e93d6b8d105d0a84f74 Author: Ian Kent Date: Wed Jul 23 21:30:19 2008 -0700 autofs4: fix pending mount race Close a race between a pending mount that is about to finish and a new lookup for the same directory. Process P1 triggers a mount of directory foo. It sets DCACHE_AUTOFS_PENDING in the ->lookup routine, creates a waitq entry for 'foo', and calls out to the daemon to perform the mount. The autofs daemon will then create the directory 'foo', using a new dentry that will be hashed in the dcache. Before the mount completes, another process, P2, tries to walk into the 'foo' directory. The vfs path walking code finds an entry for 'foo' and calls the revalidate method. Revalidate finds that the entry is not PENDING (because PENDING was never set on the dentry created by the mkdir), but it does find the directory is empty. Revalidate calls try_to_fill_dentry, which sets the PENDING flag and then calls into the autofs4 wait code to trigger or wait for a mount of 'foo'. The wait code finds the entry for 'foo' and goes to sleep waiting for the completion of the mount. Yet another process, P3, tries to walk into the 'foo' directory. This process again finds a dentry in the dcache for 'foo', and calls into the autofs revalidate code. The revalidate code finds that the PENDING flag is set, and so calls try_to_fill_dentry. a) try_to_fill_dentry sets the PENDING flag redundantly for this dentry, then calls into the autofs4 wait code. b) the autofs4 wait code takes the waitq mutex and searches for an entry for 'foo' Between a and b, P1 is woken up because the mount completed. P1 takes the wait queue mutex, clears the PENDING flag from the dentry, and removes the waitqueue entry for 'foo' from the list. When it releases the waitq mutex, P3 (eventually) acquires it. At this time, it looks for an existing waitq for 'foo', finds none, and so creates a new one and calls out to the daemon to mount the 'foo' directory. Now, the reason that three processes are required to trigger this race is that, because the PENDING flag is not set on the dentry created by mkdir, the window for the race would be way to slim for it to ever occur. Basically, between the testing of d_mountpoint(dentry) and the taking of the waitq mutex, the mount would have to complete and the daemon would have to be woken up, and that in turn would have to wake up P1. This is simply impossible. Add the third process, though, and it becomes slightly more likely. Signed-off-by: Jeff Moyer Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a11d4d0ee1ff284271f7265929d07ea4a1168a6 Author: Ian Kent Date: Wed Jul 23 21:30:17 2008 -0700 autofs4: fix waitq locking The autofs4_catatonic_mode() function accesses the wait queue without any locking but can be called at any time. This could lead to a possible double free of the name field of the wait and a double fput of the daemon communication pipe or an fput of a NULL file pointer. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70b52a0a5005ce6a0ceec56e97222437a0ba7506 Author: Jeff Moyer Date: Wed Jul 23 21:30:16 2008 -0700 autofs4: use struct qstr in waitq.c The autofs_wait_queue already contains all of the fields of the struct qstr, so change it into a qstr. This patch, from Jeff Moyer, has been modified a liitle by myself. Signed-off-by: Jeff Moyer Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d5cb926fa0162b1e62f37c117cc7ce763cfcbb9 Author: Ian Kent Date: Wed Jul 23 21:30:15 2008 -0700 autofs4: use lookup intent flags to trigger mounts When an open(2) call is made on an autofs mount point directory that already exists and the O_DIRECTORY flag is not used the needed mount callback to the daemon is not done. This leads to the path walk continuing resulting in a callback to the daemon with an incorrect key. open(2) is called without O_DIRECTORY by the "find" utility but this should be handled properly anyway. This happens because autofs needs to use the lookup flags to decide when to callback to the daemon to perform a mount to prevent mount storms. For example, an autofs indirect mount map that has the "browse" option will have the mount point directories are pre-created and the stat(2) call made by a color ls against each directory will cause all these directories to be mounted. It is unfortunate we need to resort to this but mount maps can be quite large. Additionally, if a user manually umounts an autofs indirect mount the directory isn't removed which also leads to this situation. To resolve this autofs needs to use the lookup intent flags to enable it to make this decision. This patch adds this check and triggers a call back if any of the lookup intent flags are set as all these calls warrant a mount attempt be requested. I know that external VFS code which uses the lookup flags is something that the VFS would like to eliminate but I have no choice as I can't see any other way to do this. A VFS dentry or inode operation callback which returns the lookup "type" (requires a definition) would be sufficient. But this change is needed now and I'm not aware of the form that coming VFS changes will take so I'm not willing to propose anything along these lines. If anyone can provide an alternate method I would be happy to use it. [akpm@linux-foundation.org: fix build for concurrent VFS changes] Signed-off-by: Ian Kent Cc: Al Viro Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c432c2586a0811c7d0030d78f0993568bc889a6f Author: Ian Kent Date: Wed Jul 23 21:30:14 2008 -0700 autofs4: don't release directory mutex if called in oz_mode Since we now delay hashing of dentrys until the ->mkdir() call, droping and re-taking the directory mutex within the ->lookup() function when we are being called by user space is not needed. This can lead to a race when other processes are attempting to access the same directory during mount point directory creation. In this case we need to hang onto the mutex to ensure we don't get user processes trying to create a mount request for a newly created dentry after the mount point entry has already been created. This ensures that when we need to check a dentry passed to autofs4_wait(), if it is hashed, it is always the mount point dentry and not a new dentry created by another lookup during directory creation. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef581a742874ebc4c28d24b374c78b762144ebdc Author: Ian Kent Date: Wed Jul 23 21:30:13 2008 -0700 autofs4: fix symlink name allocation The length of the symlink name has been moved but it needs to be set before allocating space for it in the dentry info struct. This corrects a mistake in a recent patch. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2576737873dc1d9ea461a5955a5f6779b569a350 Author: Ian Kent Date: Wed Jul 23 21:30:12 2008 -0700 autofs4: use look aside list for lookups A while ago a patch to resolve a deadlock during directory creation was merged. This delayed the hashing of lookup dentrys until the ->mkdir() (or ->symlink()) operation completed to ensure we always went through ->lookup() instead of also having processes go through ->revalidate() so our VFS locking remained consistent. Now we are seeing a couple of side affects of that change in situations with heavy mount activity. Two cases have been identified: 1) When a mount request is triggered, due to the delayed hashing, the directory created by user space for the mount point doesn't have the DCACHE_AUTOFS_PENDING flag set. In the case of an autofs multi-mount where a tree of mount point directories are created this can lead to the path walk continuing rather than the dentry being sent to the wait queue to wait for request completion. This is because, if the pending flag isn't set, the criteria for deciding this is a mount in progress fails to hold, namely that the dentry is not a mount point and has no subdirectories. 2) A mount request dentry is initially created negative and unhashed. It remains this way until the ->mkdir() callback completes. Since it is unhashed a fresh dentry is used when the user space mount request creates the mount point directory. This leaves the original dentry negative and unhashed. But revalidate has no way to tell the VFS that the dentry has changed, other than to force another ->lookup() by returning false, which is at best wastefull and at worst not possible. This results in an -ENOENT return from the original path walk when in fact the mount succeeded. To resolve this we need to ensure that the same dentry is used in all calls to ->lookup() during the course of a mount request. This patch achieves that by adding the initial dentry to a look aside list and removes it at ->mkdir() or ->symlink() completion (or when the dentry is released), since these are the only create operations autofs4 supports. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caf7da3d5d4d9dd873eb52d025d8cc63b89f1fdb Author: Ian Kent Date: Wed Jul 23 21:30:11 2008 -0700 autofs4: revert - redo lookup in ttfd This patch series enables the use of a single dentry for lookups prior to the dentry being hashed and so we no longer need to redo the lookup. This patch reverts the patch of commit 033790449ba9c4dcf8478a87693d33df625c23b5. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f6f4f28b6ba543beef8bad91aa6f69c7ffeee51 Author: Ian Kent Date: Wed Jul 23 21:30:09 2008 -0700 autofs4: don't make expiring dentry negative Correct the error of making a positive dentry negative after it has been instantiated. The code that makes this error attempts to re-use the dentry from a concurrent expire and mount to resolve a race and the dentry used for the lookup must be negative for mounts to trigger in the required cases. The fact is that the dentry doesn't need to be re-used because all that is needed is to preserve the flag that indicates an expire is still incomplete at the time of the mount request. This change uses the the dentry to check the flag and wait for the expire to complete then discards it instead of attempting to re-use it. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 391b52f98cf2e9bff227dad8bf9ea206fec43fa4 Author: Michael Halcrow Date: Wed Jul 23 21:30:08 2008 -0700 eCryptfs: Make all persistent file opens delayed There is no good reason to immediately open the lower file, and that can cause problems with files that the user does not intend to immediately open, such as device nodes. This patch removes the persistent file open from the interpose step and pushes that to the locations where eCryptfs really does need the lower persistent file, such as just before reading or writing the metadata stored in the lower file header. Two functions are jumping to out_dput when they should just be jumping to out on error paths. This patch also fixes these. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72b55fffd631a89e5be6fe1b4f2565bc4cd90deb Author: Michael Halcrow Date: Wed Jul 23 21:30:07 2008 -0700 eCryptfs: do not try to open device files on mknod When creating device nodes, eCryptfs needs to delay actually opening the lower persistent file until an application tries to open. Device handles may not be backed by anything when they first come into existence. [Valdis.Kletnieks@vt.edu: build fix] Signed-off-by: Michael Halcrow Cc: Signed-off-by: Linus Torvalds commit 0a688ad713949643e201431d3f4a4ceddfeb70ca Author: Harvey Harrison Date: Wed Jul 23 21:30:07 2008 -0700 ecryptfs: inode.c mmap.c use unaligned byteorder helpers Fixe sparse warnings: fs/ecryptfs/inode.c:368:15: warning: cast to restricted __be64 fs/ecryptfs/mmap.c:385:12: warning: incorrect type in assignment (different base types) fs/ecryptfs/mmap.c:385:12: expected unsigned long long [unsigned] [assigned] [usertype] file_size fs/ecryptfs/mmap.c:385:12: got restricted __be64 [usertype] fs/ecryptfs/mmap.c:428:12: warning: incorrect type in assignment (different base types) fs/ecryptfs/mmap.c:428:12: expected unsigned long long [unsigned] [assigned] [usertype] file_size fs/ecryptfs/mmap.c:428:12: got restricted __be64 [usertype] Signed-off-by: Harvey Harrison Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29335c6a41568d4708d4ec3b9187f9b6d302e5ea Author: Harvey Harrison Date: Wed Jul 23 21:30:06 2008 -0700 ecryptfs: crypto.c use unaligned byteorder helpers Fixes the following sparse warnings: fs/ecryptfs/crypto.c:1036:8: warning: cast to restricted __be32 fs/ecryptfs/crypto.c:1038:8: warning: cast to restricted __be32 fs/ecryptfs/crypto.c:1077:10: warning: cast to restricted __be32 fs/ecryptfs/crypto.c:1103:6: warning: incorrect type in assignment (different base types) fs/ecryptfs/crypto.c:1105:6: warning: incorrect type in assignment (different base types) fs/ecryptfs/crypto.c:1124:8: warning: incorrect type in assignment (different base types) fs/ecryptfs/crypto.c:1241:21: warning: incorrect type in assignment (different base types) fs/ecryptfs/crypto.c:1244:30: warning: incorrect type in assignment (different base types) fs/ecryptfs/crypto.c:1414:23: warning: cast to restricted __be32 fs/ecryptfs/crypto.c:1417:32: warning: cast to restricted __be16 Signed-off-by: Harvey Harrison Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f2368095e25018838e1bf145041f58270ccd32e Author: Miklos Szeredi Date: Wed Jul 23 21:30:05 2008 -0700 ecryptfs: string copy cleanup Clean up overcomplicated string copy, which also gets rid of this bogus warning: fs/ecryptfs/main.c: In function 'ecryptfs_parse_options': include/asm/arch/string_32.h:75: warning: array subscript is above array bounds Signed-off-by: Miklos Szeredi Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 982363c97f8cad7aea4c3d2cfebffc1cc2d2f166 Author: Eric Sandeen Date: Wed Jul 23 21:30:04 2008 -0700 ecryptfs: propagate key errors up at mount time Mounting with invalid key signatures should probably fail, if they were specifically requested but not available. Also fix case checks in process_request_key_err() for the right sign of the errnos, as spotted by Jan Tluka. Signed-off-by: Eric Sandeen Reviewed-by: Jan Tluka Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c4c17b073cd4a5a61bc04329561632870bb21fc Author: Tyler Hicks Date: Wed Jul 23 21:30:04 2008 -0700 ecryptfs: discard ecryptfsd registration messages in miscdev The userspace eCryptfs daemon sends HELO and QUIT messages to the kernel for per-user daemon (un)registration. These messages are required when netlink is used as the transport, but (un)registration is handled by opening and closing the device file when miscdev is the transport. These messages should be discarded in the miscdev transport so that a daemon isn't registered twice. Signed-off-by: Tyler Hicks Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 746f1e558bc52b9693c1a1ecdab60f8392e5ff18 Author: Michael Halcrow Date: Wed Jul 23 21:30:02 2008 -0700 eCryptfs: Privileged kthread for lower file opens eCryptfs would really like to have read-write access to all files in the lower filesystem. Right now, the persistent lower file may be opened read-only if the attempt to open it read-write fails. One way to keep from having to do that is to have a privileged kthread that can open the lower persistent file on behalf of the user opening the eCryptfs file; this patch implements this functionality. This patch will properly allow a less-privileged user to open the eCryptfs file, followed by a more-privileged user opening the eCryptfs file, with the first user only being able to read and the second user being able to both read and write. eCryptfs currently does this wrong; it will wind up calling vfs_write() on a file that was opened read-only. This is fixed in this patch. Signed-off-by: Michael Halcrow Cc: Dave Kleikamp Cc: Serge Hallyn Cc: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0293902a4d66fab27d0ddcc0766e05dae68f004e Author: Wang Chen Date: Wed Jul 23 21:30:01 2008 -0700 I2O: handle sysfs_create_link() failures Compile warning: ignoring return value of `sysfs_create_link', declared with attribute warn_unused_result. If sysfs_create_link failed, take care of the return value and do some error handle after the failure. Since sysfs_remove_link() will check whether a link exists, when removing the link in error path, we don't need to care whether a link was created. Signed-off-by: Wang Chen Cc: Markus Lidel Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f700d6e5e5549cb9349d22043f4bd153792c621f Author: Stefano Stabellini Date: Wed Jul 23 21:29:59 2008 -0700 vt: do not update when the console is blanked vt.c DO_UPDATE macro checks if the console is visible but doesn't check if the console is blanked. In fact updating fbcon while the console is blanked is not only unnecessary but can even cause screen corruption. Therefore I am adding a simple check on console_blanked in DO_UPDATE. Signed-off-by: Stefano Stabellini Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0426e6a09954d205da2d674a3d368d2715e3afd Author: Jiri Slaby Date: Wed Jul 23 21:29:58 2008 -0700 vt: hold console_sem across sysfs operations Hold console sem while creating/destroying sysfs files. Serialisation is so far done by BKL held in tty release_dev and chrdev_open, but no other locks are held in open path. Signed-off-by: Jiri Slaby Cc: Alan Cox Cc: Aristeu Rozanski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbe48ecc7f6559318cfc6c023da225a0b0e14ab3 Author: Jan Nikitenko Date: Wed Jul 23 21:29:57 2008 -0700 spi: au1550_spi: improve pio transfer mode Improve PIO transfer mode of au1550 spi controller by continuing of spi transfer, instead of aborting transfer when transmit underflow interrupt occurrs. Verified by oscilloscope that the spi clock pauses on trasmit underflow, so transfer continuation is perfectly valid even though au1550 datasheet says that on tx underflow zeroes will be transfered. Also make some error messages more specific. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a93a159c61e38a12f7ecbb3a25cf3f012abcf7a Author: Manuel Lauss Date: Wed Jul 23 21:29:56 2008 -0700 spi: au1550_spi: proper platform device Remove the Au1550 resource table and instead extract MMIO/IRQ/DMA resources from platform resource information like any well-behaved platform driver. Signed-off-by: Manuel Lauss Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef754b7d7971a704d5b1b4608839da1bae37e5e Author: Alan Cox Date: Wed Jul 23 21:29:55 2008 -0700 spidev: BKL removal Another step to removing ->ioctl and to removing the BKL [dbrownell@users.sourceforge.net: take final step; BKL not needed] Signed-off-by: Alan Cox Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 102eb97564c73ea73645b38599c5cbe6f54b030c Author: Grant Likely Date: Wed Jul 23 21:29:55 2008 -0700 spi: make spi_board_info.modalias a char array Currently, 'modalias' in the spi_device structure is a 'const char *'. The spi_new_device() function fills in the modalias value from a passed in spi_board_info data block. Since it is a pointer copy, the new spi_device remains dependent on the spi_board_info structure after the new spi_device is registered (no other fields in spi_device directly depend on the spi_board_info structure; all of the other data is copied). This causes a problem when dynamically propulating the list of attached SPI devices. For example, in arch/powerpc, the list of SPI devices can be populated from data in the device tree. With the current code, the device tree adapter must kmalloc() a new spi_board_info structure for each new SPI device it finds in the device tree, and there is no simple mechanism in place for keeping track of these allocations. This patch changes modalias from a 'const char *' to a fixed char array. By copying the modalias string instead of referencing it, the dependency on the spi_board_info structure is eliminated and an outside caller does not need to maintain a separate spi_board_info allocation for each device. If searched through the code to the best of my ability for any references to modalias which may be affected by this change and haven't found anything. It has been tested with the lite5200b platform in arch/powerpc. [dbrownell@users.sourceforge.net: cope with linux-next changes: KOBJ_NAME_LEN obliterated, etc] Signed-off-by: Grant Likely Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6291fe2abce4689d6ee7cbaea16692c79bf0d01b Author: Robert P. J. Day Date: Wed Jul 23 21:29:53 2008 -0700 SPI Kconfig simplifications Use "if SPI_MASTER" to remove numerous dependencies. [dbrownell@users.sourceforge.net: remove a couple now-needless EXPERIMENTAL dependencies too] Signed-off-by: Robert P. J. Day Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 166a375b657b7af494f4ce3f72c4d2002180da44 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:29:53 2008 -0700 xilinx_spi: test below 0 on unsigned irq in xilinx_spi_probe() xilinx_spi->irq is unsigned, so the test fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: David Brownell Cc: Andrei Konovalov Cc: Yuri Frolov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a61f5345eba34772a71523227de890a28410f320 Author: Chen Gong Date: Wed Jul 23 21:29:52 2008 -0700 spi: spi_mpc83xx clockrate fixes This updates the SPI clock rate calculations for the spi_mpc83xx driver. Some boundary conditions were wrong, and in several cases divide-by-16 wasn't always needed Signed-off-by: Chen Gong Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 708d8cefd0f6d8dc13027f899e865ccfa5f63871 Author: Andre Haupt Date: Wed Jul 23 21:29:51 2008 -0700 stallion: removed unused variable Signed-off-by: Andre Haupt Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae2d4c396e19f45918ed6e0900b031538d009823 Author: Nye Liu Date: Wed Jul 23 21:29:50 2008 -0700 cpm1: don't send break on TX_STOP, don't interrupt RX/TX when adjusting termios parameters Before setting STOP_TX, set _brkcr to 0 so the SMC does not send a break character. The driver appears to properly re-initialize _brkcr when the SMC is restarted. Do not interrupt RX/TX when the termios is being adjusted; it results in corrupted characters appearing on the line. Cc: Vitaly Bordug Cc: Scott Wood Cc: Paul Mackerras Cc: Kumar Gala Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9a8f4d1de12633bfb71b5fee47745b32877b7b5 Author: Maciej W. Rozycki Date: Wed Jul 23 21:29:49 2008 -0700 serial: DZ11: avoid a hang at console switch-over Changes to the generic console support code that happened a while ago introduced a scenario where the initial console is used in parallel with the final console during a brief period when switching between the two is in progress. During that time a message about the switch-over is printed. With some combinations of chips, firmware and drivers, such as the DEC DZ11 clone used with the DECstation, a hang may happen because the firmware used for the initial console may not expect the state of the chip after it has been initialised by the driver. This is a workaround for the DZ11 which reuses the power-management callback to keep the transmitter of the line associated with the console enabled. It reflects the consensus reached in a discussion a while ago. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 377135912806ddc87d56d64fafa685f4063c45f1 Author: Maciej W. Rozycki Date: Wed Jul 23 21:29:48 2008 -0700 serial: Z85C30: avoid a hang at console switch-over Changes to the generic console support code that happened a while ago introduced a scenario where the initial console is used in parallel with the final console during a brief period when switching between the two is in progress. During that time a message about the switch-over is printed. With some combinations of chips, firmware and drivers, such as the Zilog Z85C30 SCC used with the DECstation, a hang may happen because the firmware used for the initial console may not expect the state of the chip after it has been initialised by the driver. This is not a bug in the firmware, as some registers it would have to examine are write-only. This is a workaround for the Z85C30 which reuses the power-management callback to keep the transmitter of the line associated with the console enabled. It reflects the consensus reached in a discussion a while ago. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b76c5a0717094f0a900d9afd8e36f7ad8dbba587 Author: Catalin(ux) M BOIE Date: Wed Jul 23 21:29:46 2008 -0700 serial: add support for a no-name 4 ports multiserial card It is a no-name PCI card. I found no reference to a producer so I used "UNKNOWN_0x1584" as the name. Full lspci: 01:07.0 0780: 10b5:9050 (rev 01) Subsystem: 10b5:1584 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- \ ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- \ DEVSEL=medium >TAbort- SERR- Acked-by: Alan Cox Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7500b1f602aad75901774a67a687ee985d85893f Author: Aristeu Rozanski Date: Wed Jul 23 21:29:45 2008 -0700 8250: fix break handling for Intel 82571 Intel 82571 has a "Serial Over LAN" feature that doesn't properly implements the receiving of break characters. When a break is received, it doesn't set UART_LSR_DR and unless another character is received, the break won't be received by the application. Signed-off-by: Aristeu Rozanski Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 920519c1c31ca46ef6caab1a4be102ed0dfb5fbc Author: Adrian Bunk Date: Wed Jul 23 21:29:44 2008 -0700 serial/8250_gsc.c: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0 Author: Ulrich Drepper Date: Wed Jul 23 21:29:43 2008 -0700 flag parameters add-on: remove epoll_create size param Remove the size parameter from the new epoll_create syscall and renames the syscall itself. The updated test program follows. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_epoll_create2 # ifdef __x86_64__ # define __NR_epoll_create2 291 # elif defined __i386__ # define __NR_epoll_create2 329 # else # error "need __NR_epoll_create2" # endif #endif #define EPOLL_CLOEXEC O_CLOEXEC int main (void) { int fd = syscall (__NR_epoll_create2, 0); if (fd == -1) { puts ("epoll_create2(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("epoll_create2(0) set close-on-exec flag"); return 1; } close (fd); fd = syscall (__NR_epoll_create2, EPOLL_CLOEXEC); if (fd == -1) { puts ("epoll_create2(EPOLL_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("epoll_create2(EPOLL_CLOEXEC) set close-on-exec flag"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e38b36f325153eaadd1c2a7abc5762079233e540 Author: Ulrich Drepper Date: Wed Jul 23 21:29:42 2008 -0700 flag parameters: check magic constants This patch adds test that ensure the boundary conditions for the various constants introduced in the previous patches is met. No code is generated. [akpm@linux-foundation.org: fix alpha] Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 510df2dd482496083e1c3b1a8c9b6afd5fa4c7d7 Author: Ulrich Drepper Date: Wed Jul 23 21:29:41 2008 -0700 flag parameters: NONBLOCK in inotify_init This patch adds non-blocking support for inotify_init1. The additional changes needed are minimal. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #ifndef __NR_inotify_init1 # ifdef __x86_64__ # define __NR_inotify_init1 294 # elif defined __i386__ # define __NR_inotify_init1 332 # else # error "need __NR_inotify_init1" # endif #endif #define IN_NONBLOCK O_NONBLOCK int main (void) { int fd = syscall (__NR_inotify_init1, 0); if (fd == -1) { puts ("inotify_init1(0) failed"); return 1; } int fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { puts ("inotify_init1(0) set non-blocking mode"); return 1; } close (fd); fd = syscall (__NR_inotify_init1, IN_NONBLOCK); if (fd == -1) { puts ("inotify_init1(IN_NONBLOCK) failed"); return 1; } fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { puts ("inotify_init1(IN_NONBLOCK) set non-blocking mode"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be61a86d7237dd80510615f38ae21d6e1e98660c Author: Ulrich Drepper Date: Wed Jul 23 21:29:40 2008 -0700 flag parameters: NONBLOCK in pipe This patch adds O_NONBLOCK support to pipe2. It is minimally more involved than the patches for eventfd et.al but still trivial. The interfaces of the create_write_pipe and create_read_pipe helper functions were changed and the one other caller as well. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #ifndef __NR_pipe2 # ifdef __x86_64__ # define __NR_pipe2 293 # elif defined __i386__ # define __NR_pipe2 331 # else # error "need __NR_pipe2" # endif #endif int main (void) { int fds[2]; if (syscall (__NR_pipe2, fds, 0) == -1) { puts ("pipe2(0) failed"); return 1; } for (int i = 0; i < 2; ++i) { int fl = fcntl (fds[i], F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { printf ("pipe2(0) set non-blocking mode for fds[%d]\n", i); return 1; } close (fds[i]); } if (syscall (__NR_pipe2, fds, O_NONBLOCK) == -1) { puts ("pipe2(O_NONBLOCK) failed"); return 1; } for (int i = 0; i < 2; ++i) { int fl = fcntl (fds[i], F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { printf ("pipe2(O_NONBLOCK) does not set non-blocking mode for fds[%d]\n", i); return 1; } close (fds[i]); } puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1ef0e60d42f2fdaec26baee8327eb156347b4f Author: Ulrich Drepper Date: Wed Jul 23 21:29:39 2008 -0700 flag parameters: NONBLOCK in timerfd_create This patch adds support for the TFD_NONBLOCK flag to timerfd_create. The additional changes needed are minimal. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_timerfd_create # ifdef __x86_64__ # define __NR_timerfd_create 283 # elif defined __i386__ # define __NR_timerfd_create 322 # else # error "need __NR_timerfd_create" # endif #endif #define TFD_NONBLOCK O_NONBLOCK int main (void) { int fd = syscall (__NR_timerfd_create, CLOCK_REALTIME, 0); if (fd == -1) { puts ("timerfd_create(0) failed"); return 1; } int fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { puts ("timerfd_create(0) set non-blocking mode"); return 1; } close (fd); fd = syscall (__NR_timerfd_create, CLOCK_REALTIME, TFD_NONBLOCK); if (fd == -1) { puts ("timerfd_create(TFD_NONBLOCK) failed"); return 1; } fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { puts ("timerfd_create(TFD_NONBLOCK) set non-blocking mode"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7d476dfdf0bcfed478a207aecfdc84f81efecaf Author: Ulrich Drepper Date: Wed Jul 23 21:29:38 2008 -0700 flag parameters: NONBLOCK in eventfd This patch adds support for the EFD_NONBLOCK flag to eventfd2. The additional changes needed are minimal. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #ifndef __NR_eventfd2 # ifdef __x86_64__ # define __NR_eventfd2 290 # elif defined __i386__ # define __NR_eventfd2 328 # else # error "need __NR_eventfd2" # endif #endif #define EFD_NONBLOCK O_NONBLOCK int main (void) { int fd = syscall (__NR_eventfd2, 1, 0); if (fd == -1) { puts ("eventfd2(0) failed"); return 1; } int fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { puts ("eventfd2(0) sets non-blocking mode"); return 1; } close (fd); fd = syscall (__NR_eventfd2, 1, EFD_NONBLOCK); if (fd == -1) { puts ("eventfd2(EFD_NONBLOCK) failed"); return 1; } fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { puts ("eventfd2(EFD_NONBLOCK) does not set non-blocking mode"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fb5e04926a54bc1c22bba7ca166840f4476196f Author: Ulrich Drepper Date: Wed Jul 23 21:29:37 2008 -0700 flag parameters: NONBLOCK in signalfd This patch adds support for the SFD_NONBLOCK flag to signalfd4. The additional changes needed are minimal. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_signalfd4 # ifdef __x86_64__ # define __NR_signalfd4 289 # elif defined __i386__ # define __NR_signalfd4 327 # else # error "need __NR_signalfd4" # endif #endif #define SFD_NONBLOCK O_NONBLOCK int main (void) { sigset_t ss; sigemptyset (&ss); sigaddset (&ss, SIGUSR1); int fd = syscall (__NR_signalfd4, -1, &ss, 8, 0); if (fd == -1) { puts ("signalfd4(0) failed"); return 1; } int fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { puts ("signalfd4(0) set non-blocking mode"); return 1; } close (fd); fd = syscall (__NR_signalfd4, -1, &ss, 8, SFD_NONBLOCK); if (fd == -1) { puts ("signalfd4(SFD_NONBLOCK) failed"); return 1; } fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { puts ("signalfd4(SFD_NONBLOCK) does not set non-blocking mode"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77d2720059618b9b6e827a8b73831eb6c6fad63c Author: Ulrich Drepper Date: Wed Jul 23 21:29:35 2008 -0700 flag parameters: NONBLOCK in socket and socketpair This patch introduces support for the SOCK_NONBLOCK flag in socket, socketpair, and paccept. To do this the internal function sock_attach_fd gets an additional parameter which it uses to set the appropriate flag for the file descriptor. Given that in modern, scalable programs almost all socket connections are non-blocking and the minimal additional cost for the new functionality I see no reason not to add this code. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #include #include #ifndef __NR_paccept # ifdef __x86_64__ # define __NR_paccept 288 # elif defined __i386__ # define SYS_PACCEPT 18 # define USE_SOCKETCALL 1 # else # error "need __NR_paccept" # endif #endif #ifdef USE_SOCKETCALL # define paccept(fd, addr, addrlen, mask, flags) \ ({ long args[6] = { \ (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \ syscall (__NR_socketcall, SYS_PACCEPT, args); }) #else # define paccept(fd, addr, addrlen, mask, flags) \ syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags) #endif #define PORT 57392 #define SOCK_NONBLOCK O_NONBLOCK static pthread_barrier_t b; static void * tf (void *arg) { pthread_barrier_wait (&b); int s = socket (AF_INET, SOCK_STREAM, 0); struct sockaddr_in sin; sin.sin_family = AF_INET; sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); sin.sin_port = htons (PORT); connect (s, (const struct sockaddr *) &sin, sizeof (sin)); close (s); pthread_barrier_wait (&b); pthread_barrier_wait (&b); s = socket (AF_INET, SOCK_STREAM, 0); sin.sin_port = htons (PORT); connect (s, (const struct sockaddr *) &sin, sizeof (sin)); close (s); pthread_barrier_wait (&b); return NULL; } int main (void) { int fd; fd = socket (PF_INET, SOCK_STREAM, 0); if (fd == -1) { puts ("socket(0) failed"); return 1; } int fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { puts ("socket(0) set non-blocking mode"); return 1; } close (fd); fd = socket (PF_INET, SOCK_STREAM|SOCK_NONBLOCK, 0); if (fd == -1) { puts ("socket(SOCK_NONBLOCK) failed"); return 1; } fl = fcntl (fd, F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { puts ("socket(SOCK_NONBLOCK) does not set non-blocking mode"); return 1; } close (fd); int fds[2]; if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) == -1) { puts ("socketpair(0) failed"); return 1; } for (int i = 0; i < 2; ++i) { fl = fcntl (fds[i], F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if (fl & O_NONBLOCK) { printf ("socketpair(0) set non-blocking mode for fds[%d]\n", i); return 1; } close (fds[i]); } if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, 0, fds) == -1) { puts ("socketpair(SOCK_NONBLOCK) failed"); return 1; } for (int i = 0; i < 2; ++i) { fl = fcntl (fds[i], F_GETFL); if (fl == -1) { puts ("fcntl failed"); return 1; } if ((fl & O_NONBLOCK) == 0) { printf ("socketpair(SOCK_NONBLOCK) does not set non-blocking mode for fds[%d]\n", i); return 1; } close (fds[i]); } pthread_barrier_init (&b, NULL, 2); struct sockaddr_in sin; pthread_t th; if (pthread_create (&th, NULL, tf, NULL) != 0) { puts ("pthread_create failed"); return 1; } int s = socket (AF_INET, SOCK_STREAM, 0); int reuse = 1; setsockopt (s, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof (reuse)); sin.sin_family = AF_INET; sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); sin.sin_port = htons (PORT); bind (s, (struct sockaddr *) &sin, sizeof (sin)); listen (s, SOMAXCONN); pthread_barrier_wait (&b); int s2 = paccept (s, NULL, 0, NULL, 0); if (s2 < 0) { puts ("paccept(0) failed"); return 1; } fl = fcntl (s2, F_GETFL); if (fl & O_NONBLOCK) { puts ("paccept(0) set non-blocking mode"); return 1; } close (s2); close (s); pthread_barrier_wait (&b); s = socket (AF_INET, SOCK_STREAM, 0); sin.sin_port = htons (PORT); setsockopt (s, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof (reuse)); bind (s, (struct sockaddr *) &sin, sizeof (sin)); listen (s, SOMAXCONN); pthread_barrier_wait (&b); s2 = paccept (s, NULL, 0, NULL, SOCK_NONBLOCK); if (s2 < 0) { puts ("paccept(SOCK_NONBLOCK) failed"); return 1; } fl = fcntl (s2, F_GETFL); if ((fl & O_NONBLOCK) == 0) { puts ("paccept(SOCK_NONBLOCK) does not set non-blocking mode"); return 1; } close (s2); close (s); pthread_barrier_wait (&b); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99829b832997d907c30669bfd17da32151e18f04 Author: Ulrich Drepper Date: Wed Jul 23 21:29:33 2008 -0700 flag parameters: NONBLOCK in anon_inode_getfd Building on the previous change to anon_inode_getfd, this patch introduces support for handling of O_NONBLOCK in addition to the already supported O_CLOEXEC. Following patches will take advantage of this support. As can be seen, the additional support for supporting this functionality is minimal. Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4006553b06306b34054529477b06b68a1c66249b Author: Ulrich Drepper Date: Wed Jul 23 21:29:32 2008 -0700 flag parameters: inotify_init This patch introduces the new syscall inotify_init1 (note: the 1 stands for the one parameter the syscall takes, as opposed to no parameter before). The values accepted for this parameter are function-specific and defined in the inotify.h header. Here the values must match the O_* flags, though. In this patch CLOEXEC support is introduced. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #ifndef __NR_inotify_init1 # ifdef __x86_64__ # define __NR_inotify_init1 294 # elif defined __i386__ # define __NR_inotify_init1 332 # else # error "need __NR_inotify_init1" # endif #endif #define IN_CLOEXEC O_CLOEXEC int main (void) { int fd; fd = syscall (__NR_inotify_init1, 0); if (fd == -1) { puts ("inotify_init1(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("inotify_init1(0) set close-on-exit"); return 1; } close (fd); fd = syscall (__NR_inotify_init1, IN_CLOEXEC); if (fd == -1) { puts ("inotify_init1(IN_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("inotify_init1(O_CLOEXEC) does not set close-on-exit"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [akpm@linux-foundation.org: add sys_ni stub] Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed8cae8ba01348bfd83333f4648dd807b04d7f08 Author: Ulrich Drepper Date: Wed Jul 23 21:29:30 2008 -0700 flag parameters: pipe This patch introduces the new syscall pipe2 which is like pipe but it also takes an additional parameter which takes a flag value. This patch implements the handling of O_CLOEXEC for the flag. I did not add support for the new syscall for the architectures which have a special sys_pipe implementation. I think the maintainers of those archs have the chance to go with the unified implementation but that's up to them. The implementation introduces do_pipe_flags. I did that instead of changing all callers of do_pipe because some of the callers are written in assembler. I would probably screw up changing the assembly code. To avoid breaking code do_pipe is now a small wrapper around do_pipe_flags. Once all callers are changed over to do_pipe_flags the old do_pipe function can be removed. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #ifndef __NR_pipe2 # ifdef __x86_64__ # define __NR_pipe2 293 # elif defined __i386__ # define __NR_pipe2 331 # else # error "need __NR_pipe2" # endif #endif int main (void) { int fd[2]; if (syscall (__NR_pipe2, fd, 0) != 0) { puts ("pipe2(0) failed"); return 1; } for (int i = 0; i < 2; ++i) { int coe = fcntl (fd[i], F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { printf ("pipe2(0) set close-on-exit for fd[%d]\n", i); return 1; } } close (fd[0]); close (fd[1]); if (syscall (__NR_pipe2, fd, O_CLOEXEC) != 0) { puts ("pipe2(O_CLOEXEC) failed"); return 1; } for (int i = 0; i < 2; ++i) { int coe = fcntl (fd[i], F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { printf ("pipe2(O_CLOEXEC) does not set close-on-exit for fd[%d]\n", i); return 1; } } close (fd[0]); close (fd[1]); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 336dd1f70ff62d7dd8655228caed4c5bfc818c56 Author: Ulrich Drepper Date: Wed Jul 23 21:29:29 2008 -0700 flag parameters: dup2 This patch adds the new dup3 syscall. It extends the old dup2 syscall by one parameter which is meant to hold a flag value. Support for the O_CLOEXEC flag is added in this patch. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_dup3 # ifdef __x86_64__ # define __NR_dup3 292 # elif defined __i386__ # define __NR_dup3 330 # else # error "need __NR_dup3" # endif #endif int main (void) { int fd = syscall (__NR_dup3, 1, 4, 0); if (fd == -1) { puts ("dup3(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("dup3(0) set close-on-exec flag"); return 1; } close (fd); fd = syscall (__NR_dup3, 1, 4, O_CLOEXEC); if (fd == -1) { puts ("dup3(O_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("dup3(O_CLOEXEC) set close-on-exec flag"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0998b50c3f0b8fdd265c63e0032f86ebe377dbf Author: Ulrich Drepper Date: Wed Jul 23 21:29:27 2008 -0700 flag parameters: epoll_create This patch adds the new epoll_create2 syscall. It extends the old epoll_create syscall by one parameter which is meant to hold a flag value. In this patch the only flag support is EPOLL_CLOEXEC which causes the close-on-exec flag for the returned file descriptor to be set. A new name EPOLL_CLOEXEC is introduced which in this implementation must have the same value as O_CLOEXEC. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_epoll_create2 # ifdef __x86_64__ # define __NR_epoll_create2 291 # elif defined __i386__ # define __NR_epoll_create2 329 # else # error "need __NR_epoll_create2" # endif #endif #define EPOLL_CLOEXEC O_CLOEXEC int main (void) { int fd = syscall (__NR_epoll_create2, 1, 0); if (fd == -1) { puts ("epoll_create2(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("epoll_create2(0) set close-on-exec flag"); return 1; } close (fd); fd = syscall (__NR_epoll_create2, 1, EPOLL_CLOEXEC); if (fd == -1) { puts ("epoll_create2(EPOLL_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("epoll_create2(EPOLL_CLOEXEC) set close-on-exec flag"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11fcb6c14676023d0bd437841f5dcd670e7990a0 Author: Ulrich Drepper Date: Wed Jul 23 21:29:26 2008 -0700 flag parameters: timerfd_create The timerfd_create syscall already has a flags parameter. It just is unused so far. This patch changes this by introducing the TFD_CLOEXEC flag to set the close-on-exec flag for the returned file descriptor. A new name TFD_CLOEXEC is introduced which in this implementation must have the same value as O_CLOEXEC. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_timerfd_create # ifdef __x86_64__ # define __NR_timerfd_create 283 # elif defined __i386__ # define __NR_timerfd_create 322 # else # error "need __NR_timerfd_create" # endif #endif #define TFD_CLOEXEC O_CLOEXEC int main (void) { int fd = syscall (__NR_timerfd_create, CLOCK_REALTIME, 0); if (fd == -1) { puts ("timerfd_create(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("timerfd_create(0) set close-on-exec flag"); return 1; } close (fd); fd = syscall (__NR_timerfd_create, CLOCK_REALTIME, TFD_CLOEXEC); if (fd == -1) { puts ("timerfd_create(TFD_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("timerfd_create(TFD_CLOEXEC) set close-on-exec flag"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b087498eb5605673b0f260a7620d91818cd72304 Author: Ulrich Drepper Date: Wed Jul 23 21:29:25 2008 -0700 flag parameters: eventfd This patch adds the new eventfd2 syscall. It extends the old eventfd syscall by one parameter which is meant to hold a flag value. In this patch the only flag support is EFD_CLOEXEC which causes the close-on-exec flag for the returned file descriptor to be set. A new name EFD_CLOEXEC is introduced which in this implementation must have the same value as O_CLOEXEC. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #ifndef __NR_eventfd2 # ifdef __x86_64__ # define __NR_eventfd2 290 # elif defined __i386__ # define __NR_eventfd2 328 # else # error "need __NR_eventfd2" # endif #endif #define EFD_CLOEXEC O_CLOEXEC int main (void) { int fd = syscall (__NR_eventfd2, 1, 0); if (fd == -1) { puts ("eventfd2(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("eventfd2(0) sets close-on-exec flag"); return 1; } close (fd); fd = syscall (__NR_eventfd2, 1, EFD_CLOEXEC); if (fd == -1) { puts ("eventfd2(EFD_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("eventfd2(EFD_CLOEXEC) does not set close-on-exec flag"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [akpm@linux-foundation.org: add sys_ni stub] Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9deb27baedb79759c3ab9435a7d8b841842d56e9 Author: Ulrich Drepper Date: Wed Jul 23 21:29:24 2008 -0700 flag parameters: signalfd This patch adds the new signalfd4 syscall. It extends the old signalfd syscall by one parameter which is meant to hold a flag value. In this patch the only flag support is SFD_CLOEXEC which causes the close-on-exec flag for the returned file descriptor to be set. A new name SFD_CLOEXEC is introduced which in this implementation must have the same value as O_CLOEXEC. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef __NR_signalfd4 # ifdef __x86_64__ # define __NR_signalfd4 289 # elif defined __i386__ # define __NR_signalfd4 327 # else # error "need __NR_signalfd4" # endif #endif #define SFD_CLOEXEC O_CLOEXEC int main (void) { sigset_t ss; sigemptyset (&ss); sigaddset (&ss, SIGUSR1); int fd = syscall (__NR_signalfd4, -1, &ss, 8, 0); if (fd == -1) { puts ("signalfd4(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("signalfd4(0) set close-on-exec flag"); return 1; } close (fd); fd = syscall (__NR_signalfd4, -1, &ss, 8, SFD_CLOEXEC); if (fd == -1) { puts ("signalfd4(SFD_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("signalfd4(SFD_CLOEXEC) does not set close-on-exec flag"); return 1; } close (fd); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [akpm@linux-foundation.org: add sys_ni stub] Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d9dbca34240ebb6ff88d8a29c6c7bffd098f0c1 Author: Ulrich Drepper Date: Wed Jul 23 21:29:22 2008 -0700 flag parameters: anon_inode_getfd extension This patch just extends the anon_inode_getfd interface to take an additional parameter with a flag value. The flag value is passed on to get_unused_fd_flags in anticipation for a use with the O_CLOEXEC flag. No actual semantic changes here, the changed callers all pass 0 for now. [akpm@linux-foundation.org: KVM fix] Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c019bbc612f6633ede7ed67725cbf68de45ae8a4 Author: Ulrich Drepper Date: Wed Jul 23 21:29:21 2008 -0700 flag parameters: paccept w/out set_restore_sigmask Some platforms do not have support to restore the signal mask in the return path from a syscall. For those platforms syscalls like pselect are not defined at all. This is, I think, not a good choice for paccept() since paccept() adds more value on top of accept() than just the signal mask handling. Therefore this patch defines a scaled down version of the sys_paccept function for those platforms. It returns -EINVAL in case the signal mask is non-NULL but behaves the same otherwise. Note that I explicitly included . I saw that it is currently included but indirectly two levels down. There is too much risk in relying on this. The header might change and then suddenly the function definition would change without anyone immediately noticing. Signed-off-by: Ulrich Drepper Cc: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aaca0bdca573f3f51ea03139f9c7289541e7bca3 Author: Ulrich Drepper Date: Wed Jul 23 21:29:20 2008 -0700 flag parameters: paccept This patch is by far the most complex in the series. It adds a new syscall paccept. This syscall differs from accept in that it adds (at the userlevel) two additional parameters: - a signal mask - a flags value The flags parameter can be used to set flag like SOCK_CLOEXEC. This is imlpemented here as well. Some people argued that this is a property which should be inherited from the file desriptor for the server but this is against POSIX. Additionally, we really want the signal mask parameter as well (similar to pselect, ppoll, etc). So an interface change in inevitable. The flag value is the same as for socket and socketpair. I think diverging here will only create confusion. Similar to the filesystem interfaces where the use of the O_* constants differs, it is acceptable here. The signal mask is handled as for pselect etc. The mask is temporarily installed for the thread and removed before the call returns. I modeled the code after pselect. If there is a problem it's likely also in pselect. For architectures which use socketcall I maintained this interface instead of adding a system call. The symmetry shouldn't be broken. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #include #include #include #include #ifndef __NR_paccept # ifdef __x86_64__ # define __NR_paccept 288 # elif defined __i386__ # define SYS_PACCEPT 18 # define USE_SOCKETCALL 1 # else # error "need __NR_paccept" # endif #endif #ifdef USE_SOCKETCALL # define paccept(fd, addr, addrlen, mask, flags) \ ({ long args[6] = { \ (long) fd, (long) addr, (long) addrlen, (long) mask, 8, (long) flags }; \ syscall (__NR_socketcall, SYS_PACCEPT, args); }) #else # define paccept(fd, addr, addrlen, mask, flags) \ syscall (__NR_paccept, fd, addr, addrlen, mask, 8, flags) #endif #define PORT 57392 #define SOCK_CLOEXEC O_CLOEXEC static pthread_barrier_t b; static void * tf (void *arg) { pthread_barrier_wait (&b); int s = socket (AF_INET, SOCK_STREAM, 0); struct sockaddr_in sin; sin.sin_family = AF_INET; sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); sin.sin_port = htons (PORT); connect (s, (const struct sockaddr *) &sin, sizeof (sin)); close (s); pthread_barrier_wait (&b); s = socket (AF_INET, SOCK_STREAM, 0); sin.sin_port = htons (PORT); connect (s, (const struct sockaddr *) &sin, sizeof (sin)); close (s); pthread_barrier_wait (&b); pthread_barrier_wait (&b); sleep (2); pthread_kill ((pthread_t) arg, SIGUSR1); return NULL; } static void handler (int s) { } int main (void) { pthread_barrier_init (&b, NULL, 2); struct sockaddr_in sin; pthread_t th; if (pthread_create (&th, NULL, tf, (void *) pthread_self ()) != 0) { puts ("pthread_create failed"); return 1; } int s = socket (AF_INET, SOCK_STREAM, 0); int reuse = 1; setsockopt (s, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof (reuse)); sin.sin_family = AF_INET; sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); sin.sin_port = htons (PORT); bind (s, (struct sockaddr *) &sin, sizeof (sin)); listen (s, SOMAXCONN); pthread_barrier_wait (&b); int s2 = paccept (s, NULL, 0, NULL, 0); if (s2 < 0) { puts ("paccept(0) failed"); return 1; } int coe = fcntl (s2, F_GETFD); if (coe & FD_CLOEXEC) { puts ("paccept(0) set close-on-exec-flag"); return 1; } close (s2); pthread_barrier_wait (&b); s2 = paccept (s, NULL, 0, NULL, SOCK_CLOEXEC); if (s2 < 0) { puts ("paccept(SOCK_CLOEXEC) failed"); return 1; } coe = fcntl (s2, F_GETFD); if ((coe & FD_CLOEXEC) == 0) { puts ("paccept(SOCK_CLOEXEC) does not set close-on-exec flag"); return 1; } close (s2); pthread_barrier_wait (&b); struct sigaction sa; sa.sa_handler = handler; sa.sa_flags = 0; sigemptyset (&sa.sa_mask); sigaction (SIGUSR1, &sa, NULL); sigset_t ss; pthread_sigmask (SIG_SETMASK, NULL, &ss); sigaddset (&ss, SIGUSR1); pthread_sigmask (SIG_SETMASK, &ss, NULL); sigdelset (&ss, SIGUSR1); alarm (4); pthread_barrier_wait (&b); errno = 0 ; s2 = paccept (s, NULL, 0, &ss, 0); if (s2 != -1 || errno != EINTR) { puts ("paccept did not fail with EINTR"); return 1; } close (s); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [akpm@linux-foundation.org: make it compile] [akpm@linux-foundation.org: add sys_ni stub] Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: Cc: "David S. Miller" Cc: Roland McGrath Cc: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a677a039be7243357d93502bff2b40850c942e2d Author: Ulrich Drepper Date: Wed Jul 23 21:29:17 2008 -0700 flag parameters: socket and socketpair This patch adds support for flag values which are ORed to the type passwd to socket and socketpair. The additional code is minimal. The flag values in this implementation can and must match the O_* flags. This avoids overhead in the conversion. The internal functions sock_alloc_fd and sock_map_fd get a new parameters and all callers are changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #define PORT 57392 /* For Linux these must be the same. */ #define SOCK_CLOEXEC O_CLOEXEC int main (void) { int fd; fd = socket (PF_INET, SOCK_STREAM, 0); if (fd == -1) { puts ("socket(0) failed"); return 1; } int coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { puts ("socket(0) set close-on-exec flag"); return 1; } close (fd); fd = socket (PF_INET, SOCK_STREAM|SOCK_CLOEXEC, 0); if (fd == -1) { puts ("socket(SOCK_CLOEXEC) failed"); return 1; } coe = fcntl (fd, F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { puts ("socket(SOCK_CLOEXEC) does not set close-on-exec flag"); return 1; } close (fd); int fds[2]; if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) == -1) { puts ("socketpair(0) failed"); return 1; } for (int i = 0; i < 2; ++i) { coe = fcntl (fds[i], F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { printf ("socketpair(0) set close-on-exec flag for fds[%d]\n", i); return 1; } close (fds[i]); } if (socketpair (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds) == -1) { puts ("socketpair(SOCK_CLOEXEC) failed"); return 1; } for (int i = 0; i < 2; ++i) { coe = fcntl (fds[i], F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { printf ("socketpair(SOCK_CLOEXEC) does not set close-on-exec flag for fds[%d]\n", i); return 1; } close (fds[i]); } puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Acked-by: Davide Libenzi Cc: Michael Kerrisk Cc: "David S. Miller" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e2c10a12a2170856f5582d62d583cbcd1cb5eaf Author: Akinobu Mita Date: Wed Jul 23 21:29:15 2008 -0700 binfmt_misc: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76a6f3dc9a7108785c145a298f82c72f9208fe17 Author: Adrian Bunk Date: Wed Jul 23 21:29:15 2008 -0700 CONFIG_SOUND_WM97XX: remove stale makefile line The driver is gone for a long time. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7102ed519a08b70eadc8fea9d8765d2d990241d1 Author: Adrian Bunk Date: Wed Jul 23 21:29:13 2008 -0700 remove the OSS trident driver SOUND_TRIDENT was the last PCI OSS driver, and since there's already an ALSA driver for the same hardware we can remove it. [muli@il.ibm.com: update CREDITS] Signed-off-by: Adrian Bunk Signed-off-by: Muli Ben-Yehuda Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33cba0657393a75e18e1781e3e13613303f18124 Author: Andy Whitcroft Date: Wed Jul 23 21:29:12 2008 -0700 checkpatch: version 0.21 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 234fff6515a11cf3e67c793146689da426787fea Author: Andy Whitcroft Date: Wed Jul 23 21:29:12 2008 -0700 checkpatch: types cannot start mid word for pointer tests When checking spacing for pointer checks the type cannot start in the middle of a word, ie. this is not 'int * bar': x = fooint * bar; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 292f1a9b342d763f94ea3915726a48905be4acd1 Author: Andy Whitcroft Date: Wed Jul 23 21:29:11 2008 -0700 checkpatch: complex macros need to ignore comments Ensure we ignore comments in complex macro detection else we incorrectly report this: #define PFM_GROUP_PERM_ANY -1 /* any user/group */ Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74048ed811152a995a88945ba9e0dded34adfff4 Author: Andy Whitcroft Date: Wed Jul 23 21:29:10 2008 -0700 checkpatch: variants -- move the main unary/binary operators to use variants Now that we have a variants system, move to using that to carry the unary/binary designation for +, -, &, and *. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f65f947a6a875e1fe7867dc08e981c4101d435d Author: Andy Whitcroft Date: Wed Jul 23 21:29:10 2008 -0700 checkpatch: add checks for question mark and colon spacing Add checks for the question mark colon operator spacing, and also check the other uses of colon. Colon means a number of things: - it introduces the else part of the ?: operator, - it terminates a goto label, - it terminates the case value, - it separates the identifier from the bit size on bit fields, and - it is used to introduce option types in asm(). Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2506586586c59f5db0e2ce00d5d31ccec6260b8 Author: Andy Whitcroft Date: Wed Jul 23 21:29:09 2008 -0700 checkpatch: possible modifiers -- handle multiple modifiers and trailing Add support for multiple modifiers such as: int __one __two foo; Also handle trailing known modifiers when defecting modifiers: int __one foo __read_mostly; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0221f55c142b0ac8baf6f0b6c4e1ec89f0c98e96 Author: Andy Whitcroft Date: Wed Jul 23 21:29:08 2008 -0700 checkpatch: possible types -- known modifiers cannot be types Ensure we do not inadvertantly load known modifiers up as possible types. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ea3eb9a20f39d5afa52900a34092b4b5f6b55cb Author: Andy Whitcroft Date: Wed Jul 23 21:29:08 2008 -0700 checkpatch: handle return types of pointers to functions Make sure we correctly mark the return type of the pointer to a function declaration. const void *(*sb_tag)(struct sysfs_tag_info *info); Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8f96a31f38c8e9fc75f0a89c6815e7cbc402858 Author: Andy Whitcroft Date: Wed Jul 23 21:29:07 2008 -0700 checkpatch: macro complexity checks are meaningless in linker scripts Exclude vmlinux.lds.h from the macro complexity checks. They will never apply sanely here. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2172eb5bd4b7d06577113ec40635083619ca54a Author: Andy Whitcroft Date: Wed Jul 23 21:29:07 2008 -0700 checkpatch: possible modifiers are not being correctly matched Although we are finding the added modifier in the declaration below we are not correctly matching it as a type. Fix the declaration. static void __ref *vmem_alloc_pages(unsigned int order) { } Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7429c6903e3628fc2cfea65ec7e13bac030c7bfe Author: Andy Whitcroft Date: Wed Jul 23 21:29:06 2008 -0700 checkpatch: improve type matcher debug Improve type matcher debug so we can see what it does match. As part of this move us to to using the common debug framework. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 389a2fe57ffc59a649bea39db4d7e6d2eff2b562 Author: Andy Whitcroft Date: Wed Jul 23 21:29:05 2008 -0700 checkpatch: allow for type modifiers on multiple declarations Allow for type modifiers mid declaration on multiple declarations: struct mxser_mstatus ms, __user *msu = argp; Reported by Jiri Slaby. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c232147a7d5b0418b0a0bae0e5b9a62fb81f4f2 Author: Wolfram Sang Date: Wed Jul 23 21:29:05 2008 -0700 checkpatch: correct spelling in kfree checks Correct spelling in the kfree reports. Signed-off-by: Wolfram Sang Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c432a8f0134504814aa8dcce6cc57c89d175604 Author: Greg Kroah-Hartman Date: Wed Jul 23 21:29:04 2008 -0700 checkpatch: usb_free_urb() can take NULL usb_free_urb() can take a NULL, so let's check and warn about that. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5fe35dd95549b1b419cdeb2ec3fe61fda94fa93 Author: Andy Whitcroft Date: Wed Jul 23 21:29:03 2008 -0700 checkpatch: condition/loop indent checks Check to see if the block/statement which a condition or loop introduces is indented correctly. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53210168feeff9a3c780bd42f69936d4c12381d5 Author: Andy Whitcroft Date: Wed Jul 23 21:29:03 2008 -0700 checkpatch: toughen trailing if statement checks and extend them to while and for Extend the trailing statement checks to report a trailing semi-colon ';' as we really want it on the next line and indented so it is really really obvious. Also extend the tests to include while and for. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d31cfcecf67563d70cd68616cb8fb4384f24b51 Author: Andy Whitcroft Date: Wed Jul 23 21:29:02 2008 -0700 checkpatch: check spacing for square brackets Check on the spacing before square brackets. We should only allow spaces there if this is part of a type definition or an initialialiser. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2a763c20b89890d2153551b1af6962b135de4c0 Author: Andy Whitcroft Date: Wed Jul 23 21:29:02 2008 -0700 checkpatch: switch -- report trailing statements on case and default Report trailing statements on case and default lines. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4c014c0dede10cc0a8463e748892e738e190699 Author: Andy Whitcroft Date: Wed Jul 23 21:29:01 2008 -0700 checkpatch: allow printk strings to exceed 80 characters to maintain their searchability Allow printk strings to break the 80 character width limits, thus keeping them complete and searchable. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 548596d523d83dff5a670beb84be0daf4c3bcd16 Author: Andy Whitcroft Date: Wed Jul 23 21:29:01 2008 -0700 checkpatch: trailing statement indent: fix end of statement location Fix end of statement location. Where the last line of the statement is replaced we are miss reporting the newly added replacement an incorrectly indented trailing statement for the negative context. We are also incorrectly reporting negative statements generally. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3bb97a7aba36055d476896ed6393ab35a119d5b Author: Andy Whitcroft Date: Wed Jul 23 21:29:00 2008 -0700 checkpatch: macros: fix statement counting block end detection We are incorrectly counting the lines in a block while accumulating the trailing lines in a macro statement, leading to false positives. Fix end of block handling and general counting for negative context lines. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ef9b297f6e8850da3be9c9ff5f00385c0977004 Author: Andy Whitcroft Date: Wed Jul 23 21:28:59 2008 -0700 checkpatch: types: unary -- goto introduces unary context When we see a goto we enter unary context. For example: goto *h; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit beae6332493a40116dba24928154621f2e88b9a9 Author: Andy Whitcroft Date: Wed Jul 23 21:28:59 2008 -0700 checkpatch: comment detection: ignore macro continuation when detecting associated comments When looking for an associated comment they may be suffixed by a macro continuation. Ignore this. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ddcf471ea90d7ff711dbaa371ef379ed625ec0 Author: Andy Whitcroft Date: Wed Jul 23 21:28:58 2008 -0700 checkpatch: possible types: __asm__ is never a type We are false matching __asm__ as a type, and then tripping the external function checks. Squash. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3db6639fee577f6ed92c0a1fc881e748c47ec48 Author: Michael Ellerman Date: Wed Jul 23 21:28:57 2008 -0700 checkpatch: add a checkpatch warning for new uses of __initcall(). [apw@shadowen.org: generalise pattern and add tests] Signed-off-by: Michael Ellerman Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8cb2ca37ed51aa1f3b20e3eff1e72df1c400f70 Author: Andy Whitcroft Date: Wed Jul 23 21:28:57 2008 -0700 checkpatch: types: some types may also be identifiers Some types such as typedefs may overlap real identifiers. Be more targetted about when a type can really exist. Where it cannot let it be an identifier. This prevents false reporting of the minus '-' in unary context in the following: foo[bar->bool - 1]; Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fee61c47d15270bdea699a8a3dd867f0825c3541 Author: Andy Whitcroft Date: Wed Jul 23 21:28:56 2008 -0700 checkpatch: return is not a function -- parentheses for casts are ok too Casts require parentheses so it is possible to have something like this: return (int)(*a); This miss trips the complexity function. Ensure that the two separate parenthesised sections are not coelesced. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cbb2e711128b505209f7c910018aac77335c887 Author: Andy Whitcroft Date: Wed Jul 23 21:28:55 2008 -0700 checkpatch: Version: 0.20 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aa0769d089125e63f8dc23e0283e559e1790493 Author: Hans-Christian Egtvedt Date: Wed Jul 23 21:28:55 2008 -0700 atmel_pwm: set up only one PWM clock when allocating a clock This patch will only setup one clock, if free, and return this clock to the caller. The previous solution would setup both clocks with the same prescaler and divider and return PWM_CPR_CLKB, thus taking both clocks in the same call without the caller knowing. Signed-off-by: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82736f4d1d2b7063b829cc93171a6e5aea8a9c49 Author: Uwe Kleine-König Date: Wed Jul 23 21:28:54 2008 -0700 generic irqs: handle failure of irqchip->set_type in setup_irq set_type returns an int indicating success or failure, but up to now setup_irq ignores that. In my case this resulted in a machine hang: gpio-keys requested IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, but arm/ns9xxx can only trigger on one direction so set_type didn't touch the configuration which happens do default to a level sensitiveness and returned -EINVAL. setup_irq ignored that and unmasked the irq. This resulted in an endless triggering of the gpio-key interrupt service routine which effectively killed the machine. With this patch applied setup_irq propagates the error to the caller. Note that before in the case chip && !chip->set_type && !chip->name a NULL pointer was feed to printk. This is fixed, too. Signed-off-by: Uwe Kleine-König Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f606ddf42fd4edc558eeb48bfee66d2c591571d2 Author: Adrian Bunk Date: Wed Jul 23 21:28:50 2008 -0700 remove the v850 port Trying to compile the v850 port brings many compile errors, one of them exists since at least kernel 2.6.19. There also seems to be noone willing to bring this port back into a usable state. This patch therefore removes the v850 port. If anyone ever decides to revive the v850 port the code will still be available from older kernels, and it wouldn't be impossible for the port to reenter the kernel if it would become actively maintained again. Signed-off-by: Adrian Bunk Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99764fa4ceeecba8b9e0a8a5565b418a2e94f83b Author: WANG Cong Date: Wed Jul 23 21:28:49 2008 -0700 UML: make several more things static - Make some variables and functions static, since they don't need to be global. - Remove an unused function - arch/um/kernel/time.c::sched_clock(). - Clean the style a bit as complained by checkpatch.pl. Cc: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a5675820436e4ad738dd442c1cc8a165101509b Author: WANG Cong Date: Wed Jul 23 21:28:49 2008 -0700 arch/um/kernel/mem.c: remove arch_validate() - Remove arch_validate(), because no one uses it. - Remove useless macro HAVE_ARCH_VALIDATE. - Make the variable 'empty_bad_page' static. Cc: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c182ae7810f3fe444e666f3f78c209a7c116fdf Author: WANG Cong Date: Wed Jul 23 21:28:47 2008 -0700 arch/um/kernel/irq.c: clean up some functions Make activate_fd() and free_irq_by_irq_and_dev() static. Remove init_aio_irq() since it has no users. Cc: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed62f77bb631bc4a2d8acb0521b720cb55e58183 Author: Akinobu Mita Date: Wed Jul 23 21:28:46 2008 -0700 cris: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d50004b0867a59f8a81116f000edb352595343d9 Author: Fernando Luis Vazquez Cao Date: Wed Jul 23 21:28:45 2008 -0700 cris: remove unused global_flush_tlb global_flush_tlb is declared but never used. Signed-off-by: Fernando Luis Vazquez Cao Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 912019572180f287e85b5534fbb1c1e3ca6df6c9 Author: Adrian Bunk Date: Wed Jul 23 21:28:45 2008 -0700 mn10300: move sg_dma_{address,len}() to asm/scatterlist.h mn10300 was the only architecture where sg_dma_{address,len}() were not in asm/scatterlist.h, and it's not a big surprise that this caused a compile error somewhere: /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c: In function `videobuf_dma_map': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/media/video/videobuf-dma-sg.c:238: error: implicit declaration of function 'sg_dma_address' Acked-by: David Howells Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0af566da6e9a4a2f5a83c5a70f3d0a772050e21 Author: David Howells Date: Wed Jul 23 21:28:44 2008 -0700 pm: fix try_to_freeze_tasks()'s use of do_div() Fix try_to_freeze_tasks()'s use of do_div() on an s64 by making elapsed_csecs64 a u64 instead and dividing that. Possibly this should be guarded lest the interval calculation turn up negative, but the possible negativity of the result of the division is cast away anyway. This was introduced by patch 438e2ce68dfd4af4cfcec2f873564fb921db4bb5. Signed-off-by: David Howells Acked-by: "Rafael J. Wysocki" Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e41fb7c58e3ca18ec5c9c9bb7bb68e8e653c9e8e Author: Carlos Corbacho Date: Wed Jul 23 21:28:43 2008 -0700 pm: acpi pm: add DMI quirk list for ACPI 1.0 suspend ordering There are a few BIOSes that we know of already that need to use the ACPI 1.0 suspend order. This appears to be only be a small minority of mostly nVidia based systems. Based on observation of Windows behaviour, it's clear that Windows is also doing maintaining its own list of broken hardware that needs this workaround. Signed-off-by: Carlos Corbacho Signed-off-by: Rafael J. Wysocki Cc: Andi Kleen Cc: Len Brown Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdfe6b7c681669148dae4db27eb24ee5408ba371 Author: Shaohua Li Date: Wed Jul 23 21:28:41 2008 -0700 pm: acpi hibernation: utilize hardware signature ACPI defines a hardware signature. BIOS calculates the signature according to hardware configure and if hardware changes while hibernated, the signature will change. In that case, S4 resume should fail. Still, there may be systems on which this mechanism does not work correctly, so it is better to provide a workaround for them. For this reason, add a new switch to the acpi_sleep= command line argument allowing one to disable hardware signature checking. [shaohua.li@intel.com: build fix] Signed-off-by: Shaohua Li Signed-off-by: Rafael J. Wysocki Cc: Andi Kleen Cc: Len Brown Acked-by: Pavel Machek Cc: Cc: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f15fc4bdf91eb399da3f47a09c55831d9f22826 Author: Zhang Rui Date: Wed Jul 23 21:28:40 2008 -0700 pm: schedule sysrq poweroff on boot cpu schedule sysrq poweroff on boot cpu. sysrq poweroff needs to disable nonboot cpus, and we need to run this on boot cpu to avoid any recursion. http://bugzilla.kernel.org/show_bug.cgi?id=10897 [kosaki.motohiro@jp.fujitsu.com: build fix] Signed-off-by: Zhang Rui Tested-by: Rus Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1a220e7acf8ad2c03504891f4a70cd9c32c904b Author: Zhang Rui Date: Wed Jul 23 21:28:39 2008 -0700 pm: introduce new interfaces schedule_work_on() and queue_work_on() This interface allows adding a job on a specific cpu. Although a work struct on a cpu will be scheduled to other cpu if the cpu dies, there is a recursion if a work task tries to offline the cpu it's running on. we need to schedule the task to a specific cpu in this case. http://bugzilla.kernel.org/show_bug.cgi?id=10897 [oleg@tv-sign.ru: cleanups] Signed-off-by: Zhang Rui Tested-by: Rus Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d83304c7e7bd3b05be90281b3a47841bc8f057a Author: Akinobu Mita Date: Wed Jul 23 21:28:38 2008 -0700 pm: hibernation: simplify memory bitmap This patch simplifies the memory bitmap manipulations. - remove the member size in struct bm_block It is not necessary for struct bm_block to have the number of bit chunks that can be calculated by using end_pfn and start_pfn. - use find_next_bit() for memory_bm_next_pfn No need to invent the bitmap library only for the memory bitmap. Signed-off-by: Akinobu Mita Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8111d1b552349921aae1acf73e4e8cea98e80970 Author: Alan Stern Date: Wed Jul 23 21:28:37 2008 -0700 pm: add new PM_EVENT codes for runtime power transitions This patch (as1112) adds some new PM_EVENT_* codes for use by kernel subsystems. They describe runtime power-state transitions of the sort already implemented by the USB subsystem. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c363265d57d755e62053e9f69a1f2164e83f7ea Author: Rafael J. Wysocki Date: Wed Jul 23 21:28:37 2008 -0700 pm: drop unnecessary includes from pm.h Drop unnecessary includes from include/linux/pm.h . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40b4ac33b4d1bdd5cbeb2241be2399c550fa3696 Author: Rafael J. Wysocki Date: Wed Jul 23 21:28:36 2008 -0700 pm: remove obsolete piece of PM documentation Remove some obsolete PM documentation. The majority of contents of Documentation/power/pm.txt are outdated. Remove the outdated parts of this file and move the rest to Documentation/power/apm-acpi.txt . Update the index in Documentation/power/ as appropriate. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7ecb331e11d1f7aa66aeef9170fc20781c9bb55 Author: Rafael J. Wysocki Date: Wed Jul 23 21:28:35 2008 -0700 pm: remove remaining obsolete definitions from pm.h Remove the remaining obsolete definitions from include/linux/pm.h and move the definitions of PM_SUSPEND and PM_RESUME to the header of h3600 which is the only user of them. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 558481f038e587b22d02167af58914c814ce9de5 Author: Rafael J. Wysocki Date: Wed Jul 23 21:28:35 2008 -0700 pm: remove definition of struct pm_dev Remove the definition of 'struct pm_dev', which is not used any more, along with some related stuff from include/linux/pm.h . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d75f65fd247fe85d90a3880d143b1bb22fe13a48 Author: Adrian Bunk Date: Wed Jul 23 21:28:34 2008 -0700 remove include/linux/pm_legacy.h Remove the obsolete and no longer used include/linux/pm_legacy.h Reviewed-by: Robert P. J. Day Signed-off-by: Adrian Bunk Cc: Pavel Machek Acked-by: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77437fd4e61f87cc94d9314baa5cbf50e3ccdf54 Author: David Brownell Date: Wed Jul 23 21:28:33 2008 -0700 pm: boot time suspend selftest Boot-time test for system suspend states (STR or standby). The generic RTC framework triggers wakeup alarms, which are used to exit those states. - Measures some aspects of suspend time ... this uses "jiffies" until someone converts it to use a timebase that works properly even while timer IRQs are disabled. - Triggered by a command line parameter. By default nothing even vaguely troublesome will happen, but "test_suspend=mem" will give you a brief STR test during system boot. (Or you may need to use "test_suspend=standby" instead, if your hardware needs that.) This isn't without problems. It fires early enough during boot that for example both PCMCIA and MMC stacks have misbehaved. The workaround in those cases was to boot without such media cards inserted. [matthltc@us.ibm.com: fix compile failure in boot time suspend selftest] Signed-off-by: David Brownell Cc: Ingo Molnar Cc: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Matt Helsley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d63081d418c73cc187c893069e0f24c4c6eecd3 Author: Pavel Machek Date: Wed Jul 23 21:28:32 2008 -0700 swsusp: provide users with a hint about the no_console_suspend option Tell the user about the no_console_suspend option, so that we don't have to tell each bug reporter personally. [akpm@linux-foundation.org: clarify the text a little] Signed-off-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb9ba4e95921f71d874beee2d0964fc2322b47a2 Author: Adrian Bunk Date: Wed Jul 23 21:28:29 2008 -0700 alpha: remove the unused ALPHA_CORE_AGP option The real option is named AGP_ALPHA_CORE. Reviewed-by: Robert P. J. Day Signed-off-by: Adrian Bunk Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e53f12cc6c43b69f54937f15c5706d83f67c2fdd Author: Adrian Bunk Date: Wed Jul 23 21:28:28 2008 -0700 remove include/asm-h8300/keyboard.h This patch removes the unused include/asm-h8300/keyboard.h Signed-off-by: Adrian Bunk Acked-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f09c4c797d00bef5700e1ca085b4efcedaf34b8 Author: Tilman Schmidt Date: Wed Jul 23 21:28:27 2008 -0700 gigaset: gigaset_isowbuf_getbytes() may return signed unnoticed ifd->offset is unsigned. gigaset_isowbuf_getbytes() may return signed unnoticed. Revised version of patch originally submitted by Roel Kluin <12o3l@tiscali.nl>. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5002779d37b261271da9883e06c14b097d4781c4 Author: Tilman Schmidt Date: Wed Jul 23 21:28:27 2008 -0700 gigaset: use dev_ macros for messages The info() / warn() / err() macros from usb.h for generating kernel messages are considered inferior to dev_info() / dev_warn() / dev_err() from device.h. Replace them where possible. Also correct the severity level and improve the text of one message. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b3e43a747c74029b0acf6acf4666601f132f471 Author: Hugh Dickins Date: Wed Jul 23 21:28:26 2008 -0700 security: remove unused forwards Why would linux/security.h need forward declarations for nfsctl_arg and swap_info_struct? It's hard to imagine: remove them. Signed-off-by: Hugh Dickins Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84aaa7ab4c40b66d6dd9aa393901551ad50ec640 Author: Andrew G. Morgan Date: Wed Jul 23 21:28:25 2008 -0700 security: filesystem capabilities no longer experimental Filesystem capabilities have come of age. Remove the experimental tag for configuring filesystem capabilities. Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab763c7112ce0e2559c73f921617c81dc7287ca6 Author: Andrew G. Morgan Date: Wed Jul 23 21:28:25 2008 -0700 security: filesystem capabilities refactor kernel code To date, we've tried hard to confine filesystem support for capabilities to the security modules. This has left a lot of the code in kernel/capability.c in a state where it looks like it supports something that filesystem support for capabilities actually suppresses when the LSM security/commmoncap.c code runs. What is left is a lot of code that uses sub-optimal locking in the main kernel With this change we refactor the main kernel code and make it explicit which locks are needed and that the only remaining kernel races in this area are associated with non-filesystem capability code. Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5459c164f0591ee75ed0203bb8f3817f25948e2f Author: Andrew G. Morgan Date: Wed Jul 23 21:28:24 2008 -0700 security: protect legacy applications from executing with insufficient privilege When cap_bset suppresses some of the forced (fP) capabilities of a file, it is generally only safe to execute the program if it understands how to recognize it doesn't have enough privilege to work correctly. For legacy applications (fE!=0), which have no non-destructive way to determine that they are missing privilege, we fail to execute (EPERM) any executable that requires fP capabilities, but would otherwise get pP' < fP. This is a fail-safe permission check. For some discussion of why it is problematic for (legacy) privileged applications to run with less than the set of capabilities requested for them, see: http://userweb.kernel.org/~morgan/sendmail-capabilities-war-story.html With this iteration of this support, we do not include setuid-0 based privilege protection from the bounding set. That is, the admin can still (ab)use the bounding set to suppress the privileges of a setuid-0 program. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: cleanup] Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78ecba081224a2db5876b6b81cfed0b78f58adc7 Author: Hugh Dickins Date: Wed Jul 23 21:28:23 2008 -0700 mm: fix ever-decreasing swap priority Vegard Nossum has noticed the ever-decreasing negative priority in a swapon /swapoff loop, which eventually would misprioritize when int wraps positive. Not worth spending much code on, but probably better fixed. It's easy to handle the swapping on and off of just one area, but there's not much point if a pair or more still misbehave. To handle the general case, swapoff should compact negative priorities, keeping them always from -1 to -MAX_SWAPFILES. That's a change, but should cause no regression, since these negative (unspecified) priorities are disjoint from the the positive specified priorities 0 to 32767. One small functional difference, which seems appropriate: when swapoff fails to free all swap from a negative priority area, that area is now reinserted at lowest priority, rather than at its original priority. In moving down swapon's setting of priority, I notice that an area is visible to /proc/swaps when it has swap_map set, yet that was being set before all the visible fields were properly filled in: corrected. Signed-off-by: Hugh Dickins Reviewed-by: KOSAKI Motohiro Reported-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83d1674a946141c3c59d430e96c224f7937e6158 Author: Gerald Schaefer Date: Wed Jul 23 21:28:22 2008 -0700 mm: make CONFIG_MIGRATION available w/o CONFIG_NUMA We'd like to support CONFIG_MEMORY_HOTREMOVE on s390, which depends on CONFIG_MIGRATION. So far, CONFIG_MIGRATION is only available with NUMA support. This patch makes CONFIG_MIGRATION selectable for architectures that define ARCH_ENABLE_MEMORY_HOTREMOVE. When MIGRATION is enabled w/o NUMA, the kernel won't compile because migrate_vmas() does not know about vm_ops->migrate() and vma_migratable() does not know about policy_zone. To fix this, those two functions can be restricted to '#ifdef CONFIG_NUMA' because they are not being used w/o NUMA. vma_migratable() is moved over from migrate.h to mempolicy.h. [kosaki.motohiro@jp.fujitsu.com: build fix] Acked-by: Christoph Lameter Signed-off-by: Gerald Schaefer Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: KOSAKI Motorhiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ca908f47bc784c90e17a553ce33e756c73feac4 Author: Milton Miller Date: Wed Jul 23 21:28:20 2008 -0700 kcalloc: remove runtime division While in all cases in the kernel we know the size of the elements to be created, we don't always know the count of elements. By commuting the size and count in the overflow check, the compiler can reduce the runtime division of size_t with a compare to a (unique) constant in these cases. Signed-off-by: Milton Miller Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c755e9fd813810680abd56ec09a5f90143e815b Author: Badari Pulavarty Date: Wed Jul 23 21:28:19 2008 -0700 memory-hotplug: add sysfs removable attribute for hotplug memory remove Memory may be hot-removed on a per-memory-block basis, particularly on POWER where the SPARSEMEM section size often matches the memory-block size. A user-level agent must be able to identify which sections of memory are likely to be removable before attempting the potentially expensive operation. This patch adds a file called "removable" to the memory directory in sysfs to help such an agent. In this patch, a memory block is considered removable if; o It contains only MOVABLE pageblocks o It contains only pageblocks with free pages regardless of pageblock type On the other hand, a memory block starting with a PageReserved() page will never be considered removable. Without this patch, the user-agent is forced to choose a memory block to remove randomly. Sample output of the sysfs files: ./memory/memory0/removable: 0 ./memory/memory1/removable: 0 ./memory/memory2/removable: 0 ./memory/memory3/removable: 0 ./memory/memory4/removable: 0 ./memory/memory5/removable: 0 ./memory/memory6/removable: 0 ./memory/memory7/removable: 1 ./memory/memory8/removable: 0 ./memory/memory9/removable: 0 ./memory/memory10/removable: 0 ./memory/memory11/removable: 0 ./memory/memory12/removable: 0 ./memory/memory13/removable: 0 ./memory/memory14/removable: 0 ./memory/memory15/removable: 0 ./memory/memory16/removable: 0 ./memory/memory17/removable: 1 ./memory/memory18/removable: 1 ./memory/memory19/removable: 1 ./memory/memory20/removable: 1 ./memory/memory21/removable: 1 ./memory/memory22/removable: 1 Signed-off-by: Badari Pulavarty Signed-off-by: Mel Gorman Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f7f24eca31c4fc2fdb134b2ef743ccd67cfb9a9 Author: Kent Liu Date: Wed Jul 23 21:28:18 2008 -0700 memory-hotplug: don't calculate vm_total_pages twice when rebuilding zonelists in online_pages() If zonelist is required to be rebuilt in online_pages(), there is no need to recalculate vm_total_pages in that function, as it has been updated in the call build_all_zonelists(). Signed-off-by: Kent Liu Acked-by: KAMEZAWA Hiroyuki Cc: Yasunori Goto Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af370fb8cb3031f20438f246798d5f0d98089f29 Author: Yasunori Goto Date: Wed Jul 23 21:28:17 2008 -0700 memory hotplug: small fixes to bootmem freeing for memory hotremove - Change some naming * Magic -> types * MIX_INFO -> MIX_SECTION_INFO * Change definition of bootmem type from direct hex value - __free_pages_bootmem() becomes __meminit. Signed-off-by: Yasunori Goto Cc: Andy Whitcroft Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48c906823f3927b981db9f0b03c2e2499977ee93 Author: Yasunori Goto Date: Wed Jul 23 21:28:15 2008 -0700 memory hotplug: allocate usemap on the section with pgdat Usemaps are allocated on the section which has pgdat by this. Because usemap size is very small, many other sections usemaps are allocated on only one page. If a section has usemap, it can't be removed until removing other sections. This dependency is not desirable for memory removing. Pgdat has similar feature. When a section has pgdat area, it must be the last section for removing on the node. So, if section A has pgdat and section B has usemap for section A, Both sections can't be removed due to dependency each other. To solve this issue, this patch collects usemap on same section with pgdat as much as possible. If other sections doesn't have any dependency, this section will be able to be removed finally. Signed-off-by: Yasunori Goto Cc: Mel Gorman Cc: Andy Whitcroft Cc: David Miller Cc: Badari Pulavarty Cc: Heiko Carstens Cc: Hiroyuki KAMEZAWA Cc: Tony Breeds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f84f9504bddeec33a72d64ebe95143d3aaeb3f9b Author: Vegard Nossum Date: Wed Jul 23 21:28:14 2008 -0700 mm: remove initialization of static per-cpu variables This was required by some old, no-longer-used gcc on sparc. Signed-off-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27ac792ca0b0a1e7e65f20342260650516c95864 Author: Andrea Righi Date: Wed Jul 23 21:28:13 2008 -0700 PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures On 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit boundary. For example: u64 val = PAGE_ALIGN(size); always returns a value < 4GB even if size is greater than 4GB. The problem resides in PAGE_MASK definition (from include/asm-x86/page.h for example): #define PAGE_SHIFT 12 #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) ... #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) The "~" is performed on a 32-bit value, so everything in "and" with PAGE_MASK greater than 4GB will be truncated to the 32-bit boundary. Using the ALIGN() macro seems to be the right way, because it uses typeof(addr) for the mask. Also move the PAGE_ALIGN() definitions out of include/asm-*/page.h in include/linux/mm.h. See also lkml discussion: http://lkml.org/lkml/2008/6/11/237 [akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c] [akpm@linux-foundation.org: fix v850] [akpm@linux-foundation.org: fix powerpc] [akpm@linux-foundation.org: fix arm] [akpm@linux-foundation.org: fix mips] [akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c] [akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c] [akpm@linux-foundation.org: fix powerpc] Signed-off-by: Andrea Righi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d92bc318547507a944a22e7ef936793dc0fe167f Author: Adrian Bunk Date: Wed Jul 23 21:28:12 2008 -0700 mm: make register_page_bootmem_info_section() static Make the needlessly global register_page_bootmem_info_section() static. Signed-off-by: Adrian Bunk Acked-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b69a7288ea7bf171328f313f0edae629f50e3bdb Author: Adrian Bunk Date: Wed Jul 23 21:28:12 2008 -0700 mm/page_alloc.c: cleanups This patch contains the following cleanups: - make the following needlessly global variables static: - required_kernelcore - zone_movable_pfn[] - make the following needlessly global functions static: - move_freepages() - move_freepages_block() - setup_pageset() - find_usable_zone_for_movable() - adjust_zone_range_for_zone_movable() - __absent_pages_in_range() - find_min_pfn_for_node() - find_zone_movable_pfns_for_nodes() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2be0ffe2b29bd31d3debd0877797892ff2d91f4c Author: Timur Tabi Date: Wed Jul 23 21:28:11 2008 -0700 mm: add alloc_pages_exact() and free_pages_exact() alloc_pages_exact() is similar to alloc_pages(), except that it allocates the minimum number of pages to fulfill the request. This is useful if you want to allocate a very large buffer that is slightly larger than an even power-of-two number of pages. In that case, alloc_pages() will waste a lot of memory. I have a video driver that wants to allocate a 5MB buffer. alloc_pages() wiill waste 3MB of physically-contiguous memory. Signed-off-by: Timur Tabi Cc: Andi Kleen Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3560e249abda6bee41a07a7bf0383a6e193e2839 Author: Johannes Weiner Date: Wed Jul 23 21:28:09 2008 -0700 bootmem: replace node_boot_start in struct bootmem_data Almost all users of this field need a PFN instead of a physical address, so replace node_boot_start with node_min_pfn. [Lee.Schermerhorn@hp.com: fix spurious BUG_ON() in mark_bootmem()] Signed-off-by: Johannes Weiner Cc: Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75a56cfe9fdb064d1db1cfbc564315fddb756fb1 Author: Johannes Weiner Date: Wed Jul 23 21:28:09 2008 -0700 bootmem: revisit alloc_bootmem_section Since alloc_bootmem_core does no goal-fallback anymore and just returns NULL if the allocation fails, we might now use it in alloc_bootmem_section without all the fixup code for a misplaced allocation. Also, the limit can be the first PFN of the next section as the semantics is that the limit is _above_ the allocated region, not within. Signed-off-by: Johannes Weiner Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cc278b721d5bf3569dfc5f1100253042e097bc3 Author: Johannes Weiner Date: Wed Jul 23 21:28:08 2008 -0700 bootmem: Make __alloc_bootmem_low_node fall back to other nodes __alloc_bootmem_node already does this, make the interface consistent. Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f3caba211babef6e3fbde1ba76ddc79321bc92f Author: Johannes Weiner Date: Wed Jul 23 21:28:07 2008 -0700 bootmem: respect goal more likely The old node-agnostic code tried allocating on all nodes starting from the one with the lowest range. alloc_bootmem_core retried without the goal if it could not satisfy it and so the goal was only respected at all when it happened to be on the first (lowest page numbers) node (or theoretically if allocations failed on all nodes before to the one holding the goal). Introduce a non-panicking helper that starts allocating from the node holding the goal and falls back only after all thes tries failed, thus moving the goal fallback code out of alloc_bootmem_core. Make all other allocation functions benefit from this new helper. Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Andi Kleen Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2bf3cae515090fefe28329e71230dfe7ab873b1 Author: Johannes Weiner Date: Wed Jul 23 21:28:06 2008 -0700 bootmem: factor out the marking of a PFN range Introduce new helpers that mark a range that resides completely on a node or node-agnostic ranges that might also span node boundaries. The free/reserve API functions will then directly use these helpers. Note that the free/reserve semantics become more strict: while the prior code took basically arbitrary range arguments and marked the PFNs that happen to fall into that range, the new code requires node-specific ranges to be completely on the node. The node-agnostic requests might span node boundaries as long as the nodes are contiguous. Passing ranges that do not satisfy these criteria is a bug. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d747fa4bcebcf3696607b86a6b0dafa644be0676 Author: Johannes Weiner Date: Wed Jul 23 21:28:05 2008 -0700 bootmem: free/reserve helpers Factor out the common operation of marking a range on the bitmap. [akpm@linux-foundation.org: fix various warnings] Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f2809e69c7128f86316048221cf45146f69a4a0 Author: Johannes Weiner Date: Wed Jul 23 21:28:05 2008 -0700 bootmem: clean up alloc_bootmem_core alloc_bootmem_core has become quite nasty to read over time. This is a clean rewrite that keeps the semantics. bdata->last_pos has been dropped. bdata->last_success has been renamed to hint_idx and it is now an index relative to the node's range. Since further block searching might start at this index, it is now set to the end of a succeeded allocation rather than its beginning. bdata->last_offset has been renamed to last_end_off to be more clear that it represents the ending address of the last allocation relative to the node. [y-goto@jp.fujitsu.com: fix new alloc_bootmem_core()] Signed-off-by: Johannes Weiner Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41546c17418fba08ece978bad72a33072715b8f3 Author: Johannes Weiner Date: Wed Jul 23 21:28:03 2008 -0700 bootmem: clean up free_all_bootmem_core Rewrite the code in a more concise way using less variables. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 636cc40cb79f511d9caa27ef098a83e4fa4971fb Author: Johannes Weiner Date: Wed Jul 23 21:28:03 2008 -0700 bootmem: revisit bootmem descriptor list handling link_bootmem handles an insertion of a new descriptor into the sorted list in more or less three explicit branches; empty list, insert in between and append. These cases can be expressed implicite. Also mark the sorted list as initdata as it can be thrown away after boot as well. Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df049a5f41a3b2eee2131221959e3b558ba7c705 Author: Johannes Weiner Date: Wed Jul 23 21:28:02 2008 -0700 bootmem: revisit bitmap size calculations Reincarnate get_mapsize as bootmap_bytes and implement bootmem_bootmap_pages on top of it. Adjust users of these helpers and make free_all_bootmem_core use bootmem_bootmap_pages instead of open-coding it. Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e5237daf0cc3c8d87762f53f704dc54fa91dcf6 Author: Johannes Weiner Date: Wed Jul 23 21:28:02 2008 -0700 bootmem: add debugging framework Introduce the bootmem_debug kernel parameter that enables very verbose diagnostics regarding all range operations of bootmem as well as the initialization and release of nodes. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a66fd7daec1f40c1f0eac466f0da9206b615fe2a Author: Johannes Weiner Date: Wed Jul 23 21:28:01 2008 -0700 bootmem: add documentation to API functions Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57cfc29efac6670355ee0e107c8dbae8237d406b Author: Johannes Weiner Date: Wed Jul 23 21:28:00 2008 -0700 bootmem: clean up bootmem.c file header Change the description, move a misplaced comment about the allocator itself and add me to the list of copyright holders. Signed-off-by: Johannes Weiner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 223e8dc9249c9e15f6c8b638d73fcad78ccb0a88 Author: Johannes Weiner Date: Wed Jul 23 21:28:00 2008 -0700 bootmem: reorder code to match new bootmem structure This only reorders functions so that further patches will be easier to read. No code changed. Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7251ff78b94c2a68d267623d09b32672b20662c1 Author: Adam Litke Date: Wed Jul 23 21:27:59 2008 -0700 hugetlb: quota is not freed for unused reserved private huge pages With shared reservations (and now also with private reservations), we reserve huge pages at mmap time. We also account for the mapping against fs quota to prevent a reservation from being preempted by quota exhaustion. When testing with the libhugetlbfs test suite, I found a problem with quota accounting. FS quota for allocated pages is handled correctly but we are not releasing quota for private pages that were reserved but never allocated. Do this in hugetlb_vm_op_close() at the same time as unused page reservations are released. Signed-off-by: Adam Litke Cc: Mel Gorman Cc: Johannes Weiner Cc: William Lee Irwin III Cc: Hugh Dickins Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f09ca51e925ba62e9ebfd4979f093e97e38adeb Author: Mel Gorman Date: Wed Jul 23 21:27:58 2008 -0700 hugetlb: fix a hugepage reservation check for MAP_SHARED When removing a huge page from the hugepage pool for a fault the system checks to see if the mapping requires additional pages to be reserved, and if it does whether there are any unreserved pages remaining. If not, the allocation fails without even attempting to get a page. In order to determine whether to apply this check we call vma_has_private_reserves() which tells us if this vma is MAP_PRIVATE and is the owner. This incorrectly triggers the remaining reservation test for MAP_SHARED mappings which prevents allocation of the final page in the pool even though it is reserved for this mapping. In reality we only want to check this for MAP_PRIVATE mappings where the process is not the original mapper. Replace vma_has_private_reserves() with vma_has_reserves() which indicates whether further reserves are required, and update the caller. Signed-off-by: Mel Gorman Acked-by: Adam Litke Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d9ea75443dc7e37843e656b8ebc947a6d16d618 Author: Jon Tollefson Date: Wed Jul 23 21:27:56 2008 -0700 powerpc: support multiple hugepage sizes Instead of using the variable mmu_huge_psize to keep track of the huge page size we use an array of MMU_PAGE_* values. For each supported huge page size we need to know the hugepte_shift value and have a pgtable_cache. The hstate or an mmu_huge_psizes index is passed to functions so that they know which huge page size they should use. The hugepage sizes 16M and 64K are setup(if available on the hardware) so that they don't have to be set on the boot cmd line in order to use them. The number of 16G pages have to be specified at boot-time though (e.g. hugepagesz=16G hugepages=5). Signed-off-by: Jon Tollefson Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4a67cceee4a6f5ed38011a698c9e34747270ae5 Author: Jon Tollefson Date: Wed Jul 23 21:27:55 2008 -0700 fs: check for statfs overflow Adds a check for an overflow in the filesystem size so if someone is checking with statfs() on a 16G blocksize hugetlbfs in a 32bit binary that it will report back EOVERFLOW instead of a size of 0. Acked-by: Nishanth Aravamudan Signed-off-by: Jon Tollefson Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91224346aa8c1cdaa660300a98e0b074a3a95030 Author: Jon Tollefson Date: Wed Jul 23 21:27:55 2008 -0700 powerpc: define support for 16G hugepages The huge page size is defined for 16G pages. If a hugepagesz of 16G is specified at boot-time then it becomes the huge page size instead of the default 16M. The change in pgtable-64K.h is to the macro pte_iterate_hashed_subpages to make the increment to va (the 1 being shifted) be a long so that it is not shifted to 0. Otherwise it would create an infinite loop when the shift value is for a 16G page (when base page size is 64K). Signed-off-by: Jon Tollefson Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 658013e93eb70494f7300bc90457b09a807232a4 Author: Jon Tollefson Date: Wed Jul 23 21:27:54 2008 -0700 powerpc: scan device tree for gigantic pages The 16G huge pages have to be reserved in the HMC prior to boot. The location of the pages are placed in the device tree. This patch adds code to scan the device tree during very early boot and save these page locations until hugetlbfs is ready for them. Acked-by: Adam Litke Signed-off-by: Jon Tollefson Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec4b2c0c8312d1118c2acd00c89988ecf955d5cc Author: Jon Tollefson Date: Wed Jul 23 21:27:53 2008 -0700 powerpc: function to allocate gigantic hugepages The 16G page locations have been saved during early boot in an array. The alloc_bootmem_huge_page() function adds a page from here to the huge_boot_pages list. Acked-by: Adam Litke Signed-off-by: Jon Tollefson Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53ba51d21d6e048424ab8aadfebdb1f25ae07b60 Author: Jon Tollefson Date: Wed Jul 23 21:27:52 2008 -0700 hugetlb: allow arch overridden hugepage allocation Allow alloc_bootmem_huge_page() to be overridden by architectures that can't always use bootmem. This requires huge_boot_pages to be available for use by this function. This is required for powerpc 16G pages, which have to be reserved prior to boot-time. The location of these pages are indicated in the device tree. Acked-by: Adam Litke Signed-off-by: Jon Tollefson Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e11bfbfcb08ef4223b863799897c19cdf7c5bc00 Author: Nick Piggin Date: Wed Jul 23 21:27:52 2008 -0700 hugetlb: override default huge page size Allow configurations with the default huge page size which is different to the traditional HPAGE_SIZE size. The default huge page size is the one represented in the legacy /proc ABIs, SHM, and which is defaulted to when mounting hugetlbfs filesystems. This is implemented with a new kernel option default_hugepagesz=, which defaults to HPAGE_SIZE if not specified. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4718e628dbf68a2dee23b5709e2aa3190409c56 Author: Andi Kleen Date: Wed Jul 23 21:27:51 2008 -0700 x86: add hugepagesz option on 64-bit Add an hugepagesz=... option similar to IA64, PPC etc. to x86-64. This finally allows to select GB pages for hugetlbfs in x86 now that all the infrastructure is in place. Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39c11e6c05b7fedbf7ed4df3908b25f622d56204 Author: Andi Kleen Date: Wed Jul 23 21:27:50 2008 -0700 x86: support GB hugepages on 64-bit Acked-by: Adam Litke Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ceb868796181dc95ea01a110e123afd391639873 Author: Andi Kleen Date: Wed Jul 23 21:27:50 2008 -0700 hugetlb: introduce pud_huge Straight forward extensions for huge pages located in the PUD instead of PMDs. Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4abd32dbab201c3ced0b0af12accea77cd9eeffc Author: Andi Kleen Date: Wed Jul 23 21:27:49 2008 -0700 hugetlb: printk cleanup - Reword sentence to clarify meaning with multiple options - Add support for using GB prefixes for the page size - Add extra printk to delayed > MAX_ORDER allocation code Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8faa8b077b2cdc4e4646842fe50b07840955a013 Author: Andi Kleen Date: Wed Jul 23 21:27:48 2008 -0700 hugetlb: support boot allocate different sizes Make some infrastructure changes to allow boot-time allocation of different hugepage page sizes. - move all basic hstate initialisation into hugetlb_add_hstate - create a new function hugetlb_hstate_alloc_pages() to do the actual initial page allocations. Call this function early in order to allocate giant pages from bootmem. - Check for multiple hugepages= parameters Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Acked-by: Andrew Hastings Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa888a74977a8f2120ae9332376e179c39a6b07d Author: Andi Kleen Date: Wed Jul 23 21:27:47 2008 -0700 hugetlb: support larger than MAX_ORDER This is needed on x86-64 to handle GB pages in hugetlbfs, because it is not practical to enlarge MAX_ORDER to 1GB. Instead the 1GB pages are only allocated at boot using the bootmem allocator using the hugepages=... option. These 1G bootmem pages are never freed. In theory it would be possible to implement that with some complications, but since it would be a one-way street (>= MAX_ORDER pages cannot be allocated later) I decided not to currently. The >= MAX_ORDER code is not ifdef'ed per architecture. It is not very big and the ifdef uglyness seemed not be worth it. Known problems: /proc/meminfo and "free" do not display the memory allocated for gb pages in "Total". This is a little confusing for the user. Acked-by: Andrew Hastings Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01ad1c0827db5b3695c53e296dbb2c1da16a0911 Author: Andi Kleen Date: Wed Jul 23 21:27:46 2008 -0700 mm: export prep_compound_page to mm hugetlb will need to get compound pages from bootmem to handle the case of them being greater than or equal to MAX_ORDER. Export the constructor function needed for this. Acked-by: Adam Litke Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b54bbf7b81170f03597c17dd0b559e3006bc9868 Author: Andi Kleen Date: Wed Jul 23 21:27:45 2008 -0700 mm: introduce non panic alloc_bootmem Straight forward variant of the existing __alloc_bootmem_node, only subsequent patch when allocating giant hugepages at boot -- don't want to panic if we can't allocate as many as the user asked for. Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ced66c901f1cf0b684feb15c2cd8b126e263d07 Author: Andi Kleen Date: Wed Jul 23 21:27:45 2008 -0700 hugetlb: abstract numa round robin selection Need this as a separate function for a future patch. No behaviour change. Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3437870160cf2caaac6bdd76c7377a5a4145a8c Author: Nishanth Aravamudan Date: Wed Jul 23 21:27:44 2008 -0700 hugetlb: new sysfs interface Provide new hugepages user APIs that are more suited to multiple hstates in sysfs. There is a new directory, /sys/kernel/hugepages. Underneath that directory there will be a directory per-supported hugepage size, e.g.: /sys/kernel/hugepages/hugepages-64kB /sys/kernel/hugepages/hugepages-16384kB /sys/kernel/hugepages/hugepages-16777216kB corresponding to 64k, 16m and 16g respectively. Within each hugepages-size directory there are a number of files, corresponding to the tracked counters in the hstate, e.g.: /sys/kernel/hugepages/hugepages-64/nr_hugepages /sys/kernel/hugepages/hugepages-64/nr_overcommit_hugepages /sys/kernel/hugepages/hugepages-64/free_hugepages /sys/kernel/hugepages/hugepages-64/resv_hugepages /sys/kernel/hugepages/hugepages-64/surplus_hugepages Of these files, the first two are read-write and the latter three are read-only. The size of the hugepage being manipulated is trivially deducible from the enclosing directory and is always expressed in kB (to match meminfo). [dave@linux.vnet.ibm.com: fix build] [nacc@us.ibm.com: hugetlb: hang off of /sys/kernel/mm rather than /sys/kernel] [nacc@us.ibm.com: hugetlb: remove CONFIG_SYSFS dependency] Acked-by: Greg Kroah-Hartman Signed-off-by: Nishanth Aravamudan Signed-off-by: Nick Piggin Cc: Dave Hansen Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a137e1cc6d6e7d315fef03962a2a5a113348b13b Author: Andi Kleen Date: Wed Jul 23 21:27:43 2008 -0700 hugetlbfs: per mount huge page sizes Add the ability to configure the hugetlb hstate used on a per mount basis. - Add a new pagesize= option to the hugetlbfs mount that allows setting the page size - This option causes the mount code to find the hstate corresponding to the specified size, and sets up a pointer to the hstate in the mount's superblock. - Change the hstate accessors to use this information rather than the global_hstate they were using (requires a slight change in mm/memory.c so we don't NULL deref in the error-unmap path -- see comments). [np: take hstate out of hugetlbfs inode and vma->vm_private_data] Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5ff215941d59f8ae6bf58f6428dc5c26745a612 Author: Andi Kleen Date: Wed Jul 23 21:27:42 2008 -0700 hugetlb: multiple hstates for multiple page sizes Add basic support for more than one hstate in hugetlbfs. This is the key to supporting multiple hugetlbfs page sizes at once. - Rather than a single hstate, we now have an array, with an iterator - default_hstate continues to be the struct hstate which we use by default - Add functions for architectures to register new hstates [akpm@linux-foundation.org: coding-style fixes] Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5516438959d90b071ff0a484ce4f3f523dc3152 Author: Andi Kleen Date: Wed Jul 23 21:27:41 2008 -0700 hugetlb: modular state for hugetlb page size The goal of this patchset is to support multiple hugetlb page sizes. This is achieved by introducing a new struct hstate structure, which encapsulates the important hugetlb state and constants (eg. huge page size, number of huge pages currently allocated, etc). The hstate structure is then passed around the code which requires these fields, they will do the right thing regardless of the exact hstate they are operating on. This patch adds the hstate structure, with a single global instance of it (default_hstate), and does the basic work of converting hugetlb to use the hstate. Future patches will add more hstate structures to allow for different hugetlbfs mounts to have different page sizes. [akpm@linux-foundation.org: coding-style fixes] Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7ba30c679ed1eb7ed3ed8f281f6493282042bd4 Author: Andi Kleen Date: Wed Jul 23 21:27:40 2008 -0700 hugetlb: factor out prep_new_huge_page Needed to avoid code duplication in follow up patches. Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff7ea79cf7c3a481851bd4b2185fdeb6ce4afa29 Author: Nishanth Aravamudan Date: Wed Jul 23 21:27:39 2008 -0700 mm: create /sys/kernel/mm Add a kobject to create /sys/kernel/mm when sysfs is mounted. The kobject will exist regardless. This will allow for the hugepage related sysfs directories to exist under the mm "subsystem" directory. Add an ABI file appropriately. [kosaki.motohiro@jp.fujitsu.com: fix build] Signed-off-by: Nishanth Aravamudan Cc: Nick Piggin Cc: Mel Gorman Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e9426abe209cf134adbbd62c5e73ef534eb73e9 Author: Nishanth Aravamudan Date: Wed Jul 23 21:27:39 2008 -0700 mm: remove mm_init compilation dependency on CONFIG_DEBUG_MEMORY_INIT Towards the end of putting all core mm initialization in mm_init.c, I plan on putting the creation of a mm kobject in a function in that file. However, the file is currently only compiled if CONFIG_DEBUG_MEMORY_INIT is set. Remove this dependency, but put the code under an #ifdef on the same config option. This should result in no functional changes. Signed-off-by: Nishanth Aravamudan Cc: Nick Piggin Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a47a126ad5ea072aca3e611ed8f8dc6adad24bab Author: Eric Dumazet Date: Wed Jul 23 21:27:38 2008 -0700 vmallocinfo: add NUMA information Christoph recently added /proc/vmallocinfo file to get information about vmalloc allocations. This patch adds NUMA specific information, giving number of pages allocated on each memory node. This should help to check that vmalloc() is able to respect NUMA policies. Example of output on a four nodes machine (one cpu per node) 1) network hash tables are evenly spreaded on four nodes (OK) (Same point for inodes and dentries hash tables) 2) iptables tables (x_tables) are correctly allocated on each cpu node (OK). 3) sys_swapon() allocates its memory from one node only. 4) each loaded module is using memory on one node. Sysadmins could tune their setup to change points 3) and 4) if necessary. grep "pages=" /proc/vmallocinfo 0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204/0x2c0 pages=512 vmalloc N0=128 N1=128 N2=128 N3=128 0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204/0x2c0 pages=256 vmalloc N0=64 N1=64 N2=64 N3=64 0xffffc2000031a000-0xffffc2000031d000 12288 alloc_large_system_hash+0x204/0x2c0 pages=2 vmalloc N1=1 N2=1 0xffffc2000031f000-0xffffc2000032b000 49152 cramfs_uncompress_init+0x2e/0x80 pages=11 vmalloc N0=3 N1=3 N2=2 N3=3 0xffffc2000033e000-0xffffc20000341000 12288 sys_swapon+0x640/0xac0 pages=2 vmalloc N0=2 0xffffc20000341000-0xffffc20000344000 12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N0=2 0xffffc20000344000-0xffffc20000347000 12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N1=2 0xffffc20000347000-0xffffc2000034a000 12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N2=2 0xffffc2000034a000-0xffffc2000034d000 12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N3=2 0xffffc20004381000-0xffffc20004402000 528384 alloc_large_system_hash+0x204/0x2c0 pages=128 vmalloc N0=32 N1=32 N2=32 N3=32 0xffffc20004402000-0xffffc20004803000 4198400 alloc_large_system_hash+0x204/0x2c0 pages=1024 vmalloc vpages N0=256 N1=256 N2=256 N3=256 0xffffc20004803000-0xffffc20004904000 1052672 alloc_large_system_hash+0x204/0x2c0 pages=256 vmalloc N0=64 N1=64 N2=64 N3=64 0xffffc20004904000-0xffffc20004bec000 3047424 sys_swapon+0x640/0xac0 pages=743 vmalloc vpages N0=743 0xffffffffa0000000-0xffffffffa000f000 61440 sys_init_module+0xc27/0x1d00 pages=14 vmalloc N1=14 0xffffffffa000f000-0xffffffffa0014000 20480 sys_init_module+0xc27/0x1d00 pages=4 vmalloc N0=4 0xffffffffa0014000-0xffffffffa0017000 12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N0=2 0xffffffffa0017000-0xffffffffa0022000 45056 sys_init_module+0xc27/0x1d00 pages=10 vmalloc N1=10 0xffffffffa0022000-0xffffffffa0028000 24576 sys_init_module+0xc27/0x1d00 pages=5 vmalloc N3=5 0xffffffffa0028000-0xffffffffa0050000 163840 sys_init_module+0xc27/0x1d00 pages=39 vmalloc N1=39 0xffffffffa0050000-0xffffffffa0052000 8192 sys_init_module+0xc27/0x1d00 pages=1 vmalloc N1=1 0xffffffffa0052000-0xffffffffa0056000 16384 sys_init_module+0xc27/0x1d00 pages=3 vmalloc N1=3 0xffffffffa0056000-0xffffffffa0081000 176128 sys_init_module+0xc27/0x1d00 pages=42 vmalloc N3=42 0xffffffffa0081000-0xffffffffa00ae000 184320 sys_init_module+0xc27/0x1d00 pages=44 vmalloc N3=44 0xffffffffa00ae000-0xffffffffa00b1000 12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N3=2 0xffffffffa00b1000-0xffffffffa00b9000 32768 sys_init_module+0xc27/0x1d00 pages=7 vmalloc N0=7 0xffffffffa00b9000-0xffffffffa00c4000 45056 sys_init_module+0xc27/0x1d00 pages=10 vmalloc N3=10 0xffffffffa00c6000-0xffffffffa00e0000 106496 sys_init_module+0xc27/0x1d00 pages=25 vmalloc N2=25 0xffffffffa00e0000-0xffffffffa00f1000 69632 sys_init_module+0xc27/0x1d00 pages=16 vmalloc N2=16 0xffffffffa00f1000-0xffffffffa00f4000 12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N3=2 0xffffffffa00f4000-0xffffffffa00f7000 12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N3=2 [akpm@linux-foundation.org: fix comment] Signed-off-by: Eric Dumazet Cc: Christoph Lameter Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cce770815869e9209171d819dfde89bcc738ab62 Author: Pavel Machek Date: Wed Jul 23 21:27:36 2008 -0700 SYNC_FILE_RANGE_WRITE may and will block. Document that. [akpm@linux-foundation.org: fix comment text] Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcd78e49613c41b5bed96fa288e983876f286a59 Author: Hugh Dickins Date: Wed Jul 23 21:27:35 2008 -0700 tmpfs: support aio We have a request for tmpfs to support the AIO interface: easily done, no more than replacing the old shmem_file_read by shmem_file_aio_read, cribbed from generic_file_aio_read. (In 2.6.25 its write side was already changed to use generic_file_aio_write.) Incorporate cleanups from Andrew Morton and Harvey Harrison. Tests out fine with LTP's ltp-aiodio.sh, given hacks (not included) to support O_DIRECT. tmpfs cannot honestly support O_DIRECT: its cache-avoiding-IO nature is at odds with direct IO-avoiding-cache. Signed-off-by: Hugh Dickins Tested-by: Lawrence Greenfield Cc: Christoph Rohland Cc: Badari Pulavarty Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11fa977ecde652ab324dd79c179deb52e82a8df1 Author: Hugh Dickins Date: Wed Jul 23 21:27:34 2008 -0700 generic_file_aio_read() cleanups As akpm points out, there's really no need for generic_file_aio_read to make a special case of count 0: just loop through nr_segs doing nothing. And as Harvey Harrison points out, there's no need to reset retval to 0 where it's already 0. Setting count (or ocount) to 0 before calling generic_segment_checks is unnecessary too; but reluctantly I'll leave that removal to someone with a wider range of gcc versions to hand - 4.1.2 and 4.2.1 don't warn about it, but perhaps others do - I forget which are the warniest versions. Signed-off-by: Hugh Dickins Tested-by: Lawrence Greenfield Cc: Christoph Rohland Cc: Badari Pulavarty Cc: Zach Brown Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a858f7b2e9bb4eb665176dde5cf32eeaaf90f153 Author: Johannes Weiner Date: Wed Jul 23 21:27:33 2008 -0700 vma_page_offset() has no callees: drop it Hugh adds: vma_pagecache_offset() has a dangerously misleading name, since it's using hugepage units: rename it to vma_hugecache_offset(). [apw@shadowen.org: restack onto fixed MAP_PRIVATE reservations] [akpm@linux-foundation.org: vma_split conversion] Signed-off-by: Johannes Weiner Signed-off-by: Hugh Dickins Cc: Adam Litke Cc: Nishanth Aravamudan Cc: Andi Kleen Cc: Nick Piggin Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84afd99b8398c9d73af8238aa3cd835858e3097a Author: Andy Whitcroft Date: Wed Jul 23 21:27:32 2008 -0700 hugetlb reservations: fix hugetlb MAP_PRIVATE reservations across vma splits When a hugetlb mapping with a reservation is split, a new VMA is cloned from the original. This new VMA is a direct copy of the original including the reservation count. When this pair of VMAs are unmapped we will incorrect double account the unused reservation and the overall reservation count will be incorrect, in extreme cases it will wrap. The problem occurs when we split an existing VMA say to unmap a page in the middle. split_vma() will create a new VMA copying all fields from the original. As we are storing our reservation count in vm_private_data this is also copies, endowing the new VMA with a duplicate of the original VMA's reservation. Neither of the new VMAs can exhaust these reservations as they are too small, but when we unmap and close these VMAs we will incorrect credit the remainder twice and resv_huge_pages will become out of sync. This can lead to allocation failures on mappings with reservations and even to resv_huge_pages wrapping which prevents all subsequent hugepage allocations. The simple fix would be to correctly apportion the remaining reservation count when the split is made. However the only hook we have vm_ops->open only has the new VMA we do not know the identity of the preceeding VMA. Also even if we did have that VMA to hand we do not know how much of the reservation was consumed each side of the split. This patch therefore takes a different tack. We know that the whole of any private mapping (which has a reservation) has a reservation over its whole size. Any present pages represent consumed reservation. Therefore if we track the instantiated pages we can calculate the remaining reservation. This patch reuses the existing regions code to track the regions for which we have consumed reservation (ie. the instantiated pages), as each page is faulted in we record the consumption of reservation for the new page. When we need to return unused reservations at unmap time we simply count the consumed reservation region subtracting that from the whole of the map. During a VMA split the newly opened VMA will point to the same region map, as this map is offset oriented it remains valid for both of the split VMAs. This map is referenced counted so that it is removed when all VMAs which are part of the mmap are gone. Thanks to Adam Litke and Mel Gorman for their review feedback. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: Adam Litke Cc: Johannes Weiner Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Michael Kerrisk Cc: Jon Tollefson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c37f9fb11c976ffc08200d631dada6dcbfd07ea4 Author: Andy Whitcroft Date: Wed Jul 23 21:27:30 2008 -0700 hugetlb: allow huge page mappings to be created without reservations By default all shared mappings and most private mappings now have reservations associated with them. This improves semantics by providing allocation guarentees to the mapper. However a small number of applications may attempt to make very large sparse mappings, with these strict reservations the system will never be able to honour the mapping. This patch set brings MAP_NORESERVE support to hugetlb files. This allows new mappings to be made to hugetlbfs files without an associated reservation, for both shared and private mappings. This allows applications which want to create very sparse mappings to opt-out of the reservation system. Obviously as there is no reservation they are liable to fault at runtime if the huge page pool becomes exhausted; buyer beware. Signed-off-by: Andy Whitcroft Cc: Mel Gorman Cc: Adam Litke Cc: Johannes Weiner Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9682290484370ce68ba23cd2ec2838e301934199 Author: Andy Whitcroft Date: Wed Jul 23 21:27:29 2008 -0700 hugetlb: move reservation region support earlier The following patch will require use of the reservation regions support. Move this earlier in the file. No changes have been made to this code. Signed-off-by: Andy Whitcroft Cc: Mel Gorman Acked-by: Adam Litke Cc: Johannes Weiner Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdfd4325c0d878679bd6a3ba8285b71d9980e3c0 Author: Andy Whitcroft Date: Wed Jul 23 21:27:28 2008 -0700 mm: record MAP_NORESERVE status on vmas and fix small page mprotect reservations With Mel's hugetlb private reservation support patches applied, strict overcommit semantics are applied to both shared and private huge page mappings. This can be a problem if an application relied on unlimited overcommit semantics for private mappings. An example of this would be an application which maps a huge area with the intention of using it very sparsely. These application would benefit from being able to opt-out of the strict overcommit. It should be noted that prior to hugetlb supporting demand faulting all mappings were fully populated and so applications of this type should be rare. This patch stack implements the MAP_NORESERVE mmap() flag for huge page mappings. This flag has the same meaning as for small page mappings, suppressing reservations for that mapping. Thanks to Mel Gorman for reviewing a number of early versions of these patches. This patch: When a small page mapping is created with mmap() reservations are created by default for any memory pages required. When the region is read/write the reservation is increased for every page, no reservation is needed for read-only regions (as they implicitly share the zero page). Reservations are tracked via the VM_ACCOUNT vma flag which is present when the region has reservation backing it. When we convert a region from read-only to read-write new reservations are aquired and VM_ACCOUNT is set. However, when a read-only map is created with MAP_NORESERVE it is indistinguishable from a normal mapping. When we then convert that to read/write we are forced to incorrectly create reservations for it as we have no record of the original MAP_NORESERVE. This patch introduces a new vma flag VM_NORESERVE which records the presence of the original MAP_NORESERVE flag. This allows us to distinguish these two circumstances and correctly account the reserve. As well as fixing this FIXME in the code, this makes it much easier to introduce MAP_NORESERVE support for huge pages as this flag is available consistantly for the life of the mapping. VM_ACCOUNT on the other hand is heavily used at the generic level in association with small pages. Signed-off-by: Andy Whitcroft Cc: Mel Gorman Cc: Adam Litke Cc: Johannes Weiner Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7c4b0bfd025f71cf7624b7c1be174f63caade33 Author: Andy Whitcroft Date: Wed Jul 23 21:27:26 2008 -0700 huge page private reservation review cleanups Create some new accessors for vma private data to cut down on and contain the casts. Encapsulates the huge and small page offset calculations. Also adds a couple of VM_BUG_ONs for consistency. [akpm@linux-foundation.org: Make things static] Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: Adam Litke Cc: Johannes Weiner Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04f2cbe35699d22dbf428373682ead85ca1240f5 Author: Mel Gorman Date: Wed Jul 23 21:27:25 2008 -0700 hugetlb: guarantee that COW faults for a process that called mmap(MAP_PRIVATE) on hugetlbfs will succeed After patch 2 in this series, a process that successfully calls mmap() for a MAP_PRIVATE mapping will be guaranteed to successfully fault until a process calls fork(). At that point, the next write fault from the parent could fail due to COW if the child still has a reference. We only reserve pages for the parent but a copy must be made to avoid leaking data from the parent to the child after fork(). Reserves could be taken for both parent and child at fork time to guarantee faults but if the mapping is large it is highly likely we will not have sufficient pages for the reservation, and it is common to fork only to exec() immediatly after. A failure here would be very undesirable. Note that the current behaviour of mainline with MAP_PRIVATE pages is pretty bad. The following situation is allowed to occur today. 1. Process calls mmap(MAP_PRIVATE) 2. Process calls mlock() to fault all pages and makes sure it succeeds 3. Process forks() 4. Process writes to MAP_PRIVATE mapping while child still exists 5. If the COW fails at this point, the process gets SIGKILLed even though it had taken care to ensure the pages existed This patch improves the situation by guaranteeing the reliability of the process that successfully calls mmap(). When the parent performs COW, it will try to satisfy the allocation without using reserves. If that fails the parent will steal the page leaving any children without a page. Faults from the child after that point will result in failure. If the child COW happens first, an attempt will be made to allocate the page without reserves and the child will get SIGKILLed on failure. To summarise the new behaviour: 1. If the original mapper performs COW on a private mapping with multiple references, it will attempt to allocate a hugepage from the pool or the buddy allocator without using the existing reserves. On fail, VMAs mapping the same area are traversed and the page being COW'd is unmapped where found. It will then steal the original page as the last mapper in the normal way. 2. The VMAs the pages were unmapped from are flagged to note that pages with data no longer exist. Future no-page faults on those VMAs will terminate the process as otherwise it would appear that data was corrupted. A warning is printed to the console that this situation occured. 2. If the child performs COW first, it will attempt to satisfy the COW from the pool if there are enough pages or via the buddy allocator if overcommit is allowed and the buddy allocator can satisfy the request. If it fails, the child will be killed. If the pool is large enough, existing applications will not notice that the reserves were a factor. Existing applications depending on the no-reserves been set are unlikely to exist as for much of the history of hugetlbfs, pages were prefaulted at mmap(), allocating the pages at that point or failing the mmap(). [npiggin@suse.de: fix CONFIG_HUGETLB=n build] Signed-off-by: Mel Gorman Acked-by: Adam Litke Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e78772d72b2616ed20e54896e68e0e7044854e Author: Mel Gorman Date: Wed Jul 23 21:27:23 2008 -0700 hugetlb: reserve huge pages for reliable MAP_PRIVATE hugetlbfs mappings until fork() This patch reserves huge pages at mmap() time for MAP_PRIVATE mappings in a similar manner to the reservations taken for MAP_SHARED mappings. The reserve count is accounted both globally and on a per-VMA basis for private mappings. This guarantees that a process that successfully calls mmap() will successfully fault all pages in the future unless fork() is called. The characteristics of private mappings of hugetlbfs files behaviour after this patch are; 1. The process calling mmap() is guaranteed to succeed all future faults until it forks(). 2. On fork(), the parent may die due to SIGKILL on writes to the private mapping if enough pages are not available for the COW. For reasonably reliable behaviour in the face of a small huge page pool, children of hugepage-aware processes should not reference the mappings; such as might occur when fork()ing to exec(). 3. On fork(), the child VMAs inherit no reserves. Reads on pages already faulted by the parent will succeed. Successful writes will depend on enough huge pages being free in the pool. 4. Quotas of the hugetlbfs mount are checked at reserve time for the mapper and at fault time otherwise. Before this patch, all reads or writes in the child potentially needs page allocations that can later lead to the death of the parent. This applies to reads and writes of uninstantiated pages as well as COW. After the patch it is only a write to an instantiated page that causes problems. Signed-off-by: Mel Gorman Acked-by: Adam Litke Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc1b8a73dd71226902a11928dd5500326e101df9 Author: Mel Gorman Date: Wed Jul 23 21:27:22 2008 -0700 hugetlb: move hugetlb_acct_memory() This is a patchset to give reliable behaviour to a process that successfully calls mmap(MAP_PRIVATE) on a hugetlbfs file. Currently, it is possible for the process to be killed due to a small hugepage pool size even if it calls mlock(). MAP_SHARED mappings on hugetlbfs reserve huge pages at mmap() time. This guarantees all future faults against the mapping will succeed. This allows local allocations at first use improving NUMA locality whilst retaining reliability. MAP_PRIVATE mappings do not reserve pages. This can result in an application being SIGKILLed later if a huge page is not available at fault time. This makes huge pages usage very ill-advised in some cases as the unexpected application failure cannot be detected and handled as it is immediately fatal. Although an application may force instantiation of the pages using mlock(), this may lead to poor memory placement and the process may still be killed when performing COW. This patchset introduces a reliability guarantee for the process which creates a private mapping, i.e. the process that calls mmap() on a hugetlbfs file successfully. The first patch of the set is purely mechanical code move to make later diffs easier to read. The second patch will guarantee faults up until the process calls fork(). After patch two, as long as the child keeps the mappings, the parent is no longer guaranteed to be reliable. Patch 3 guarantees that the parent will always successfully COW by unmapping the pages from the child in the event there are insufficient pages in the hugepage pool in allocate a new page, be it via a static or dynamic pool. Existing hugepage-aware applications are unlikely to be affected by this change. For much of hugetlbfs's history, pages were pre-faulted at mmap() time or mmap() failed which acts in a reserve-like manner. If the pool is sized correctly already so that parent and child can fault reliably, the application will not even notice the reserves. It's only when the pool is too small for the application to function perfectly reliably that the reserves come into play. Credit goes to Andy Whitcroft for cleaning up a number of mistakes during review before the patches were released. This patch: A later patch in this set needs to call hugetlb_acct_memory() before it is defined. This patch moves the function without modification. This makes later diffs easier to read. Signed-off-by: Mel Gorman Acked-by: Adam Litke Cc: Andy Whitcroft Cc: William Lee Irwin III Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9109fb7b3520de187ebc3646c209d66a233f7169 Author: Johannes Weiner Date: Wed Jul 23 21:27:20 2008 -0700 mm: drop unneeded pgdat argument from free_area_init_node() free_area_init_node() gets passed in the node id as well as the node descriptor. This is redundant as the function can trivially get the node descriptor itself by means of NODE_DATA() and the node's id. I checked all the users and NODE_DATA() seems to be usable everywhere from where this function is called. Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2185e69f680ae8c8496b6fc15e20c889d5b39b67 Author: Andrew Morton Date: Wed Jul 23 21:27:19 2008 -0700 mapping_set_error: add unlikely() This is called on a per-page basis and in the vast majority of cases `error' is zero. Cc: Guillaume Chazarain Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9023cb7e8564d95a1893f8cb6895a293be9a71fe Author: Andy Whitcroft Date: Wed Jul 23 21:27:19 2008 -0700 slob: record page flag overlays explicitly SLOB reuses two page bits for internal purposes, it overlays PG_active and PG_private. This is hidden away in slob.c. Document these overlays explicitly in the main page-flags enum along with all the others. Signed-off-by: Andy Whitcroft Cc: Pekka Enberg Cc: Christoph Lameter Cc: Matt Mackall Cc: Nick Piggin Reviewed-by: KOSAKI Motohiro Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a38082d21cbc5ec961da7dda195e98a9a064dcf Author: Andy Whitcroft Date: Wed Jul 23 21:27:18 2008 -0700 slub: record page flag overlays explicitly SLUB reuses two page bits for internal purposes, it overlays PG_active and PG_error. This is hidden away in slub.c. Document these overlays explicitly in the main page-flags enum along with all the others. Signed-off-by: Andy Whitcroft Cc: Pekka Enberg Cc: Christoph Lameter Cc: Matt Mackall Cc: Nick Piggin Tested-by: KOSAKI Motohiro Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cad47cf13bc2e9142d3a11d9f50523797d0d4ea Author: Andy Whitcroft Date: Wed Jul 23 21:27:16 2008 -0700 page-flags: record page flag overlays explicitly With the recent page flag reorganisation we have a single enum which defines the valid page flags and their values, nice and clear. However there are a number of bits which are overloaded by different subsystems. Firstly there is PG_owner_priv_1 which is used by filesystems and by XEN. Secondly both SLOB and SLUB use a couple of extra page bits to manage internal state for pages they own; both overlay other bits. All of these "aliases" are scattered about the source making it very hard for a reader to know if the bits are safe to rely on in all contexts; confusion here is bad. As we now have a single place where the bits are clearly assigned it makes sense to clarify the reuse of bits by making the aliases explicit and visible with the original bit assignments. This patch creates explicit aliases within the enum itself for the overloaded bits, creates standard bit accessors PageFoo etc. and uses those throughout. This version pulls the bit manipulation out to standard named page bit accessors as suggested by Christoph, it retains the explicit mapping to the overlayed bits. A fusion of both ideas. This has been SLUB and SLOB have been compile tested on x86_64 only, and SLUB boot tested. If people feel this is worth doing then I can run a fuller set of testing. This patch: Some page flags are used for more than one purpose, for example PG_owner_priv_1. Currently there are individual accessors for each user, each built using the common flag name far away from the bit definitions. This makes it hard to see all possible uses of these bits. Now that we have a single enum to generate the bit orders it makes sense to express overlays in the same place. So create per use aliases for this bit in the main page-flags enum and use those in the accessors. [akpm@linux-foundation.org: fix xen] Signed-off-by: Andy Whitcroft Cc: Pekka Enberg Cc: Christoph Lameter Cc: Matt Mackall Cc: Nick Piggin Cc: KAMEZAWA Hiroyuki Reviewed-by: KOSAKI Motohiro Cc: Rik van Riel Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da3bbdd4632c0171406b2677e31494afa5bde2f8 Author: Kentaro Makita Date: Wed Jul 23 21:27:13 2008 -0700 fix soft lock up at NFS mount via per-SB LRU-list of unused dentries [Summary] Split LRU-list of unused dentries to one per superblock to avoid soft lock up during NFS mounts and remounting of any filesystem. Previously I posted here: http://lkml.org/lkml/2008/3/5/590 [Descriptions] - background dentry_unused is a list of dentries which are not referenced. dentry_unused grows up when references on directories or files are released. This list can be very long if there is huge free memory. - the problem When shrink_dcache_sb() is called, it scans all dentry_unused linearly under spin_lock(), and if dentry->d_sb is differnt from given superblock, scan next dentry. This scan costs very much if there are many entries, and very ineffective if there are many superblocks. IOW, When we need to shrink unused dentries on one dentry, but scans unused dentries on all superblocks in the system. For example, we scan 500 dentries to unmount a filesystem, but scans 1,000,000 or more unused dentries on other superblocks. In our case , At mounting NFS*, shrink_dcache_sb() is called to shrink unused dentries on NFS, but scans 100,000,000 unused dentries on superblocks in the system such as local ext3 filesystems. I hear NFS mounting took 1 min on some system in use. * : NFS uses virtual filesystem in rpc layer, so NFS is affected by this problem. 100,000,000 is possible number on large systems. Per-superblock LRU of unused dentried can reduce the cost in reasonable manner. - How to fix I found this problem is solved by David Chinner's "Per-superblock unused dentry LRU lists V3"(1), so I rebase it and add some fix to reclaim with fairness, which is in Andrew Morton's comments(2). 1) http://lkml.org/lkml/2006/5/25/318 2) http://lkml.org/lkml/2006/5/25/320 Split LRU-list of unused dentries to each superblocks. Then, NFS mounting will check dentries under a superblock instead of all. But this spliting will break LRU of dentry-unused. So, I've attempted to make reclaim unused dentrins with fairness by calculate number of dentries to scan on this sb based on following way number of dentries to scan on this sb = count * (number of dentries on this sb / number of dentries in the machine) - ToDo - I have to measuring performance number and do stress tests. - When unmount occurs during prune_dcache(), scanning on same superblock, It is unable to reach next superblock because it is gone away. We restart scannig superblock from first one, it causes unfairness of reclaim unused dentries on first superblock. But I think this happens very rarely. - Test Results Result on 6GB boxes with excessive unused dentries. Without patch: $ cat /proc/sys/fs/dentry-state 10181835 10180203 45 0 0 0 # mount -t nfs 10.124.60.70:/work/kernel-src nfs real 0m1.830s user 0m0.001s sys 0m1.653s With this patch: $ cat /proc/sys/fs/dentry-state 10236610 10234751 45 0 0 0 # mount -t nfs 10.124.60.70:/work/kernel-src nfs real 0m0.106s user 0m0.002s sys 0m0.032s [akpm@linux-foundation.org: fix comments] Signed-off-by: Kentaro Makita Cc: Neil Brown Cc: Trond Myklebust Cc: David Chinner Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c82d0ce2c4f642b2f24ef98707a030543b06b90 Author: Andy Whitcroft Date: Wed Jul 23 21:27:11 2008 -0700 buddy: clarify comments describing buddy merge In __free_one_page(), the comment "Move the buddy up one level" appears attached to the break and by implication when the break is taken we are moving it up one level: if (!page_is_buddy(page, buddy, order)) break; /* Move the buddy up one level. */ In reality the inverse is true, we break out when we can no longer merge this page with its buddy. Looking back into pre-history (into the full git history) it appears that these two lines accidentally got joined as part of another change. Move the comment down where it belongs below the if and clarify its language. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42b7772812d15b86543a23b82bd6070eef9a08b1 Author: Jan Beulich Date: Wed Jul 23 21:27:10 2008 -0700 mm: remove double indirection on tlb parameter to free_pgd_range() & Co The double indirection here is not needed anywhere and hence (at least) confusing. Signed-off-by: Jan Beulich Cc: Hugh Dickins Cc: Nick Piggin Cc: Christoph Lameter Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: "Luck, Tony" Cc: Paul Mundt Cc: "David S. Miller" Acked-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a352894d07059649398c4769dc8b645e1a1dad88 Author: Benjamin Herrenschmidt Date: Wed Jul 23 21:27:09 2008 -0700 spufs: use new vm_ops->access to allow local state access from gdb This uses the new vm_ops->access to allow gdb to access the SPU local store. We currently prevent access to problem state registers, this can be done later if really needed but it's safer not to. [akpm@linux-foundation.org: fix typo] Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Rik van Riel Cc: Dave Airlie Cc: Hugh Dickins Cc: Paul Mackerras Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1f242ff460e4b50a045fa237c3c56cce9eabf83 Author: Benjamin Herrenschmidt Date: Wed Jul 23 21:27:08 2008 -0700 powerpc ioremap_prot This adds ioremap_prot and pte_pgprot() so that one can extract protection bits from a PTE and use them to ioremap_prot() (in order to support ptrace of VM_IO | VM_PFNMAP as per Rik's patch). This moves a couple of flag checks around in the ioremap implementations of arch/powerpc. There's a side effect of allowing non-cacheable and non-guarded mappings on ppc32 which before would always have _PAGE_GUARDED set whenever _PAGE_NO_CACHE is. (standard ioremap will still set _PAGE_GUARDED, but ioremap_prot will be capable of setting such a non guarded mapping). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Rik van Riel Cc: Dave Airlie Cc: Hugh Dickins Cc: Paul Mackerras Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ae8ed5053a39082d224a3f48409e016baca9c16 Author: Rik van Riel Date: Wed Jul 23 21:27:07 2008 -0700 use generic_access_phys for /dev/mem mappings Use generic_access_phys as the access_process_vm access function for /dev/mem mappings. This makes it possible to debug the X server. [akpm@linux-foundation.org: repair all the architectures which broke] Signed-off-by: Rik van Riel Cc: Benjamin Herrensmidt Cc: Dave Airlie Cc: Hugh Dickins Cc: Paul Mackerras Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28b2ee20c7cba812b6f2ccf6d722cf86d00a84dc Author: Rik van Riel Date: Wed Jul 23 21:27:05 2008 -0700 access_process_vm device memory infrastructure In order to be able to debug things like the X server and programs using the PPC Cell SPUs, the debugger needs to be able to access device memory through ptrace and /proc/pid/mem. This patch: Add the generic_access_phys access function and put the hooks in place to allow access_process_vm to access device or PPC Cell SPU memory. [riel@redhat.com: Add documentation for the vm_ops->access function] Signed-off-by: Rik van Riel Signed-off-by: Benjamin Herrensmidt Cc: Dave Airlie Cc: Hugh Dickins Cc: Paul Mackerras Cc: Arnd Bergmann Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d71d10a4252a3938e6b70189bc776171c02e076 Author: Nick Piggin Date: Wed Jul 23 21:27:05 2008 -0700 mm: remove nopfn There are no users of nopfn in the tree. Remove it. [hugh@veritas.com: fix build error] Signed-off-by: Nick Piggin Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a969e903a944f69309ee5cc9e7c7b08310d1151e Author: Christoph Hellwig Date: Wed Jul 23 21:27:04 2008 -0700 kill generic_file_direct_IO() generic_file_direct_IO is a common helper around the invocation of ->direct_IO. But there's almost nothing shared between the read and write side, so we're better off without this helper. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75353bed36cfbbfb55bbde0896bbf5a02d9ba355 Author: Adrian Bunk Date: Wed Jul 23 21:27:03 2008 -0700 mm/hugetlb.c: fix duplicate variable It's confusing that set_max_huge_pages() contained two different variables named "ret", and although the code works correctly this should be fixed. The inner of the two variables can simply be removed. Spotted by sparse. Signed-off-by: Adrian Bunk Cc: "KOSAKI Motohiro" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c748e1340e0de3fa7fed86f8bdf499be9242afff Author: Adrian Bunk Date: Wed Jul 23 21:27:03 2008 -0700 mm/vmstat.c: proper externs This patch adds proper extern declarations for five variables in include/linux/vmstat.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f5ca265788973e3f5a1129a96ee4a9cbf587f2b Author: Adrian Bunk Date: Wed Jul 23 21:27:02 2008 -0700 mm/migrate.c should #include Every file should include the headers containing the externs for its global functions (in this case for sys_move_pages()). Signed-off-by: Adrian Bunk Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4048e5dc4aecec670f48ed007a28779f09cebd6 Author: KOSAKI Motohiro Date: Wed Jul 23 21:27:01 2008 -0700 page allocator: inline some __alloc_pages() wrappers Two zonelist patch series rewrote __page_alloc() largely. Now, it is just a wrapper function. Inlining them will save a function call. [akpm@linux-foundation.org: export __alloc_pages_internal] Cc: Lee Schermerhorn Cc: Mel Gorman Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efe9e77997f6e0306fedc6efa98df491dcf5ecb0 Author: Nick Piggin Date: Wed Jul 23 21:27:00 2008 -0700 mspec: convert nopfn to fault [akpm@linux-foundation.org: remove unused variable] Signed-off-by: Nick Piggin Acked-by: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffc6421f0720f433b5b35b89ff56e998eabff93b Author: Johannes Weiner Date: Wed Jul 23 21:26:59 2008 -0700 mm: unexport __alloc_bootmem_core() This function has no external callers, so unexport it. Also fix its naming inconsistency. Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Christoph Lameter Cc: Mel Gorman Cc: Andy Whitcroft Cc: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ae04463077324ed9f6b04ab3a5b17ae1ee4dd35 Author: Johannes Weiner Date: Wed Jul 23 21:26:59 2008 -0700 mm: normalize internal argument passing of bootmem data All _core functions only need the bootmem data, not the whole node descriptor. Adjust the two functions that take the node descriptor unneededly. Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Christoph Lameter Cc: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b312c0e6e2f44b020e12953d1dd37eed60e3609 Author: Johannes Weiner Date: Wed Jul 23 21:26:58 2008 -0700 mm: fix free_all_bootmem_core alignment check The check for node_boot_start is bogus because we start freeing at the corresponding pfn. So check if the pfn is properly aligned instead in a more readable way and adjust the documentation. Also remove an unneeded accounting variable. Signed-off-by: Johannes Weiner Cc: Ingo Molnar Cc: Yinghai Lu Cc: Christoph Lameter Cc: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b61bfa3c462671c48a51fb5c31af337c5a996a04 Author: Johannes Weiner Date: Wed Jul 23 21:26:55 2008 -0700 mm: move bootmem descriptors definition to a single place There are a lot of places that define either a single bootmem descriptor or an array of them. Use only one central array with MAX_NUMNODES items instead. Signed-off-by: Johannes Weiner Acked-by: Ralf Baechle Cc: Ingo Molnar Cc: Richard Henderson Cc: Russell King Cc: Tony Luck Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Kyle McMartin Cc: Paul Mackerras Cc: Paul Mundt Cc: David S. Miller Cc: Yinghai Lu Cc: Christoph Lameter Cc: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b05c7e6e159d2f33c9275281b8b909a89eb7c5d Author: FUJITA Tomonori Date: Wed Jul 23 21:26:53 2008 -0700 add a helper function to test if an object is on the stack lib/debugobjects.c has a function to test if an object is on the stack. The block layer and ide needs it (they need to avoid DMA from/to stack buffers). This patch moves the function to include/linux/sched.h so that everyone can use it. lib/debugobjects.c uses current->stack but this patch uses a task_stack_page() accessor, which is a preferable way to access the stack. Signed-off-by: FUJITA Tomonori Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68ad8df42e12037c3894c9706ab428bf5cd6426b Author: Mel Gorman Date: Wed Jul 23 21:26:52 2008 -0700 mm: print out the zonelists on request for manual verification This patch prints out the zonelists during boot for manual verification by the user if the mminit_loglevel is MMINIT_VERIFY or higher. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dbb51c49f4fecb8330e43247a0edfbc4b2b8974 Author: Mel Gorman Date: Wed Jul 23 21:26:52 2008 -0700 mm: make defensive checks around PFN values registered for memory usage There are a number of different views to how much memory is currently active. There is the arch-independent zone-sizing view, the bootmem allocator and memory models view. Architectures register this information at different times and is not necessarily in sync particularly with respect to some SPARSEMEM limitations. This patch introduces mminit_validate_memmodel_limits() which is able to validate and correct PFN ranges with respect to the memory model. It is only SPARSEMEM that currently validates itself. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 708614e6180f398cd307ea0048d48ba6fa274610 Author: Mel Gorman Date: Wed Jul 23 21:26:51 2008 -0700 mm: verify the page links and memory model Print out information on how the page flags are being used if mminit_loglevel is MMINIT_VERIFY or higher and unconditionally performs sanity checks on the flags regardless of loglevel. When the page flags are updated with section, node and zone information, a check are made to ensure the values can be retrieved correctly. Finally we confirm that pfn_to_page and page_to_pfn are the correct inverse functions. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b74ab97bc12ce74acec900f1d89a4aee2e4d70d Author: Mel Gorman Date: Wed Jul 23 21:26:49 2008 -0700 mm: add a basic debugging framework for memory initialisation Boot initialisation is very complex, with significant numbers of architecture-specific routines, hooks and code ordering. While significant amounts of the initialisation is architecture-independent, it trusts the data received from the architecture layer. This is a mistake, and has resulted in a number of difficult-to-diagnose bugs. This patchset adds some validation and tracing to memory initialisation. It also introduces a few basic defensive measures. The validation code can be explicitly disabled for embedded systems. This patch: Add additional debugging and verification code for memory initialisation. Once enabled, the verification checks are always run and when required additional debugging information may be outputted via a mminit_loglevel= command-line parameter. The verification code is placed in a new file mm/mm_init.c. Ideally other mm initialisation code will be moved here over time. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9483a578df27fe7603605d565eefe039c1ba5845 Author: David Brownell Date: Wed Jul 23 21:26:48 2008 -0700 add HAVE_CLK to Kconfig, for driver dependencies Flag platforms as HAVE_CLK (or not) in Kconfig, based on whether they support calls, so that otherwise portable drivers which need those calls can list that dependency. Something like this is a prerequisite for merging the musb_hdrc driver, currently used on platforms including Davinci, OMAP2430, OMAP3xx ... and the discrete TUSB6010 chip, which doesn't have a natural platform dependency. (Used with OMAP 2420 in current Nokia N8x0 tablets.) Signed-off-by: David Brownell Cc: Russell King Acked-by: Haavard Skinnemoen Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7ce20b2024d318b9ba88859226af1441270d99f Author: Adrian Bunk Date: Wed Jul 23 21:26:47 2008 -0700 remove is_tty() This patch removes the no longer used is_tty(). Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d36e74c4392b5f26a5c4d94d7881a156ddc8e593 Author: Clemens Ladisch Date: Wed Jul 23 21:26:46 2008 -0700 hpet: clarify maintainer entry The existing HPET maintainer entries are somewhat unclear about which one applies to what part of the kernel. Signed-off-by: Clemens Ladisch Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e108526e77aa41c89b3be96f75d97615db2b751c Author: Akinobu Mita Date: Wed Jul 23 21:26:44 2008 -0700 move memory_read_from_buffer() from fs.h to string.h James Bottomley warns that inclusion of linux/fs.h in a low level driver was always a danger signal. This patch moves memory_read_from_buffer() from fs.h to string.h and fixes includes in existing memory_read_from_buffer() users. Signed-off-by: Akinobu Mita Cc: James Bottomley Cc: Geert Uytterhoeven Cc: Zhang Rui Cc: Bob Moore Cc: Thomas Renninger Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef571cadd516e7ffcdeac6bb8054e5908fcccfcf Author: Shirish Pargaonkar Date: Thu Jul 24 15:56:05 2008 +0000 [CIFS] Fix warnings from checkpatch Signed-off-by: Steve French commit 2cc177364e4746becdf421f926fb967c047ccc32 Merge: 2f5de15... 1a867c3... 1ca8d15... 7644264... e8bb4be... 1fa6d81... Author: Roland Dreier Date: Thu Jul 24 08:38:47 2008 -0700 Merge branches 'bkl-removal', 'cma', 'ehca', 'for-2.6.27', 'mlx4', 'mthca' and 'nes' into for-linus commit b1910ad6222a705650dc991c003af43b94cdb3e1 Author: Shirish Pargaonkar Date: Thu Jul 24 14:53:20 2008 +0000 [CIFS] Fix improper endian conversion of ACL subauth field In mode_to_acl when converting a Unix mode to a Windows ACL the subauth fields of the SID in the ACL were translated incorrectly on bigendian architectures Signed-off-by: Steve French commit 76c510ad2e7d56cfe8f2cc7b23783e5c687cf704 Author: Shirish Pargaonkar Date: Thu Jul 24 14:48:33 2008 +0000 [CIFS] Fix possible double free if search immediately after search rewind fails Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit b552068999b0b05087c454e525b30b785c79dc9b Author: Matthew Wilcox Date: Wed Apr 23 10:07:27 2008 -0400 Remove __DECLARE_SEMAPHORE_GENERIC There are no users of __DECLARE_SEMAPHORE_GENERIC in the kernel Signed-off-by: Matthew Wilcox commit 2351ec533ed0dd56052ab96988d2161d5ecc8ed9 Author: Matthew Wilcox Date: Thu Jul 24 08:09:32 2008 -0400 Remove asm/semaphore.h All users have now been converted to linux/semaphore.h and we don't need to keep these files around any longer. Signed-off-by: Matthew Wilcox commit 6310e472717ed736c9bff9840febb71f7bb400ed Author: Matthew Wilcox Date: Thu Jul 24 08:08:09 2008 -0400 Remove use of asm/semaphore.h Change to use linux/semaphore.h Signed-off-by: Matthew Wilcox commit 0f17e4c796e89d1f69f13b653aba60e6ccfb8ae0 Author: Matthew Wilcox Date: Thu Jul 24 08:30:48 2008 -0400 Add missing semaphore.h includes These files use semaphores but don't include semaphore.h Signed-off-by: Matthew Wilcox Acked-by: Geert Uytterhoeven commit 78305de2f99e9f43ab860dd95bb430b20e26c695 Author: Matthew Wilcox Date: Wed Apr 23 07:20:41 2008 -0400 Remove mention of semaphores from kernel-locking Since the consensus seems to be to eliminate semaphores where possible, we shouldn't be educating people about how to use them as locks. Use mutexes instead. Semaphores should be described in a separate document if we end up keeping them. Signed-off-by: Matthew Wilcox Acked-by: Rusty Russell commit db6ea2c17cef531a58f48c51c3a0892edcaf1380 Author: Huang Weiyi Date: Sat Jun 21 22:30:43 2008 +0800 drivers/misc/atmel-ssc.c: Removed duplicated include Removed duplicated include file in drivers/misc/atmel-ssc.c. Signed-off-by: Huang Weiyi Signed-off-by: Haavard Skinnemoen commit 218df4a25a9b828df4bb44c86e35febe40c82e62 Author: Hans-Christian Egtvedt Date: Tue Jul 1 14:26:45 2008 +0200 avr32: Add platform data for AC97C platform device This patch adds platform data to the AC97C platform device. This will let the board add a GPIO line which is connected to the external codecs reset line. The platform data, ac97c_platform_data, must also contain the DMA controller ID, RX channel ID and TX channel ID. Tested with Wolfson WM9712 and AP7000. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 58838cf3ca3337d76141c33d6c68376490263468 Author: Peter Zijlstra Date: Thu Jul 24 12:43:13 2008 +0200 sched: clean up compiler warning Reported-by: Daniel Walker Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 04bbe430f73c6c31bbd067349c029e907e153a8d Author: Vegard Nossum Date: Mon Jul 21 15:06:35 2008 +0200 x86: fix header export, asm-x86/processor-flags.h, CONFIG_* leaks Apparently, commit 6330a30a76c1e62d4b4ec238368957f8febf9113 Author: Vegard Nossum Date: Wed May 28 09:46:19 2008 +0200 x86: break mutual header inclusion introduced some CONFIG names to processor-flags.h, which was exported in commit 6093015db2bd9e70cf20cdd23be1a50733baafdd Author: Ingo Molnar Date: Sun Mar 30 11:45:23 2008 +0200 x86: cleanup replace most vm86 flags with flags from processor-flags.h, fix Fix it by wrapping the CONFIG parts in __KERNEL__. Reported-by: Olaf Hering Signed-off-by: Vegard Nossum Cc: Adrian Bunk Cc: Olaf Hering Signed-off-by: Ingo Molnar commit 9d25d4db81833029d30b7b03cc1000cbbe09e192 Author: Hugh Dickins Date: Mon Jul 21 18:41:26 2008 +0100 x86: BUILD_IRQ say .text to avoid .data.percpu When I edit the x86_64 Makefile to -fno-unit-at-a-time, bootup panics on 0xCCs in IRQ0x3e_interrupt(): IRQ0x20_interrupt etc. have got linked into .data.percpu. Perhaps there are other ways of triggering that: specify ".text" in the BUILD_IRQ() macro for safety. I've been using -fno-unit-at-a-time (to lessen inlining, for easier debugging) for a long time. Signed-off-by: Hugh Dickins Cc: Mike Travis Signed-off-by: Ingo Molnar commit eeb16e87b6747c9a4f5769f33467c9d173e9f5ee Author: Artem Bityutskiy Date: Wed Jul 23 15:51:46 2008 +0300 UBI: fix gcc warning Fix the following warning: drivers/mtd/ubi/vmt.c: In function 'ubi_rename_volumes': drivers/mtd/ubi/vmt.c:642: warning: statement with no effect Signed-off-by: Artem Bityutskiy commit 9869cd801c107bbae91663c3f4edbb6b5715919f Author: Artem Bityutskiy Date: Fri Jul 18 13:53:39 2008 +0300 UBI: remove pre-sqnum images support Before UBI got into mainline, there was a slight flash format change - we did not have sequence number support, then added it. We have carried full support of those ancient images till this moment. Now the support is removed, well, not fully removed. Now UBI will support only _clean_ old images, which were cleanly detached last time (just before kernel upgrade). This is most likely the case. But we will not support unclean ancient images. Surprisingly, this allows us to remove a big chunk of legacy code. And the same should be true for downgrading: clean images should downgrade fine, but unclean ones will not. Signed-off-by: Artem Bityutskiy commit ebaaf1af3e9ef05c4fb7c61e4530c15e1ad10e3b Author: Artem Bityutskiy Date: Fri Jul 18 13:34:32 2008 +0300 UBI: fix kernel-doc errors and warnings No functional changes, just tweak comments to make kernel-doc work fine and stop complaining. Signed-off-by: Artem Bityutskiy commit 9c9ec147709e63e4e8ac6a037c6bb50688ff8e9c Author: Artem Bityutskiy Date: Fri Jul 18 13:19:52 2008 +0300 UBI: fix checkpatch.pl errors and warnings Just out or curiousity ran checkpatch.pl for whole UBI, and discovered there are quite a few of stylistic issues. Fix them. Signed-off-by: Artem Bityutskiy commit 4d88de4beb6f327dfc7c2221eab532dad5b2bb3e Author: Artem Bityutskiy Date: Fri Jul 18 12:42:14 2008 +0300 UBI: bugfix - do not torture PEB needlessly This is probably a copy-paste bug - we torture the old PEB in the atomic LEB change function, but we should not do this. Signed-off-by: Artem Bityutskiy commit 8c1e6ee10bd87d70faada065a8d1f70732c17382 Author: Artem Bityutskiy Date: Fri Jul 18 12:20:23 2008 +0300 UBI: rework scrubbing messages If bit-flips happen often, UBI prints to many messages. Lessen the amount by only printing the messages when the PEB has been scrubbed. Also, print torturing messages. Signed-off-by: Artem Bityutskiy commit f40ac9cdf6991287f19bdafe9b0752ee40137908 Author: Artem Bityutskiy Date: Sun Jul 13 21:47:47 2008 +0300 UBI: implement multiple volumes rename Quite useful ioctl which allows to make atomic system upgrades. The idea belongs to Richard Titmuss Signed-off-by: Artem Bityutskiy commit c8566350a3229ca505b84313c65d1403b4d0cbfc Author: Artem Bityutskiy Date: Wed Jul 16 17:40:22 2008 +0300 UBI: fix and re-work debugging stuff Signed-off-by: Artem Bityutskiy commit 85c6e6e28259e9b58b8984db536c45bc3161f40c Author: Artem Bityutskiy Date: Wed Jul 16 10:25:56 2008 +0300 UBI: amend commentaries Hch asked not to use "unit" for sub-systems, let it be so. Also some other commentaries modifications. Signed-off-by: Artem Bityutskiy commit bb84c1a199558962edf4b4aeb4480fb09aa09b91 Author: Artem Bityutskiy Date: Mon Jul 14 12:57:27 2008 +0300 UBI: fix error message The ubi_err() macro will add \n. Signed-off-by: Artem Bityutskiy commit a6ea440769e11c46828cddd20f91ab57261701d5 Author: Artem Bityutskiy Date: Sun Jul 13 21:46:24 2008 +0300 UBI: improve mkvol request validation Check that volume name is not shorter than 'name_len'. No need to copy the trailing zero byte because whole array was zeroed earlier. Signed-off-by: Artem Bityutskiy commit a5bf6190417cbbf80443a9f71c65b653e13e9982 Author: Artem Bityutskiy Date: Thu Jul 10 18:38:33 2008 +0300 UBI: add ubi_sync() interface To flush MTD device caches. Signed-off-by: Artem Bityutskiy commit 73789a3d9fd8e500e121c1d4a5a2b16dd748ab5f Author: Bruce Leonard Date: Thu Jul 3 10:35:49 2008 +0300 UBI: fix 64-bit calculations Signed-off-by: Bruce Leonard Signed-off-by: Artem Bityutskiy commit 23add7455c42eef63f8719bd268328047d4aed69 Author: Artem Bityutskiy Date: Mon Jun 16 13:35:23 2008 +0300 UBI: fix LEB locking leb_read_unlock() may be called simultaniously by several tasks. The would race at the following code: up_read(&le->mutex); if (free) kfree(le); And it is possible that one task frees 'le' before the other tasks do 'up_read()'. Fix this by doing up_read and free inside the 'ubi->ltree' lock. Below it the oops we had because of this: BUG: spinlock bad magic on CPU#0, integck/7504 BUG: unable to handle kernel paging request at 6b6b6c4f IP: [] spin_bug+0x5c/0xdb *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP Modules linked in: ubifs ubi nandsim nand nand_ids nand_ecc video output Pid: 7504, comm: integck Not tainted (2.6.26-rc3ubifs26 #8) EIP: 0060:[] EFLAGS: 00010002 CPU: 0 EIP is at spin_bug+0x5c/0xdb EAX: 00000032 EBX: 6b6b6b6b ECX: 6b6b6b6b EDX: f7f7ce30 ESI: f76491dc EDI: c044f51f EBP: e8a736cc ESP: e8a736a8 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process integck (pid: 7504, ti=e8a72000 task=f7f7ce30 task.ti=e8a72000) Stack: c044f754 c044f51f 00000000 f7f7d024 00001d50 00000001 f76491dc 00000296 f6df50e0 e8a736d8 c02112f0 f76491dc e8a736e8 c039157a f7d9e830 f76491d8 e8a7370c c020b975 f76491dc 00000296 f76491f8 00000000 f76491d8 00000000 Call Trace: [] ? _raw_spin_unlock+0x50/0x7c [] ? _spin_unlock_irqrestore+0x20/0x58 [] ? rwsem_wake+0x4b/0x122 [] ? call_rwsem_wake+0xa/0xc [] ? up_read+0x28/0x31 [] ? leb_read_unlock+0x73/0x7b [ubi] [] ? ubi_eba_read_leb+0x195/0x2b0 [ubi] [] ? ubi_leb_read+0xaf/0xf8 [ubi] Signed-off-by: Artem Bityutskiy commit 472018f73e7308a7f29b753ee8c742b6f45f103f Author: Artem Bityutskiy Date: Wed Jun 4 17:58:37 2008 +0300 UBI: fix memory leak on error path Normally UBI volumes are freed in the release function of the struct device object. However, on error path they may have to be freed before the struct device objects have been initialized. Signed-off-by: Artem Bityutskiy commit 505d1caa79cd61a70615e9a7eae2eab85e797a83 Author: Artem Bityutskiy Date: Wed Jun 4 17:00:35 2008 +0300 UBI: do not forget to free internal volumes UBI forgets to free internal volumes when detaching MTD device. Fix this. Pointed-out-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit abc5e92262d87f9c5c628492bffc55f81c7dcb80 Author: Artem Bityutskiy Date: Wed Jun 4 16:48:12 2008 +0300 UBI: fix memory leak ubi_free_volume() function sets ubi->volumes[] to NULL, so ubi_eba_close() is useless, it does not free what has to be freed. So zap it and free vol->eba_tbl at the volume release function. Pointed-out-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit cadb40ccc16a26a738f1cbc963e35b21edd93e79 Author: Kyungmin Park Date: Thu May 22 10:32:18 2008 +0900 UBI: avoid unnecessary division operations UBI already checks that @min io size is the power of 2 at io_init. It is save to use bit operations then. Signed-off-by: Kyungmin Park Signed-off-by: Artem Bityutskiy commit a0fd1efd488092951f310fdb777b8a540cf84dcb Author: Kyungmin Park Date: Wed May 21 14:34:56 2008 +0300 UBI: fix buffer padding Instead of correctly pad the buffer wich we are writing to the eraseblock during update, we used weird construct: memset(buf + len, 0xFF, len - len); Fix this. Signed-off-by: Kyungmin Park Signed-off-by: Artem Bityutskiy commit beeea636030622f6de67d15c61f5b311a03d188c Author: Artem Bityutskiy Date: Tue May 20 09:54:02 2008 +0300 UBI: add a comment It is not clear why we schedule PEB for scrubbing in case of -EBADMSG. Elaborate. Requested-by: Kyungmin Park Signed-off-by: Artem Bityutskiy commit 979c9296bdcfded58ebac41905c3397317df0355 Author: Artem Bityutskiy Date: Wed May 14 16:10:33 2008 +0300 UBI: print error code Print error code if checking failed which is very useful to identify problems. Signed-off-by: Artem Bityutskiy commit 2dc1697eb355c34f9f7bcbbb83f490de248c360a Author: Jeremy Fitzhardinge Date: Mon Jul 21 16:49:58 2008 -0700 xen: don't use sysret for sysexit32 When implementing sysexit32, don't let Xen use sysret to return to userspace. That results in usermode register state being trashed. Signed-off-by: Jeremy Fitzhardinge Cc: Mark McLoughlin Cc: Eduardo Habkost Signed-off-by: Ingo Molnar commit 9e882c9282512cc622752f29ec7c29ce338fc1eb Author: Jeremy Fitzhardinge Date: Mon Jul 21 16:49:54 2008 -0700 x86: call early_cpu_init at the same point Call early_cpu_init() at the same (early) point in setup_arch(). The x86_64 code was calling it relatively late, after when other arch code need to do cpu-related setup which depends on it. Signed-off-by: Jeremy Fitzhardinge Cc: Mark McLoughlin Cc: Eduardo Habkost Signed-off-by: Ingo Molnar commit 1986b0cb1671ea39178b4e2b00461109728fc935 Author: Ingo Molnar Date: Thu Jul 24 08:10:02 2008 +0200 ftrace: remove latency-tracer leftover remove the :vim=ft=help tag from trace files. I used them years ago to syntax-highlight traces and forgot about this hack. Signed-off-by: Ingo Molnar commit 28afe961a18f77b2249062499bdbf70fd2ec6bba Merge: 1e01cb0... 338b9bb... Author: Ingo Molnar Date: Thu Jul 24 08:09:26 2008 +0200 Merge branch 'linus' into tracing/urgent commit f867e6af94239a04ec23aeec2fcda5aa58e41db7 Author: Jarek Poplawski Date: Wed Jul 23 21:34:27 2008 -0700 pkt_sched: sch_sfq: dump a real number of flows Dump the "flows" number according to the number of active flows instead of repeating the "limit". Reported-by: Denys Fedoryshchenko Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 338b9bb3adac0d2c5a1e180491d9b001d624c402 Merge: 7f9dce3... af0575b... Author: Linus Torvalds Date: Wed Jul 23 20:39:21 2008 -0700 Merge branch 'x86/auditsc' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland * 'x86/auditsc' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland: i386 syscall audit fast-path x86_64 ia32 syscall audit fast-path x86_64 syscall audit fast-path x86_64: remove bogus optimization in sysret_signal commit 6f75a9b6426e686649ac440c37ec7c249501f9a5 Author: Chas Williams Date: Wed Jul 23 20:29:21 2008 -0700 atm: [fore200e] use MODULE_FIRMWARE() and other suggested cleanups Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 99b1f5b2f6cd2f65cce02c5f63302df5878a5fbc Author: Steve French Date: Thu Jul 24 02:37:45 2008 +0000 [CIFS] remove checkpatch warning Signed-off-by: Steve French commit 7f9dce38378f0a4a298e885553d6bb7121376376 Merge: 26dcce0... ba42059... Author: Linus Torvalds Date: Wed Jul 23 19:36:53 2008 -0700 Merge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: hrtick_enabled() should use cpu_active() sched, x86: clean up hrtick implementation sched: fix build error, provide partition_sched_domains() unconditionally sched: fix warning in inc_rt_tasks() to not declare variable 'rq' if it's not needed cpu hotplug: Make cpu_active_map synchronization dependency clear cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2) sched: rework of "prioritize non-migratable tasks over migratable ones" sched: reduce stack size in isolated_cpu_setup() Revert parts of "ftrace: do not trace scheduler functions" Fixed up conflicts in include/asm-x86/thread_info.h (due to the TIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and kernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr() introduction). commit f984c7b98253c541ed6e702ee521f6a84c8113d4 Author: Alexey Dobriyan Date: Thu Jul 24 02:34:24 2008 +0000 Signed-off-by: Alexey Dobriyan Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 26dcce0fabbef75ae426461edf21b5030bad60f3 Merge: d7b6de1... eb6a12c... Author: Linus Torvalds Date: Wed Jul 23 18:37:44 2008 -0700 Merge branch 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits) NR_CPUS: Replace NR_CPUS in speedstep-centrino.c cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP NR_CPUS: Replace NR_CPUS in cpufreq userspace routines NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target cpumask: Provide a generic set of CPUMASK_ALLOC macros cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr Revert "cpumask: introduce new APIs" cpumask: make for_each_cpu_mask a bit smaller net: Pass reference to cpumask variable in net/sunrpc/svc.c ... Fix up trivial conflicts in drivers/cpufreq/cpufreq.c manually commit d7b6de14a0ef8a376f9d57b867545b47302b7bfb Merge: 30d3854... 4dca10a... Author: Linus Torvalds Date: Wed Jul 23 18:34:13 2008 -0700 Merge branch 'core/softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softlockup: fix invalid proc_handler for softlockup_panic softlockup: fix watchdog task wakeup frequency softlockup: fix watchdog task wakeup frequency softlockup: show irqtrace softlockup: print a module list on being stuck softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds softlockup: fix softlockup_thresh fix softlockup: fix softlockup_thresh unaligned access and disable detection at runtime softlockup: allow panic on lockup commit 30d38542ec777468bb6a31829076a2dbc5690e35 Merge: 20b7997... 044e5f4... Author: Linus Torvalds Date: Wed Jul 23 18:24:08 2008 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (85 commits) [ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR) [ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB) [ARM] pxa: add base support for PXA930 (aka Tavor-P) [ARM] Update mach-types [ARM] pxa: make littleton to use the new smc91x platform data [ARM] pxa: make zylonite to use the new smc91x platform data [ARM] pxa: make mainstone to use the new smc91x platform data [ARM] pxa: make lubbock to use new smc91x platform data [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data [NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable [NET] smc91x: add SMC91X_NOWAIT flag to platform data [NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_* [NET] smc91x: remove "irq_flags" from "struct smc91x_platdata" [ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper Support for LCD on e740 e750 e400 and e800 e-series PDAs E-series UDC support PXA UDC - allow use of inverted GPIO for pullup Add e350 support Fix broken e-series build E-series GPIO / IRQ definitions. ... commit 5ca33c6ac30596fc1403a092f46ea48c406734e4 Author: Harvey Harrison Date: Wed Jul 23 17:45:58 2008 -0700 cifs: assorted endian annotations fs/cifs/cifssmb.c:3917:13: warning: incorrect type in assignment (different base types) fs/cifs/cifssmb.c:3917:13: expected bool [unsigned] [usertype] is_unicode fs/cifs/cifssmb.c:3917:13: got restricted __le16 The comment explains why __force is used here. fs/cifs/connect.c:458:16: warning: cast to restricted __be32 fs/cifs/connect.c:458:16: warning: cast to restricted __be32 fs/cifs/connect.c:458:16: warning: cast to restricted __be32 fs/cifs/connect.c:458:16: warning: cast to restricted __be32 fs/cifs/connect.c:458:16: warning: cast to restricted __be32 fs/cifs/connect.c:458:16: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Signed-off-by: Steve French commit ad1ede127760d6ca4903f44dfe1a8a38b3bfb36c Author: Andre Detsch Date: Thu Jul 24 11:01:54 2008 +1000 powerpc/spufs: better placement of spu affinity reference context This patch adjusts the placement of a reference context from a spu affinity chain. The reference context can now be placed only on nodes that have enough spus not intended to be used by another gang (already running on the node). Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr commit af0575bba0f46dd9054d46e0a88c57afad3bf4d2 Author: Roland McGrath Date: Tue Jun 24 04:16:52 2008 -0700 i386 syscall audit fast-path This adds fast paths for 32-bit syscall entry and exit when TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing. These paths does not need to save and restore all registers as the general case of tracing does. Avoiding the iret return path when syscall audit is enabled helps performance a lot. Signed-off-by: Roland McGrath commit 0855b543222e79cbbd9d66dd56cb54740e7d524f Author: Andre Detsch Date: Thu Jul 24 10:57:26 2008 +1000 powerpc/spufs: fix aff_mutex and cbe_spu_info[n].list_mutex deadlock Currenlt,, it is possible to lock aff_mutex and cbe_spu_info[n].list_mutex in different orders, allowing a deadlock to occur. With this change, aff_mutex is not taken within a list_mutex critical section anymore. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr commit 5cbf1565f29eb57a86a305b08836613508e294d7 Author: Roland McGrath Date: Tue Jun 24 01:13:31 2008 -0700 x86_64 ia32 syscall audit fast-path This adds fast paths for 32-bit syscall entry and exit when TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing. These paths does not need to save and restore all registers as the general case of tracing does. Avoiding the iret return path when syscall audit is enabled helps performance a lot. Signed-off-by: Roland McGrath commit 86a1c34a929f30fde8ad01ea8245df61ddcf58b7 Author: Roland McGrath Date: Mon Jun 23 15:37:04 2008 -0700 x86_64 syscall audit fast-path This adds a fast path for 64-bit syscall entry and exit when TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing. This path does not need to save and restore all registers as the general case of tracing does. Avoiding the iret return path when syscall audit is enabled helps performance a lot. Signed-off-by: Roland McGrath commit 15e8f348db372dec21229fda5d52ae6ee7e64666 Author: Roland McGrath Date: Mon Jun 23 20:41:12 2008 -0700 x86_64: remove bogus optimization in sysret_signal This short-circuit path in sysret_signal looks wrong to me. AFAICT, in practice the branch is never taken--and if it were, it would go wrong. To wit, try loading a module whose init function does set_thread_flag(TIF_IRET), and see insmod crash (presumably with a wrong user stack pointer). This is because the FIXUP_TOP_OF_STACK work hasn't been done yet when we jump around the call to ptregscall_common and get to int_with_check--where it expects the user RSP,SS,CS and EFLAGS to have been stored by FIXUP_TOP_OF_STACK. I don't think it's normally possible to get to sysret_signal with no _TIF_DO_NOTIFY_MASK bits set anyway, so these two instructions are already superfluous. If it ever did happen, it is harmless to call do_notify_resume with nothing for it to do. Signed-off-by: Roland McGrath commit 70eed75d76635ba7350651b9bd96529a306ec67a Author: Patrick McHardy Date: Wed Jul 23 16:42:42 2008 -0700 netfilter: make security table depend on NETFILTER_ADVANCED Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b53fb67e385b856a991d402096379dab462170a Author: David S. Miller Date: Wed Jul 23 16:38:45 2008 -0700 tcp: Clear probes_out more aggressively in tcp_ack(). This is based upon an excellent bug report from Eric Dumazet. tcp_ack() should clear ->icsk_probes_out even if there are packets outstanding. Otherwise if we get a sequence of ACKs while we do have packets outstanding over and over again, we'll never clear the probes_out value and eventually think the connection is too sick and we'll reset it. This appears to be some "optimization" added to tcp_ack() in the 2.4.x timeframe. In 2.2.x, probes_out is pretty much always cleared by tcp_ack(). Here is Eric's original report: ---------------------------------------- Apparently, we can in some situations reset TCP connections in a couple of seconds when some frames are lost. In order to reproduce the problem, please try the following program on linux-2.6.25.* Setup some iptables rules to allow two frames per second sent on loopback interface to tcp destination port 12000 iptables -N SLOWLO iptables -A SLOWLO -m hashlimit --hashlimit 2 --hashlimit-burst 1 --hashlimit-mode dstip --hashlimit-name slow2 -j ACCEPT iptables -A SLOWLO -j DROP iptables -A OUTPUT -o lo -p tcp --dport 12000 -j SLOWLO Then run the attached program and see the output : # ./loop State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,200ms,1) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,200ms,3) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,200ms,5) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,200ms,7) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,200ms,9) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,200ms,11) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,201ms,13) State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 127.0.0.1:54455 127.0.0.1:12000 timer:(persist,188ms,15) write(): Connection timed out wrote 890 bytes but was interrupted after 9 seconds ESTAB 0 0 127.0.0.1:12000 127.0.0.1:54455 Exiting read() because no data available (4000 ms timeout). read 860 bytes While this tcp session makes progress (sending frames with 50 bytes of payload, every 500ms), linux tcp stack decides to reset it, when tcp_retries 2 is reached (default value : 15) tcpdump : 15:30:28.856695 IP 127.0.0.1.56554 > 127.0.0.1.12000: S 33788768:33788768(0) win 32792 15:30:28.856711 IP 127.0.0.1.12000 > 127.0.0.1.56554: S 33899253:33899253(0) ack 33788769 win 32792 15:30:29.356947 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 1:61(60) ack 1 win 257 15:30:29.356966 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 61 win 257 15:30:29.866415 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 61:111(50) ack 1 win 257 15:30:29.866427 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 111 win 257 15:30:30.366516 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 111:161(50) ack 1 win 257 15:30:30.366527 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 161 win 257 15:30:30.876196 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 161:211(50) ack 1 win 257 15:30:30.876207 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 211 win 257 15:30:31.376282 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 211:261(50) ack 1 win 257 15:30:31.376290 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 261 win 257 15:30:31.885619 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 261:311(50) ack 1 win 257 15:30:31.885631 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 311 win 257 15:30:32.385705 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 311:361(50) ack 1 win 257 15:30:32.385715 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 361 win 257 15:30:32.895249 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 361:411(50) ack 1 win 257 15:30:32.895266 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 411 win 257 15:30:33.395341 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 411:461(50) ack 1 win 257 15:30:33.395351 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 461 win 257 15:30:33.918085 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 461:511(50) ack 1 win 257 15:30:33.918096 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 511 win 257 15:30:34.418163 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 511:561(50) ack 1 win 257 15:30:34.418172 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 561 win 257 15:30:34.927685 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 561:611(50) ack 1 win 257 15:30:34.927698 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 611 win 257 15:30:35.427757 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 611:661(50) ack 1 win 257 15:30:35.427766 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 661 win 257 15:30:35.937359 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 661:711(50) ack 1 win 257 15:30:35.937376 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 711 win 257 15:30:36.437451 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 711:761(50) ack 1 win 257 15:30:36.437464 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 761 win 257 15:30:36.947022 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 761:811(50) ack 1 win 257 15:30:36.947039 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 811 win 257 15:30:37.447135 IP 127.0.0.1.56554 > 127.0.0.1.12000: P 811:861(50) ack 1 win 257 15:30:37.447203 IP 127.0.0.1.12000 > 127.0.0.1.56554: . ack 861 win 257 15:30:41.448171 IP 127.0.0.1.12000 > 127.0.0.1.56554: F 1:1(0) ack 861 win 257 15:30:41.448189 IP 127.0.0.1.56554 > 127.0.0.1.12000: R 33789629:33789629(0) win 0 Source of program : /* * small producer/consumer program. * setup a listener on 127.0.0.1:12000 * Forks a child * child connect to 127.0.0.1, and sends 10 bytes on this tcp socket every 100 ms * Father accepts connection, and read all data */ #include #include #include #include #include #include #include int port = 12000; char buffer[4096]; int main(int argc, char *argv[]) { int lfd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in socket_address; time_t t0, t1; int on = 1, sfd, res; unsigned long total = 0; socklen_t alen = sizeof(socket_address); pid_t pid; time(&t0); socket_address.sin_family = AF_INET; socket_address.sin_port = htons(port); socket_address.sin_addr.s_addr = htonl(INADDR_LOOPBACK); if (lfd == -1) { perror("socket()"); return 1; } setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(int)); if (bind(lfd, (struct sockaddr *)&socket_address, sizeof(socket_address)) == -1) { perror("bind"); close(lfd); return 1; } if (listen(lfd, 1) == -1) { perror("listen()"); close(lfd); return 1; } pid = fork(); if (pid == 0) { int i, cfd = socket(AF_INET, SOCK_STREAM, 0); close(lfd); if (connect(cfd, (struct sockaddr *)&socket_address, sizeof(socket_address)) == -1) { perror("connect()"); return 1; } for (i = 0 ; ;) { res = write(cfd, "blablabla\n", 10); if (res > 0) total += res; else if (res == -1) { perror("write()"); break; } else break; usleep(100000); if (++i == 10) { system("ss -on dst 127.0.0.1:12000"); i = 0; } } time(&t1); fprintf(stderr, "wrote %lu bytes but was interrupted after %g seconds\n", total, difftime(t1, t0)); system("ss -on | grep 127.0.0.1:12000"); close(cfd); return 0; } sfd = accept(lfd, (struct sockaddr *)&socket_address, &alen); if (sfd == -1) { perror("accept"); return 1; } close(lfd); while (1) { struct pollfd pfd[1]; pfd[0].fd = sfd; pfd[0].events = POLLIN; if (poll(pfd, 1, 4000) == 0) { fprintf(stderr, "Exiting read() because no data available (4000 ms timeout).\n"); break; } res = read(sfd, buffer, sizeof(buffer)); if (res > 0) total += res; else if (res == 0) break; else perror("read()"); } fprintf(stderr, "read %lu bytes\n", total); close(sfd); return 0; } ---------------------------------------- Signed-off-by: David S. Miller commit 1685a03e98b7e9b83e0aa692c1cc470b3aa37597 Author: Jan Nikitenko Date: Thu Jul 24 01:27:07 2008 +0200 mmc_spi: put signals to low power off fix The original intention was to write a zero byte to mmc to force spi signals to low when doing power off. Somehow the spi_w8r8 call got there so a read followed the write of single zero byte. This patch changes that to simple write of zero byte without the following read. This way the power off is more reliable and completely sufficient. Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 7ae93f51d7fa8b9130d47e0b7d17979a165c5bc3 Author: David S. Miller Date: Wed Jul 23 16:21:07 2008 -0700 sparc64: Fix cpufreq notifier registry. Based upon a report by Daniel Smolik. We do it too early, which triggers a BUG in cpufreq_register_notifier(). Signed-off-by: David S. Miller commit e8ebe3b893792887317bc24cc4608753f81b81d3 Author: Ingo Molnar Date: Wed Jul 23 15:30:52 2008 -0700 e1000e: fix e1000_netpoll(), remove extraneous e1000_clean_tx_irq() call Evgeniy Polyakov noticed that drivers/net/e1000e/netdev.c:e1000_netpoll() was calling e1000_clean_tx_irq() without taking the TX lock. David Miller suggested to remove the call altogether: since in this callpah there's periodic calls to ->poll() anyway which will do e1000_clean_tx_irq() and will garbage-collect any finished TX ring descriptors. This fix solved the e1000e+netconsole crashes i've been seeing: ============================================================================= BUG skbuff_head_cache: Poison overwritten ----------------------------------------------------------------------------- INFO: 0xf658ae9c-0xf658ae9c. First byte 0x6a instead of 0x6b INFO: Allocated in __alloc_skb+0x2c/0x110 age=0 cpu=0 pid=5098 INFO: Freed in __kfree_skb+0x31/0x80 age=0 cpu=1 pid=4440 INFO: Slab 0xc16cc140 objects=16 used=1 fp=0xf658ae00 flags=0x400000c3 INFO: Object 0xf658ae00 @offset=3584 fp=0xf658af00 Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 8efdbde647f542ce0d303273df7ad4157caa03d0 Author: Jeff Layton Date: Wed Jul 23 21:28:12 2008 +0000 [CIFS] break ATTR_SIZE changes out into their own function Move the code that handles ATTR_SIZE changes to its own function. This makes for a smaller function and reduces the level of indentation. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 1fa6d8181b7bb0361512170c30e436dcc95591ee Author: Roland Dreier Date: Wed Jul 23 14:20:12 2008 -0700 MAINTAINERS: Remove Glenn Streiff from NetEffect entry Glenn is no longer at NetEffect. Signed-off-by: Roland Dreier commit b4942af65028c5eb516fdd9053020ccb2ee186ce Author: Oliver Hartkopp Date: Wed Jul 23 14:06:04 2008 -0700 net: Update entry in af_family_clock_key_strings In the merge phase of the CAN subsystem the af_family_clock_key_strings[] have been added to sock.c in commit 443aef0eddfa44c158d1b94ebb431a70638fcab4 (lockdep: fixup sk_callback_lock annotation). This trivial patch adds the missing name for address family 29 (AF_CAN). Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5b3ab1dbd401b36ba2f9bfee2d2dae252fd62cd8 Author: David S. Miller Date: Wed Jul 23 14:01:29 2008 -0700 netdev: Remove warning from __netif_schedule(). It isn't helping anything and we aren't going to be able to change all the drivers that do queue wakeups in strange situations. Just letting a noop_qdisc get scheduled will work because when qdisc_run() executes via net_tx_work() it will simply find no packets pending when it makes the ->dequeue() call in qdisc_restart. Signed-off-by: David S. Miller commit 20b7997e8abdf338dcc27fb4f1333c4973a7f113 Merge: 5554b35... 7659150... Author: Linus Torvalds Date: Wed Jul 23 12:04:34 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: sdhci: highmem capable PIO routines sg: reimplement sg mapping iterator mmc_test: print message when attaching to card mmc: Remove Russell as primecell mci maintainer mmc_block: bounce buffer highmem support sdhci: fix bad warning from commit c8b3e02 sdhci: add warnings for bad buffers in ADMA path mmc_test: test oversized sg lists mmc_test: highmem tests s3cmci: ensure host stopped on machine shutdown au1xmmc: suspend/resume implementation s3cmci: fixes for section mismatch warnings pxamci: trivial fix of DMA alignment register bit clearing commit 5554b35933245e95710d709175e14c02cbc956a4 Merge: 0f6e38a... 7f1b358... Author: Linus Torvalds Date: Wed Jul 23 12:03:18 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (24 commits) I/OAT: I/OAT version 3.0 support I/OAT: tcp_dma_copybreak default value dependent on I/OAT version I/OAT: Add watchdog/reset functionality to ioatdma iop_adma: cleanup iop_chan_xor_slot_count iop_adma: document how to calculate the minimum descriptor pool size iop_adma: directly reclaim descriptors on allocation failure async_tx: make async_tx_test_ack a boolean routine async_tx: remove depend_tx from async_tx_sync_epilog async_tx: export async_tx_quiesce async_tx: fix handling of the "out of descriptor" condition in async_xor async_tx: ensure the xor destination buffer remains dma-mapped async_tx: list_for_each_entry_rcu() cleanup dmaengine: Driver for the Synopsys DesignWare DMA controller dmaengine: Add slave DMA interface dmaengine: add DMA_COMPL_SKIP_{SRC,DEST}_UNMAP flags to control dma unmap dmaengine: Add dma_client parameter to device_alloc_chan_resources dmatest: Simple DMA memcpy test client dmaengine: DMA engine driver for Marvell XOR engine iop-adma: fix platform driver hotplug/coldplug dmaengine: track the number of clients using a channel ... Fixed up conflict in drivers/dca/dca-sysfs.c manually commit 0f6e38a6381446eff5175b77d1094834a633a90f Merge: e669e81... 3b216c9... Author: Linus Torvalds Date: Wed Jul 23 11:59:37 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: kgdboc console poll hooks for mpsc uart kgdb: kgdboc console poll hooks for cpm uart kgdb, powerpc: arch specific powerpc kgdb support kgdb: support for ARCH=arm kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variable commit e669e8179d364bb11ed51504e1a1c60830bff4c5 Merge: 876a425... fc41069... Author: Linus Torvalds Date: Wed Jul 23 11:59:09 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: (60 commits) ide: small whitespace fixes ide: ide-cd_ioctl.c fix sparse integer as NULL pointer warnings ide: ide-cd.c fix sparse endianness warnings ide-cd: convert to using the new atapi_flags ide: remove unused PC_FLAG_DRQ_INTERRUPT ide-scsi: convert to using the new atapi_flags ide-tape: convert to using the new atapi_flags ide-floppy: convert to using the new atapi_flags (take 2) ide: add per-device flags ide: use rq->cmd instead of pc->c in atapi common code ide-scsi: pass packet command in rq->cmd ide-tape: pass packet command in rq->cmd ide-tape: make room for packet command ids in rq->cmd ide-floppy: pass packet command in rq->cmd ide: remove pc->callback member from ide_atapi_pc ide-scsi: use drive->pc_callback instead of pc->callback ide-tape: use drive->pc_callback instead of pc->callback ide-floppy: use drive->pc_callback instead of pc->callback ide: push pc callback pointer into the ide_drive_t structure drivers/ide/ide-tape.c: remove double kfree ... commit 09e50d55a9490e9b7a6fdfbf8fc078924b25ecb5 Author: Jeff Layton Date: Wed Jul 23 10:11:19 2008 -0400 lockdep: annotate cifs in-kernel sockets Put CIFS sockets in their own class to avoid some lockdep warnings. CIFS sockets are not exposed to user-space, and so are not subject to the same deadlock scenarios. A similar change was made a couple of years ago for RPC sockets in commit ed07536ed6731775219c1df7fa26a7588753e693. This patch should prevent lockdep false-positives like this one: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.18-98.el5.jtltest.38.bz456320.1debug #1 ------------------------------------------------------- test5/2483 is trying to acquire lock: (sk_lock-AF_INET){--..}, at: [] tcp_sendmsg+0x1c/0xb2f but task is already holding lock: (&inode->i_alloc_sem){--..}, at: [] notify_change+0xf5/0x2e0 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&inode->i_alloc_sem){--..}: [] __lock_acquire+0x9a9/0xadf [] lock_acquire+0x55/0x70 [] notify_change+0xf5/0x2e0 [] down_write+0x3c/0x68 [] notify_change+0xf5/0x2e0 [] do_truncate+0x50/0x6b [] get_write_access+0x40/0x46 [] may_open+0x1d3/0x22e [] open_namei+0x2c6/0x6dd [] do_filp_open+0x1c/0x38 [] _spin_unlock+0x17/0x20 [] get_unused_fd+0xf9/0x107 [] do_sys_open+0x44/0xbe [] system_call+0x7e/0x83 [] 0xffffffffffffffff -> #2 (&sysfs_inode_imutex_key){--..}: [] __lock_acquire+0x9a9/0xadf [] create_dir+0x26/0x1d7 [] lock_acquire+0x55/0x70 [] create_dir+0x26/0x1d7 [] mutex_lock_nested+0x104/0x29c [] __lock_acquire+0x9ca/0xadf [] create_dir+0x26/0x1d7 [] sysfs_create_dir+0x58/0x76 [] kobject_add+0xdb/0x198 [] class_device_add+0xb2/0x465 [] kobject_get+0x12/0x17 [] register_netdevice+0x270/0x33e [] register_netdev+0x59/0x67 [] net_olddevs_init+0xb/0xac [] init+0x1f9/0x2fc [] _spin_unlock_irq+0x24/0x27 [] trace_hardirqs_on_thunk+0x35/0x37 [] child_rip+0xa/0x11 [] _spin_unlock_irq+0x24/0x27 [] restore_args+0x0/0x30 [] acpi_ds_init_one_object+0x0/0x80 [] init+0x0/0x2fc [] child_rip+0x0/0x11 [] 0xffffffffffffffff -> #1 (rtnl_mutex){--..}: [] __lock_acquire+0x9a9/0xadf [] ip_mc_leave_group+0x23/0xb7 [] lock_acquire+0x55/0x70 [] ip_mc_leave_group+0x23/0xb7 [] mutex_lock_nested+0x104/0x29c [] ip_mc_leave_group+0x23/0xb7 [] do_ip_setsockopt+0x6d1/0x9bf [] lock_release_holdtime+0x27/0x48 [] lock_release_holdtime+0x27/0x48 [] do_page_fault+0x503/0x835 [] socket_has_perm+0x5b/0x68 [] ip_setsockopt+0x22/0x78 [] sys_setsockopt+0x91/0xb7 [] tracesys+0xd5/0xdf [] 0xffffffffffffffff -> #0 (sk_lock-AF_INET){--..}: [] print_stack_trace+0x59/0x68 [] __lock_acquire+0x8bf/0xadf [] lock_acquire+0x55/0x70 [] tcp_sendmsg+0x1c/0xb2f [] lock_sock+0xd4/0xe4 [] _local_bh_enable+0xcb/0xe0 [] restore_args+0x0/0x30 [] tcp_sendmsg+0x1c/0xb2f [] sock_sendmsg+0xf3/0x110 [] autoremove_wake_function+0x0/0x2e [] kernel_text_address+0x1a/0x26 [] dump_trace+0x211/0x23a [] find_usage_backwards+0x5f/0x88 [] MD5Final+0xaf/0xc2 [cifs] [] cifs_calculate_signature+0x55/0x69 [cifs] [] kernel_sendmsg+0x35/0x47 [] smb_send+0xa3/0x151 [cifs] [] SendReceive+0x1a2/0x448 [cifs] [] __lock_acquire+0x95c/0xadf [] CIFSSMBSetEOF+0x20d/0x25b [cifs] [] cifs_set_file_size+0x110/0x3b7 [cifs] [] cifs_setattr+0x3b2/0x6f6 [cifs] [] notify_change+0xf5/0x2e0 [] notify_change+0x145/0x2e0 [] do_truncate+0x50/0x6b [] get_write_access+0x40/0x46 [] may_open+0x1d3/0x22e [] open_namei+0x2c6/0x6dd [] do_filp_open+0x1c/0x38 [] _spin_unlock+0x17/0x20 [] get_unused_fd+0xf9/0x107 [] do_sys_open+0x44/0xbe [] tracesys+0xd5/0xdf [] 0xffffffffffffffff other info that might help us debug this: 2 locks held by test5/2483: #0: (&inode->i_mutex){--..}, at: [] do_truncate+0x45/0x6b #1: (&inode->i_alloc_sem){--..}, at: [] notify_change+0xf5/0x2e0 stack backtrace: Call Trace: [] print_circular_bug_tail+0x65/0x6e [] print_stack_trace+0x59/0x68 [] __lock_acquire+0x8bf/0xadf [] lock_acquire+0x55/0x70 [] tcp_sendmsg+0x1c/0xb2f [] lock_sock+0xd4/0xe4 [] _local_bh_enable+0xcb/0xe0 [] restore_args+0x0/0x30 [] tcp_sendmsg+0x1c/0xb2f [] sock_sendmsg+0xf3/0x110 [] autoremove_wake_function+0x0/0x2e [] kernel_text_address+0x1a/0x26 [] dump_trace+0x211/0x23a [] find_usage_backwards+0x5f/0x88 [] :cifs:MD5Final+0xaf/0xc2 [] :cifs:cifs_calculate_signature+0x55/0x69 [] kernel_sendmsg+0x35/0x47 [] :cifs:smb_send+0xa3/0x151 [] :cifs:SendReceive+0x1a2/0x448 [] __lock_acquire+0x95c/0xadf [] :cifs:CIFSSMBSetEOF+0x20d/0x25b [] :cifs:cifs_set_file_size+0x110/0x3b7 [] :cifs:cifs_setattr+0x3b2/0x6f6 [] notify_change+0xf5/0x2e0 [] notify_change+0x145/0x2e0 [] do_truncate+0x50/0x6b [] get_write_access+0x40/0x46 [] may_open+0x1d3/0x22e [] open_namei+0x2c6/0x6dd [] do_filp_open+0x1c/0x38 [] _spin_unlock+0x17/0x20 [] get_unused_fd+0xf9/0x107 [] do_sys_open+0x44/0xbe [] tracesys+0xd5/0xdf Signed-off-by: Jeff Layton Acked-by: Peter Zijlstra Signed-off-by: Steve French commit fc410698ebf7abfb64f0e2337b871298557f0575 Author: Pavel Machek Date: Wed Jul 23 19:56:02 2008 +0200 ide: small whitespace fixes Small whitespace fixes for drivers/ide. Signed-off-by: Pavel Machek Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a677aba5e0e45cc5b2a04c059edfcf06c1ea9bb Author: Harvey Harrison Date: Wed Jul 23 19:56:02 2008 +0200 ide: ide-cd_ioctl.c fix sparse integer as NULL pointer warnings The function ide_cd_queue_pc should be checked as the bufflen arg is dereferenced and lots of callers are passing in NULL. drivers/ide/ide-cd_ioctl.c:124:46: warning: Using plain integer as NULL pointer drivers/ide/ide-cd_ioctl.c:149:47: warning: Using plain integer as NULL pointer drivers/ide/ide-cd_ioctl.c:231:46: warning: Using plain integer as NULL pointer drivers/ide/ide-cd_ioctl.c:374:46: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Andrew Morton Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 141d3b27fc4b4f97ca6d9b5c1cc8aeeab967dcfc Author: Harvey Harrison Date: Wed Jul 23 19:56:02 2008 +0200 ide: ide-cd.c fix sparse endianness warnings drivers/ide/ide-cd.c:1276:46: warning: Using plain integer as NULL pointer drivers/ide/ide-cd.c:1298:19: warning: cast to restricted __be32 drivers/ide/ide-cd.c:1300:4: warning: cast to restricted __be32 drivers/ide/ide-cd.c:1522:14: warning: cast to restricted __le16 drivers/ide/ide-cd.c:1523:14: warning: cast to restricted __le16 drivers/ide/ide-cd.c:1525:14: warning: cast to restricted __be16 drivers/ide/ide-cd.c:1526:14: warning: cast to restricted __be16 drivers/ide/ide-cd.c:1667:37: warning: cast to restricted __be16 Signed-off-by: Harvey Harrison Cc: Andrew Morton Acked-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 570f89ea5f3ee93756dc2293b83bdfedb8d35348 Author: Borislav Petkov Date: Wed Jul 23 19:56:02 2008 +0200 ide-cd: convert to using the new atapi_flags There should be no functionality change resulting from this patch. [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ac77ef8b03677c8ae8afe77bccc5f6a969193a79 Author: Borislav Petkov Date: Wed Jul 23 19:56:01 2008 +0200 ide: remove unused PC_FLAG_DRQ_INTERRUPT There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit be4c916e96bcde629463d7577d4c402c7f6e6f3e Author: Borislav Petkov Date: Wed Jul 23 19:56:01 2008 +0200 ide-scsi: convert to using the new atapi_flags Remove unused IDESCSI_PC_RQ while at it. There should be no functionality change resulting from this patch. [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f2e3ab52afb3b05879b9d82a05740cd924993325 Author: Borislav Petkov Date: Wed Jul 23 19:56:01 2008 +0200 ide-tape: convert to using the new atapi_flags There should be no functionality change resulting from this patch. [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ea68d270ff55bcdfa5d07697eb68103b5b02c7bb Author: Borislav Petkov Date: Wed Jul 23 19:56:01 2008 +0200 ide-floppy: convert to using the new atapi_flags (take 2) while at it, remove PC_FLAG_ZIP_DRIVE from the packed command flags altogether and query the drive type through drive->atapi_flags. v2: ide-floppy fix. There should be no functionality change resulting from this patch. [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b8ac5398ca8137b41aa5da4d9fad89153450aaa Author: Borislav Petkov Date: Wed Jul 23 19:56:01 2008 +0200 ide: add per-device flags Push device flags up into ide_drive_t. There should be no functionality change resulting from this patch. [bart: IDE_FLAG_* -> IDE_AFLAG_*, dev_flags -> atapi_flags] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8fccf8995c6d462db50265a5f7fa9a288a5a4590 Author: Borislav Petkov Date: Wed Jul 23 19:56:01 2008 +0200 ide: use rq->cmd instead of pc->c in atapi common code There should be no functionality change resulting from this patch. [bart: s/HWGROUP(drive)/hwif->hwgroup/] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 08feacf3bcc20c33e6a2a91d85d8190dd219d967 Author: Borislav Petkov Date: Wed Jul 23 19:56:00 2008 +0200 ide-scsi: pass packet command in rq->cmd Make a redundant copy of the packet command bits into rq->cmd. Later, after all drivers have been converted, it'll be switched to use that in the common code instead of pc->c. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0014c75be31d9fa7435105afa9960374a82cc55c Author: Borislav Petkov Date: Wed Jul 23 19:56:00 2008 +0200 ide-tape: pass packet command in rq->cmd Make a redundant copy of the packet command bits into rq->cmd. Later, after all drivers have been converted, it'll be switched to use that in the common code instead of pc->c. While at it, simplify ide_tape_create_rw_cmd. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83dd573513471c67f9cc93a88795c25a91ebf4b3 Author: Borislav Petkov Date: Wed Jul 23 19:56:00 2008 +0200 ide-tape: make room for packet command ids in rq->cmd ide-tape uses rq->cmd for special commands from the chrdev interface so move those to byte 13 (BLK_MAX_CDB = 16) since a packet cmd is max 12 bytes. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 20cd93be67f967c57e5abf62bf5652a00c66b9f0 Author: Borislav Petkov Date: Wed Jul 23 19:56:00 2008 +0200 ide-floppy: pass packet command in rq->cmd Make a redundant copy of the packet command bits into rq->cmd. Later, after all drivers have been converted, it'll be switched to use that in the common code instead of pc->c. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8bcda3bc492c56abed33a8cbf824c410d7ce69f0 Author: Borislav Petkov Date: Wed Jul 23 19:56:00 2008 +0200 ide: remove pc->callback member from ide_atapi_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit db9d286988b9e905045c536f681e85fa5e3a728b Author: Borislav Petkov Date: Wed Jul 23 19:55:59 2008 +0200 ide-scsi: use drive->pc_callback instead of pc->callback There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 776bb0270ea72c40f95347dcac868c9f602dcb3e Author: Borislav Petkov Date: Wed Jul 23 19:55:59 2008 +0200 ide-tape: use drive->pc_callback instead of pc->callback The if-else block in the IRQ handler is only temporary so that bisect searches don't break and it'll be removed after converting the remainder of the drivers. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2207fa5af1507ea018fc95e777276edb1ca5601a Author: Borislav Petkov Date: Wed Jul 23 19:55:59 2008 +0200 ide-floppy: use drive->pc_callback instead of pc->callback It is important that drive->pc_callback is set prior to enabling IRQs on the device since this is called from the IRQ handler. Otherwise it hurts as I learnt the hard way from the several "Kernel panic - not synching: Fatal exception in interrupt" during the weekend :). The if-else block in the IRQ handler is only temporary so that bisect searches don't break and it'll be removed after converting the remainder of the drivers. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d7c26ebb5bca284ece9db7311a9e180aabae1922 Author: Borislav Petkov Date: Wed Jul 23 19:55:59 2008 +0200 ide: push pc callback pointer into the ide_drive_t structure Refrain from carrying the callback ptr with every packet command since the callback function is only one anyways. ide_drive_t is probably not the most suitable place for it right now but is the more sane solution. Besides, these structs are going to be reorganized anyways during the generic ide rewrite. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4b5075050072ed7c4730ee547ae80117c4fa8513 Author: Darren Jenkins Date: Wed Jul 23 19:55:59 2008 +0200 drivers/ide/ide-tape.c: remove double kfree Coverity CID: 2336 USE_AFTER_FREE drivers/ide/ide-tape.c ide_tape_kfree_buffer() double free's a pointer (hint freed by an alias in first outer loop). This patch simply removes the superfluous kfree(). Signed-off-by: Darren Jenkins Acked-by: Borislav Petkov Cc: gadio@netvision.net.il Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a69580e1ea9516caada5eed202afd39546e9809 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:59 2008 +0200 ide: add ide_host_free() helper (take 2) * Add ide_host_free() helper and convert ide_host_remove() to use it. * Fix handling of ide_host_register() failure in ide_host_add(), icside.c, ide-generic.c, falconide.c and sgiioc4.c. While at it: * Fix handling of ide_host_alloc_all() failure in ide-generic.c. * Fix handling of ide_host_alloc() failure in falconide.c (also return the correct error value if no device is found). v2: * falconide build fix. (From Stephen Rothwell) Signed-off-by: Bartlomiej Zolnierkiewicz commit 18de10170df31d34b342612f1c896a16a52f0a5c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:58 2008 +0200 ide: allocate ide_hwif_t instances dynamically * Allocate ide_hwif_t instances dynamically and remove ide_hwifs[]. This cuts almost ~14kB from ide-probe.o (x86-32, MAX_HWIFS == 10): text data bss dec hex filename 9140 40 14084 23264 5ae0 drivers/ide/ide-probe.o.before 9169 40 44 9253 2425 drivers/ide/ide-probe.o.after * Remove no longer needed ide_init_port_data() call from ide_unregister(). Signed-off-by: Bartlomiej Zolnierkiewicz commit af1cbba37343c827e116638b097b94f5e6c38963 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:58 2008 +0200 ide: add ide_ports[] * Add ide_ports[] table keeping pointers to all initialized ports. * Set ide_ports[] entry for a given port in init_irq() and clear it ide_remove_port_from_hwgroup(). * Convert init_irq() to use ide_ports[] instead of ide_hwifs[] for grouping ports into hwgroup. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6059143ae34f30bb49ec8733468315284f78e2da Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:58 2008 +0200 ide: move ide_remove_port_from_hwgroup() to ide-probe.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 8cdf310025bff8c5ef78564f525a8f347952237b Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:57 2008 +0200 ide: fix IDE port slots reservation and freeing (take 2) * Make ide_find_port_slot() return port slot index. * Add ide_free_port_slot() helper. * Move ide_init_port_data() call and error printk() from ide_find_port_slot() to ide_host_alloc_all(). * Make ide_{find,free}_port_slot() take ide_cfg_mtx mutex and convert them use ide_indexes bitmap to keep track of reserved port slots. * Don't set hwif->chipset in ide_host_alloc_all() as it is no longer necessary. v2: * Pass the correct slot index to ide_init_port_data(). Signed-off-by: Bartlomiej Zolnierkiewicz commit e0d0020788543febd10ab933bde0fa181b627f4f Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:57 2008 +0200 ide: fix ide_host_register() return value Fix ide_host_register() to fail only if all ports cannot be registered. While at it: * Use host->ports[] instead of ide_hwifs[] and remove idx[]. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6f904d015262dfa43eb1cecc00b0998b4c3543f2 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:57 2008 +0200 ide: add ide_host_add() helper Add ide_host_add() helper which does ide_host_alloc()+ide_host_register(), then convert ide_setup_pci_device[s](), ide_legacy_device_add() and some host drivers to use it. While at it: * Fix ide_setup_pci_device[s](), ide_arm.c, gayle.c, ide-4drives.c, macide.c, q40ide.c, cmd640.c and cs5520.c to return correct error value. * -ENOENT -> -ENOMEM in rapide.c, ide-h8300.c, ide-generic.c, au1xxx-ide.c and pmac.c * -ENODEV -> -ENOMEM in palm_bk3710.c, ide_platform.c and delkin_cb.c * -1 -> -ENOMEM in ide-pnp.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 48c3c1072651922ed153bcf0a33ea82cf20df390 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:57 2008 +0200 ide: add struct ide_host (take 3) * Add struct ide_host which keeps pointers to host's ports. * Add ide_host_alloc[_all]() and ide_host_remove() helpers. * Pass 'struct ide_host *host' instead of 'u8 *idx' to ide_device_add[_all]() and rename it to ide_host_register[_all](). * Convert host drivers and core code to use struct ide_host. * Remove no longer needed ide_find_port(). * Make ide_find_port_slot() static. * Unexport ide_unregister(). v2: * Add missing 'struct ide_host *host' to macide.c. v3: * Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/) (Noticed by Stephen Rothwell). Signed-off-by: Bartlomiej Zolnierkiewicz commit 374e042c3e767ac2e5a40b78529220e0b3de793c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:56 2008 +0200 ide: add struct ide_tp_ops (take 2) * Add struct ide_tp_ops for transport methods. * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info and ide_hwif_t. * Set the default hwif->tp_ops in ide_init_port_data(). * Set host driver specific hwif->tp_ops in ide_init_port(). * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(), ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}() and ata_{in,out}put_data(). * Convert host drivers and core code to use struct ide_tp_ops. * Remove no longer needed default_hwif_transport(). * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops. While at it: * Use struct ide_port_info in falconide.c and q40ide.c. * Rename ata_{in,out}put_data() to ide_{in,out}put_data(). v2: * Fix missing convertion in ns87415.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit d6276b5f5cc7508124de291f3ed59c6945c17ae7 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:56 2008 +0200 ide: add 'config' field to hw_regs_t Add 'config' field to hw_regs_t and use it to set hwif->config_data in ide_init_port_hw(), then convert ide_legacy_init_one() to use hw->config. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit edc74b247bedb3a1f80eb6371d4171f2d49c1c77 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:56 2008 +0200 ide-generic: probing fix * Don't skip probing IDE port if the corresponding ide_hwifs[] slot is already occupied. * Remove duplicate idx[i] assignment. Signed-off-by: Bartlomiej Zolnierkiewicz commit 73dc532bc1eebe3bff6b918c5685a219eae27f97 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:56 2008 +0200 gayle: reserve memory resources at once * Reserve memory resources for all IDE ports at once by moving request_mem_region() out of 'for ()' loop and always defining GAYLE_IDEREG_SIZE to 0x2000. * Keep memory resources even if no free IDE slots can be found (this driver is unloadable currently). Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b2a5c7149ee4af4aff8fee953f66fc846d92cea Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:56 2008 +0200 ide: filter out "default" transfer mode values in set_xfer_rate() * Filter out "default" transfer mode values (0x00 - default PIO mode, 0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted /proc/ide/hd?/settings:current_speed setting. Allowing "default" transfer mode values is a dangerous thing to do as we don't support programming controller to the "default" transfer mode and devices often use different values for the default and maximum PIO mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay programmed for higher PIO mode while device will use the lower PIO mode. There is no functionality loss as by using special IOCTLs device can still be programmed to "default" transfer modes (it is only useful for debugging/testing purposes anyway). * Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was previously used by few host drivers to program the controller to PIO0 timings for "default" transfer mode == 0x01 (although some host drivers would program invalid PIO timings instead). * Cleanup ide_set_xfer_rate() and add BUG_ON(). Suggested-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c30daac190de23779090c645e680c7977377032c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:55 2008 +0200 ide: filter out invalid transfer mode values in set_xfer_rate() Filter out invalid transfer mode values (0x02-0x07) in write handler for obsoleted /proc/ide/hd?/settings:current_speed setting. While at it: * Use XFER_UDMA_6 define. Suggested-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ba4b2e607e4e9eaa929935325dafd5c86d3b5262 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:55 2008 +0200 ide: remove dead Virtual DMA support Lets remove dead Virtual DMA support for now so it doesn't clutter core IDE code (it can be bring back when there is a need for it): * Remove IDE_HFLAG_VDMA host flag. * Remove ide_drive_t.vdma flag. * cs5520.c: remove stale FIXMEs, cs5520_dma_host_set() and cs5520_dma_ops (also there is no longer a need to set IDE_HFLAG_NO_ATAPI_DMA). There should be no functional changes caused by this patch. Cc: TAKADA Yoshihito Signed-off-by: Bartlomiej Zolnierkiewicz commit 472b4bc1af50431e08130c786ef0612f5b641839 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:55 2008 +0200 ide: mark hpt34x host driver as BROKEN Alan Cox has noticed some time ago that hpt34x is broken (http://lkml.org/lkml/2007/7/3/257): "No the old driver doesn't even do that. It starts up. It spuriously adjusts some non writable PCI BAR registers, prints a message about resources being in use already then exits." Reported-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit cbf3d262e0b70652d602b9c072daf1c1f29dccf0 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:54 2008 +0200 ide: limit cy82c693 host driver to ALPHA Cc: Ivan Kokshaysky Signed-off-by: Bartlomiej Zolnierkiewicz commit 761052e676372465fdeb97c148d5a4b0790fa8a0 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:54 2008 +0200 ide: remove ->INB, ->OUTB and ->OUTBSYNC methods * Remove no longer needed ->INB, ->OUTB and ->OUTBSYNC methods. Then: * Remove no longer used default_hwif_[mm]iops() and ide_[mm_]outbsync(). * Cleanup SuperIO handling in ns87415.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1823649b5abb77ffe638178bc5253249d3ecd17d Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:54 2008 +0200 ide: add ide_read_bcount_and_ireason() helper Add ide_read_bcount_and_ireason() helper and use it instead of ->INB in {cdrom_newpc,ide_pc}_intr(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 88a72109b2256bf2974f324a8f890b4a06faf7e9 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:54 2008 +0200 ide: add ide_read_ireason() helper Add ide_read_ireason() helper and use instead of ->INB for reading ATAPI Interrupt Reason register. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f2efb82af3cfbac995f590a8f8d3beb6fa5678b Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:54 2008 +0200 ide: add ide_read_device() helper Add ide_read_device() helper and convert do_probe() to use it instead of ->INB. Signed-off-by: Bartlomiej Zolnierkiewicz commit 92eb43800a3c1300bd5cb8a2a27e6f2a84f7042e Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:53 2008 +0200 ide: use ->tf_read in ide_read_error() * Add IDE_TFLAG_IN_FEATURE taskfile flag for reading Feature register and handle it in ->tf_read. * Convert ide_read_error() to use ->tf_read instead of ->INB, then uninline and export it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 40f095f0138ea5b5971e5128b27e1bb907161149 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:53 2008 +0200 ide: use ->tf_load in SELECT_DRIVE() Convert SELECT_DRIVE() to use ->tf_load instead of ->OUTB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4e65837b293f3ee6399006e94120d61430f72f26 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:53 2008 +0200 ide: use ->tf_load in actual_try_to_identify() Convert actual_try_to_identify() to use ->tf_load instead of ->OUTB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 59be2c80f0c1080634006135aa9130f1736fbfba Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:52 2008 +0200 ide: use ->tf_load in ide_config_drive_speed() Convert ide_config_drive_speed() to use ->tf_load instead of ->OUTB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3c09384e95fa4048a06f179849901f3e57266d58 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:52 2008 +0200 ide: change order of register access in ide_config_drive_speed() Write ATA Feature register before ATA Sector Count register as a preparation to use ->tf_load in ide_config_drive_speed(). This change shouldn't affect anything (just an usual paranoia). Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e6afb3b7401f0181da74a1add57f126946b43e6 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:52 2008 +0200 ide: add ->set_irq method Add ->set_irq method for setting nIEN bit of ATA Device Control register and use it instead of ide_set_irq(). While at it: * Use ->set_irq in init_irq() and do_reset1(). * Don't use HWIF() macro in ide_check_pm_state(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f6d8a0fd8f6cc5ee2219a8cf9b2da16dfd67397 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:52 2008 +0200 ide: add ->read_altstatus method * Remove ide_read_altstatus() inline helper. * Add ->read_altstatus method for reading ATA Alternate Status register and use it instead of ->INB. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit b73c7ee25da6133f97f47ffd3557288417da7c76 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:52 2008 +0200 ide: add ->read_status method * Remove ide_read_status() inline helper. * Add ->read_status method for reading ATA Status register and use it instead of ->INB. While at it: * Don't use HWGROUP() macro. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c6dfa867bb45f4bff2e48f3bc89ab1d6a7ab4c21 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:51 2008 +0200 ide: add ->exec_command method Add ->exec_command method for writing ATA Command register and use it instead of ->OUTBSYNC. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ebb00fb55d0566bb3e81518122a57b4b3bedf1e4 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:51 2008 +0200 ide: factor out simplex handling from ide_pci_dma_base() * Factor out simplex handling from ide_pci_dma_base() to ide_pci_check_simplex(). * Set hwif->dma_base early in ->init_dma method / ide_hwif_setup_dma() and reset it in ide_init_port() if DMA initialization fails. * Use ->read_sff_dma_status instead of ->INB in ide_pci_dma_base(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 81e8d5a34f7d2a2acbe309cfa5810a9699a63239 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:51 2008 +0200 ide: remove ide_setup_dma() Export sff_dma_ops and then remove ide_setup_dma(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit cab7f8eda40d3e3e16b137c67cdddc2cf893c5d7 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:51 2008 +0200 ide: remove ->dma_{status,command} fields from ide_hwif_t * Use ->dma_base + offset instead of ->dma_{status,command} and remove no longer needed ->dma_{status,command}. While at it: * Use ATA_DMA_* defines. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ab86f91e8739e0b1587a16e4792ab5e4bb11f1b5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:50 2008 +0200 ide: use I/O ops directly in ide-dma.c Use I/O ops directly in ide_dma_host_set(), ide_dma_setup(), ide_dma_start() and __ide_dma_end(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit b2f951aabc9cc7d5fb987aeec9aef96ccce618a5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:50 2008 +0200 ide: add ->read_sff_dma_status method Add ->read_sff_dma_status method for reading DMA Status register and use it instead of ->INB. While at it: * Use inb() directly in ns87415.c::ns87415_dma_end(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c97c6aca75fd5f718056fde7cff798b8cbdb07c0 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:50 2008 +0200 ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3) * Add 'hw_regs_t **hws' argument to ide_device_add[_all]() and convert host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use it instead of calling ide_init_port_hw() directly. [ However if host has > 1 port we must still set hwif->chipset to hint consecutive ide_find_port() call that the previous slot is occupied. ] * Unexport ide_init_port_hw(). v2: * Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c. (Suggested by Geert Uytterhoeven) * Better patch description. v3: * Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell) There should be no functional changes caused by this patch. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 51d87ed0aab98999bebaf891b99730e15502a592 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:49 2008 +0200 ide: move ide_pci_setup_ports() call out from do_ide_setup_pci_device() * Move ide_pci_setup_ports() call out from do_ide_setup_pci_device() to ide_setup_pci_device[s](). * Drop no longer needed idx argument from do_ide_setup_pci_device(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit b36ba53218e164e49623e36fa3a2fec9f08cf70a Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:49 2008 +0200 ide-pmac: move ide_find_port() call to pmac_ide_setup_device() (take 2) Move ide_find_port() call to pmac_ide_setup_device(). While at it: - fix return value (s/-ENODEV/-ENOENT/) - add DRV_NAME define and use it to set name field of pmac_port_info - use ide_find_port_slot() instead of ide_find_port() - remove superfluous error message (ide_find_port_slot() takes care of it) - drop IDE interface number from driver banner message (but include bus type) v2: * Build fix (thanks to Stephen Rothwell for noticing the issue). Cc: Benjamin Herrenschmidt Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 07eb106f3a69400b628b7b6ca3464a1a8f847fa3 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:49 2008 +0200 ide-pmac: add ->init_dev method (take 4) v2/3: * Build fixes from Stephen Rothwell. v4: * Fix ->noprobe setting. (From Benjamin Herrenschmidt) Cc: Benjamin Herrenschmidt Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b8797acd499d59ed03c7a5b98d82cdf054fd04d Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 23 19:55:48 2008 +0200 ide-pmac: store pmif instead of hwif in ->driver_data (take 2) * Pass pmif instead of hwif to pmac_ide_do_{suspend,resume}(). * Store pmif instead of hwif in ->driver_data. * Use dev_get_drvdata() instead of ->hwif_data to obtain pmif. v2: * Build fixes from Stephen Rothwell. There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 876a4256d25b7fd7917f53e767da1ebdf3168457 Merge: 7c1fed0... b22d837... Author: Linus Torvalds Date: Wed Jul 23 09:44:31 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: apple_fn_keys F5 and F6 HID: remove quirk lookup from usbkbd/usbmouse HID: Add mapping of new KEY_MEDIA_REPEAT keycode HID: gyration remote support HID: gyration sleep button quirk HID: add quirk for Logitech DiNovo desktop HID: fix quirk handling in usbmouse/kbd HID: fix memory leak in hidraw_release HID: add n-trig digitizer usage HID: Invert HWHEEL mappings for some Logitech mice HID:usbkbd:mark usb_kbd_keycode array as const HID: add fn key support on Macbook Pro 4,1 and Macbook Air HID: remove unused variable from hiddev compat ioctl HID: fix compile issue in hiddev ioctl HID: Push down BKL into ioctl handler in hidraw HID: Switch hiddev to unlocked_ioctl HID: use get/put_unaligned_* helpers HID: fix report descriptor handling for MS Wireless model 1028 commit 7c1fed03b9fa32d4323d5caa6a9c7dcdd7eba767 Author: Jeff Dike Date: Wed Jul 23 11:46:50 2008 -0400 UML - Fix boot crash My copying of linux/init.h didn't go far enough. The definition of __used singled out gcc minor version 3, but didn't care what the major version was. This broke when unit-at-a-time was added and gcc started throwing out initcalls. This results in an early boot crash when ptrace tries to initialize a process with an empty, uninitialized register set. Signed-off-by: Jeff Dike Signed-off-by: Linus Torvalds commit 4d8f54d9e4323baae8c8ca753db91563f4b34ddb Author: Huang Weiyi Date: Wed Jul 23 22:45:20 2008 +0800 drivers/char/nvram.c: Removed duplicated include Removed duplicated include file in drivers/char/nvram.c. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 2db873211ba47ef704c301f9ecf4a33413a0b649 Author: Uwe Kleine-König Date: Wed Jul 23 14:42:25 2008 +0200 set_irq_wake: fix return code and wake status tracking Since 15a647eba94c3da27ccc666bea72e7cca06b2d19 set_irq_wake returned -ENXIO if another device had it already enabled. Zero is the right value to return in this case. Moreover the change to desc->status was not reverted if desc->chip->set_wake returned an error. Signed-off-by: Uwe Kleine-König Acked-by: David Brownell Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Russell King Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 3b216c9ed347924efb5e7a66b3257c40a5596d30 Author: Jason Wessel Date: Wed Jul 23 11:30:16 2008 -0500 kgdb: kgdboc console poll hooks for mpsc uart Add in console polling hooks for the mpsc uart for use with kgdb and kgdboc. Signed-off-by: Jason Wessel commit 8e21d04c077c50284bdad10fda8f8cea674458e1 Author: Jason Wessel Date: Wed Jul 23 11:30:16 2008 -0500 kgdb: kgdboc console poll hooks for cpm uart Add in console polling hooks for the cpm uart for use with kgdb and kgdboc. Signed-off-by: Jason Wessel CC: galak@kernel.crashing.org commit 17ce452f7ea3df760b7f9f42453b6f6acd765217 Author: Jason Wessel Date: Wed Jul 23 11:30:15 2008 -0500 kgdb, powerpc: arch specific powerpc kgdb support This patch removes the old kgdb reminants from ARCH=powerpc and implements the new style arch specific stub for the common kgdb core interface. It is possible to have xmon and kgdb in the same kernel, but you cannot use both at the same time because there is only one set of debug hooks. The arch specific kgdb implementation saves the previous state of the debug hooks and restores them if you unconfigure the kgdb I/O driver. Kgdb should have no impact on a kernel that has no kgdb I/O driver configured. Signed-off-by: Jason Wessel commit 5cbad0ebf45c5417104b383dc0e34f64fa7f2473 Author: Jason Wessel Date: Wed Feb 20 13:33:40 2008 -0600 kgdb: support for ARCH=arm This patch adds the ARCH=arm specific a kgdb backend, originally written by Deepak Saxena and George Davis . Geoff Levand , Nicolas Pitre, Manish Lachwani, and Jason Wessel have contributed various fixups here as well. The KGDB patch makes one change to the core ARM architecture such that the traps are initialized early for use with the debugger or other subsystems. [ mingo@elte.hu: small cleanups. ] [ ben-linux@fluff.org: fixed early_trap_init ] Signed-off-by: Jason Wessel Acked-by: Deepak Saxena commit 68afab1cb31436fc9b256a5f44771fa58ed019e2 Author: Jason Wessel Date: Wed Jul 23 11:30:15 2008 -0500 kgdb: remove unused HAVE_ARCH_KGDB_SHADOW_INFO config variable Remove HAVE_ARCH_KGDB_SHADOW_INFO because it does not exist anywhere in the kernel mainline sources Signed-off-by: Jason Wessel commit 76442640829163d0cdb67c2bf0cb4b81a0fe537b Author: Roland Dreier Date: Wed Jul 23 08:12:47 2008 -0700 mlx4_core: Improve error message when not enough UAR pages are available If an mlx4 device with default FW (which gives a UAR BAR size of 8 MB) is used in a system with 64 KB pages, then there are only 8192/64==128 UAR pages available. However, the first 128 UAR pages are reserved for use with event queue doorbells, so no UAR pages are available to do anything else with, which means that the driver cannot work. The current driver fails with a fairly cryptic "Failed to allocate driver access region, aborting" message in this situation. Fix the driver to detect the problem earlier and print out a clearer description of the problem and a suggestion of how to fix it (use a new firmware image). Signed-off-by: Roland Dreier commit 95d04f0735b4fc837bff9aedcc3f3efb20ddc3d1 Author: Roland Dreier Date: Wed Jul 23 08:12:26 2008 -0700 IB/mlx4: Add support for memory management extensions and local DMA L_Key Add support for the following operations to mlx4 when device firmware supports them: - Send with invalidate and local invalidate send queue work requests; - Allocate/free fast register MRs; - Allocate/free fast register MR page lists; - Fast register MR send queue work requests; - Local DMA L_Key. Signed-off-by: Roland Dreier commit b22d8370061898f3029cdc2601fbdec493443f03 Merge: 00b3327... 6a25077... Author: Jiri Kosina Date: Wed Jul 23 15:26:10 2008 +0200 Merge branches 'upstream' and 'upstream-fixes' into for-linus commit 6a250778c79d6d14db9ed8e1f86f7b934e2bf3dc Author: Henrik Rydberg Date: Tue Jul 22 15:54:05 2008 +0200 HID: apple_fn_keys F5 and F6 In drivers/hid/hid-input.c, the apple_fn_keys translation table contains no entries for the F5 and F6 keys. This patch maps the F5 and F6 keys to KBDILLUMDOWN and KBDILLUMUP, respektively, which make them work as keyboard backlight control keys. Signed-off-by: Henrik Rydberg Signed-off-by: Jiri Kosina commit acc0b7c40983c316bc69d97b1acf05a228b0d61e Author: Jiri Kosina Date: Mon Jul 21 18:30:05 2008 +0200 HID: remove quirk lookup from usbkbd/usbmouse This patch completely removes the dependency of usbkbd and usbmouse drivers on usbhid code. usbkbd/usbmouse drivers are not needed in the vast majority of cases anyway, and they shouldn't be loaded in standard configurations at all. They are supposed to be as trivial as possible, and searching for HID_QUIRK_IGNORE can even be bad in some cases. Signed-off-by: Jiri Kosina commit 094403ce3ec30e9819b1526134a948a1c92d1421 Author: Dmitry Torokhov Date: Fri Jul 4 12:48:20 2008 -0400 HID: Add mapping of new KEY_MEDIA_REPEAT keycode Signed-off-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit a7f32697ed571d8a222ff9e77b9f4476e877ed1a Author: Daniel Walker Date: Fri Jul 4 15:23:10 2008 +0200 HID: gyration remote support This adds in a quirk for the additional un-mapped buttons on the gyration MCE remote. Defines are now alphabetical. Signed-off-by: Daniel Walker Signed-off-by: Jiri Kosina commit 32146dc90860b3847b945fdb220a7d86c1ead92a Author: Jiri Kosina Date: Fri Jul 4 15:22:53 2008 +0200 HID: gyration sleep button quirk This patch is based on one provided by Jiri Kosina to handle the sleep button. I just added some cleanup and integrated it into my series. Signed-off-by: Daniel Walker Signed-off-by: Jiri Kosina commit 2c3e3bfbb667f486579d6742b481058e4316dafd Author: Jiri Kosina Date: Tue Jul 1 12:35:16 2008 +0200 HID: add quirk for Logitech DiNovo desktop Logitech DiNovo desktop needs the same quirk as other DiNovo devices. Reported-by: Farid Benamrouche Signed-off-by: Jiri Kosina commit dc25b78f21384f534a8a5da9600972aa9a51a680 Author: Jiri Slaby Date: Fri Jun 27 22:09:25 2008 +0200 HID: fix quirk handling in usbmouse/kbd When usbmouse/kbd is set to build, USB_HID is never defined due to the USB_HID!=y Kconfig rule. Test CONFIG_USB_HID_MODULE in both drivers instead. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 4db1c62c9991e62b441672db7f227e722776adc4 Author: Jiri Kosina Date: Tue Jun 24 14:45:27 2008 +0200 HID: fix memory leak in hidraw_release hidraw_release() forgot to free the linked list structure, causing memory leak. Reported-by: Juan Marcos Diez Esteban Signed-off-by: Jiri Kosina commit f472f80034ae5d0be7d7196c7e65d0ca8890afb4 Author: Rafi Rubin Date: Thu Jun 19 11:51:04 2008 +0200 HID: add n-trig digitizer usage This adds a hid usage that is reported by the N-Trig digitizer in the Dell Latitude XT screen. Signed-off-by: Rafi Rubin Signed-off-by: Vojtech Pavlik Signed-off-by: Jiri Kosina commit 740f370dc61dc478d891d7d47660bb3ae39ddb4f Author: Dan Nicholson Date: Sat Jun 14 10:26:24 2008 -0700 HID: Invert HWHEEL mappings for some Logitech mice Some Logitech mice have a tilt wheel which register as HWHEEL buttons. The events are positive for a click to the right and negative for a click to the left. Applications expect the opposite, though. I suspect this affects a lot more Logitech mice, but these are the only two I have. I tested this using evtest and a GTK application. A similar Microsoft Intellimouse I have works correctly. Signed-off-by: Dan Nicholson Signed-off-by: Jiri Kosina commit a44ebccea873cf7d58b63605f1cdd6da9dfec70f Author: Ming Lei Date: Sun Jun 8 16:15:16 2008 +0800 HID:usbkbd:mark usb_kbd_keycode array as const mark it as const because it is read only Signed-off-by: Ming Lei Signed-off-by: Jiri Kosina commit 37cdffdadf7ad1b28fa4bd14bb904f4f612e5ae3 Author: Alexandre Karpenko Date: Wed Jun 4 10:31:24 2008 +0200 HID: add fn key support on Macbook Pro 4,1 and Macbook Air Added device ids to hid-quriks for detection of keyboards on 4th generation Macbook Pro and Macbook Air The naming scheme is consistent with past Apple keyboards in hid-quirks; as defined by Apple (including device ids) in: /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/Co ntents/Info.plist Patch was originally posted and tested at: https://bugs.launchpad.net/mactel-support/+bug/207127 Signed-off-by: Alexandre Karpenko Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 00b33277fa544676250d898fccea0a0255608e7f Author: Jiri Kosina Date: Wed Jun 4 15:29:42 2008 +0200 HID: remove unused variable from hiddev compat ioctl Remove unused inode variable from hiddev compat ioctl handler. Signed-off-by: Jiri Kosina commit 88af45bafdda8f892c9d45ce38d55fdf7e734513 Author: Jiri Kosina Date: Tue May 27 11:36:40 2008 +0200 HID: fix compile issue in hiddev ioctl Fix build failure introduced by Alan's ioctl -> unlocked_ioctl (pushing BKL down to the driver) conversion patch for hiddev. Signed-off-by: Jiri Kosina commit 979c407e3b89b606e810fa494ef316896eadbfad Author: Alan Cox Date: Mon May 26 11:25:26 2008 +0200 HID: Push down BKL into ioctl handler in hidraw In this case I simply wrapped it as code review suggests the locking already terminally broken and I didn't want to make it first. See added comment Signed-off-by: Alan Cox Signed-off-by: Jiri Kosina commit 7961df16819085b8a357720d89d0239036e6af2a Author: Alan Cox Date: Mon May 26 11:25:20 2008 +0200 HID: Switch hiddev to unlocked_ioctl Push down the BKL. In some cases compat_ioctl already doesn't take the BKL so we don't either. Some of the locking here seems already dubious and object lifetimes want documenting Signed-off-by: Alan Cox Signed-off-by: Jiri Kosina commit 6f0168d2dacd7972d887e1ca27943ef8af7512a5 Author: Harvey Harrison Date: Fri May 16 11:00:23 2008 +0200 HID: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 9063974cdbc5463528cb6aa60c91bc0267af7bbb Merge: d6d6a86... c010b2f... Author: Jiri Kosina Date: Wed Jul 23 15:19:00 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 7659150c60839a2bd31f74e866374abb9be17e43 Author: Pierre Ossman Date: Mon Jul 21 00:32:11 2008 +0200 sdhci: highmem capable PIO routines Improve the PIO handling so that it can service highmem pages. Signed-off-by: Pierre Ossman commit 137d3edb48425f82a6a4226b664f90ed5e42eea5 Author: Tejun Heo Date: Sat Jul 19 23:03:35 2008 +0900 sg: reimplement sg mapping iterator This is alternative implementation of sg content iterator introduced by commit 83e7d317... from Pierre Ossman in next-20080716. As there's already an sg iterator which iterates over sg entries themselves, name this sg_mapping_iterator. Slightly edited description from the original implementation follows. Iteration over a sg list is not that trivial when you take into account that memory pages might have to be mapped before being used. Unfortunately, that means that some parts of the kernel restrict themselves to directly accesible memory just to not have to deal with the mess. This patch adds a simple iterator system that allows any code to easily traverse an sg list and not have to deal with all the details. The user can decide to consume part of the iteration. Also, iteration can be stopped and resumed later if releasing the kmap between iteration steps is necessary. These features are useful to implement piecemeal sg copying for interrupt drive PIO for example. Signed-off-by: Tejun Heo Signed-off-by: Pierre Ossman commit 60c9c7b1d91396f511e55a2a5be13d148dcf66ff Author: Pierre Ossman Date: Tue Jul 22 14:38:35 2008 +0200 mmc_test: print message when attaching to card Make it a bit more obvious that the card has been claimed by the mmc_test driver so that people don't have to wonder why their block device never shows up. Signed-off-by: Pierre Ossman commit 6d79947a2d34470311012c3ee45ad33650a7f192 Author: Pierre Ossman Date: Tue Jul 22 14:36:57 2008 +0200 mmc: Remove Russell as primecell mci maintainer Russell no longer has the resources to fully test the controller, so he is stepping down as maintainer. Signed-off-by: Pierre Ossman commit 2ff1fa679115e3c8c78ad74ad8fd2d7fd87ae4e7 Author: Pierre Ossman Date: Tue Jul 22 14:35:42 2008 +0200 mmc_block: bounce buffer highmem support Support highmem pages in the bounce buffer code by using the sg_copy_from/to_buffer() functions. Signed-off-by: Pierre Ossman commit 719a61b452ff74cf81a96e4212748d9d63bcc924 Author: Pierre Ossman Date: Tue Jul 22 13:23:23 2008 +0200 sdhci: fix bad warning from commit c8b3e02 Commit c8b3e02 renamed a variable, but missed one reference to it inside a WARN_ON, causing it to incorrectly trigger. Signed-off-by: Pierre Ossman commit 6cefd05f35177ad5d22d44519c680cf43f2ac86d Author: Pierre Ossman Date: Mon Jul 21 00:45:15 2008 +0200 sdhci: add warnings for bad buffers in ADMA path The ADMA code path assumes that the 3 byte alignment fix doesn't cross a page boundary. I'm not convinced this is worth supporting, but at least print a warning in the off chance we'll actually see such a request. Signed-off-by: Pierre Ossman commit 48b5352ea1891455eb8e824cf7d92f66931a090f Author: Pierre Ossman Date: Mon Jul 21 00:14:52 2008 +0200 mmc_test: test oversized sg lists Add tests that make sure the driver properly checks the blocks and blksz fields and doesn't assume the sg list has a size that perfectly matches the current request. Signed-off-by: Pierre Ossman commit 2661081f5ab9cb25359d27f88707a018cf4e68e9 Author: Pierre Ossman Date: Fri Jul 4 18:17:13 2008 +0200 mmc_test: highmem tests Add a couple of tests to make sure the host driver handles highmem memory pages properly. Unfortunately there is no way to guarantee an allocation below 4 GB in i386, so it might give you addresses that are out of reach for the hardware (OTOH, so will any other highmem allocation in the kernel). Signed-off-by: Pierre Ossman commit 907b2cd6dbbdfd6a4be7908f57b1498dfabc880e Author: Ben Dooks Date: Thu Jul 17 15:32:54 2008 +0100 s3cmci: ensure host stopped on machine shutdown Ensure that the s3cmci host controller is turned off when the machine is shutdown, otherwise we end up leaving the card powered and processing insertion and removal events after the system prints "System halted." Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit dd8572af68229a65b6716b286395ad7f5e2ecc48 Author: Manuel Lauss Date: Thu Jul 17 13:07:28 2008 +0200 au1xmmc: suspend/resume implementation Basic suspend/resume support: disable peripheral on suspend and reinit on resume. Tested on Au1200. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit d2f2761bb75ee365077b52c7e73a6e5164d3efa0 Author: Ben Dooks Date: Thu Jul 17 11:54:01 2008 +0100 s3cmci: fixes for section mismatch warnings Fix the naming of various functions in the s3cmc driver to stop triggering section mismatch warnings. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 4fe16897c59882420d66f2d503106653d026ed6c Author: Karl Beldan Date: Wed Jul 16 18:29:11 2008 +0200 pxamci: trivial fix of DMA alignment register bit clearing Signed-off-by: Karl Beldan Acked-by: Eric Miao Signed-off-by: Pierre Ossman commit 36bd53d07243ae83c1b73bae549086cea2252854 Author: Andrew Morton Date: Wed Jul 23 00:58:13 2008 -0700 arch/mips/kernel/stacktrace.c: Heiko can't type Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 422037bafde8083acc3c539ceba3dfc60a04110c Author: Ingo Molnar Date: Wed Jul 23 11:16:38 2008 +0200 sched: fix hrtick & generic-ipi dependency Andrew Morton reported this s390 allmodconfig build failure: kernel/built-in.o: In function `hrtick_start_fair': sched.c:(.text+0x69c6): undefined reference to `__smp_call_function_single' the reason is that s390 is not a generic-ipi SMP platform yet, while the hrtick code relies on it. Fix the dependency. Signed-off-by: Ingo Molnar commit f6ec2d96796d0accda6c325890206f3629130729 Author: Sebastian Siewior Date: Wed Jul 16 23:05:49 2008 +0100 backlight: Fix missing kernel doc entry Signed-off-by: Sebastian Siewior Signed-off-by: Richard Purdie commit 7be35c72e6454059a33ad844153349973d22fcb7 Author: Matthew Garrett Date: Mon Jun 9 21:56:16 2008 +0100 backlight: Add Nvidia-based Apple Macbook Pro backlight driver Nvidia-based Apple Macbook Pros don't appear to handle backlight control through the graphics card registers or ACPI, but instead trigger changes via SMI calls. This driver registers a generic backlight device that lets existing userspace deal with it. Code derived from Julien Blache's Pommed application. Signed-off-by: Julien Blache Signed-off-by: Matthew Garrett Signed-off-by: Richard Purdie commit fe3025b55c8ed06929afe94e9c9095fc19d15aa0 Author: Dmitry Baryshkov Date: Wed Jul 16 22:51:14 2008 +0100 leds: Ensure led->trigger is set earlier Make sure led->trigger is valid before calling trigger->activate Signed-off-by: Dmitry Baryshkov Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit f46e9203d9a100bae216cc06e17f2e77351aa8d8 Author: Nate Case Date: Wed Jul 16 22:49:55 2008 +0100 leds: Add support for Philips PCA955x I2C LED drivers This driver supports the PCA9550, PCA9551, PCA9552, and PCA9553 LED driver chips. Signed-off-by: Nate Case Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit dd1160dc1842ae172495a6da274a77e35c593ed8 Author: Ben Dooks Date: Mon Jun 9 22:00:49 2008 +0100 leds: Fix sparse warnings in leds-h1940 driver Fixes the following sparse errors: drivers/leds/leds-h1940.c:26:6: warning: symbol 'h1940_greenled_set' was not declared. Should it be static? drivers/leds/leds-h1940.c:55:6: warning: symbol 'h1940_redled_set' was not declared. Should it be static? drivers/leds/leds-h1940.c:85:6: warning: symbol 'h1940_blueled_set' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: Richard Purdie commit 781a54e7664cc0089287a90d27086e9656ac68a1 Author: Anton Vorontsov Date: Sat May 31 15:23:19 2008 +0100 leds: mark led_classdev.default_trigger as const LED classdev core doesn't modify memory pointed by the default_trigger, so mark it as const and we'll able to pass const char *s without getting compiler warnings. Signed-off-by: Anton Vorontsov Signed-off-by: Richard Purdie commit e49575f46cdb40014e14789a18e637f8fb917317 Author: Li Zefan Date: Sat May 31 15:18:55 2008 +0100 leds: fix unsigned value overflow in atmel pwm driver Fix an unsigned value overflow in the error handling code in the Atmel PWM driver. Signed-off-by: Li Zefan Signed-off-by: Richard Purdie commit 30be0486791fb637e758c771956c8f73bef3467c Author: Riku Voipio Date: Sat May 31 14:45:16 2008 +0100 leds: Add pca9532 platform data for Thecus N2100 Thecus N2100 has leds and a buzzer attached to a pca9532 controller. Attach the driver to the i2c bus and define the pca9532 pin coniguration for this platform in n2100_leds. With this patch, support for N2100 should be complete in mainline Linux. Signed-off-by: Riku Voipio Acked-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit e14fa82439d33cef67eaafc1a48960bbfa610c8e Author: Riku Voipio Date: Sat May 31 14:43:41 2008 +0100 leds: Add pca9532 led driver NXP pca9532 is a LED dimmer/controller attached to i2c bus. It allows attaching upto 16 leds which can either be on, off or dimmed and/or blinked with the two PWM modulators available. This driver is a "new-style" i2c driver that adheres to the driver model and implements the led framework api. Since the leds connected to the driver are platform specific, it is only useful when platform data is passed to the driver to define what leds are connected to which pins. Signed-off-by: Riku Voipio Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit b7c2a75725dee9b5643a0aae3a4cb47f52e00a49 Author: David S. Miller Date: Tue Jul 22 22:34:29 2008 -0700 sparc64: Fix lockdep issues in LDC protocol layer. We're calling request_irq() with a IRQs disabled. No straightforward fix exists because we want to enable these IRQs and setup state atomically before getting into the IRQ handler the first time. What happens now is that we mark the VIRQ to not be automatically enabled by request_irq(). Then we make explicit enable_irq() calls when we grab the LDC channel. This way we don't need to call request_irq() illegally under the LDC channel lock any more. Bump LDC version and release date. Signed-off-by: David S. Miller commit 9b0e74102494971ca37a425c63031fea68bb5b79 Author: Greg Ungerer Date: Fri Jul 11 15:29:36 2008 +1000 m68knommu: put ColdFire head code into .text.head section Switch the ColdFire head start up code to be in the .text.head segment. And make sure that segment is at the start of the final linked text segment. Fixes the linker warnings about section use mis-matches: WARNING: vmlinux.o(.text+0xa8): Section mismatch in reference from the variable _clear_bss to the function .init.text:start_kernel() The function _clear_bss() references the function __init start_kernel(). This is often because _clear_bss lacks a __init annotation or the annotation of start_kernel is wrong. Signed-off-by: Greg Ungerer commit 87f4abb45bc640638e6986f0f4d412b2d0ea21e1 Author: Greg Ungerer Date: Fri Jun 6 15:55:36 2008 +1000 m68knommu: remove last use of CONFIG_FADS and CONFIG_RPXCLASSIC They have never been used in this port of the driver. It is has only ever been used on the ColdFire SoC ethernet core. Signed-off-by: Greg Ungerer commit c1863bed8c88324405dc2a922c153fe5d7df716c Author: Sebastian Siewior Date: Mon Apr 28 11:43:17 2008 +0200 m68knommu: remove RPXCLASSIC from the m68k tree This ifdefs are leftovers from the time as the driver was running on a ppc. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 0d176af5b7e658490b75427ccd23ff6a158c472b Author: Sebastian Siewior Date: Mon Apr 28 11:43:20 2008 +0200 m68knommu: fec: remove FADS I found config FADS only in ppc/Kconfig. Bye bye relic. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 2b9a69861c39ae4c232385def833816acc07a0a4 Author: Sebastian Siewior Date: Mon Apr 28 11:43:04 2008 +0200 m68knommu: MCF5307 PIT GENERIC_CLOCKEVENTS support The PIT code has been changed in order to suppport GENERIC_CLOCKEVENTS. The priority of the PIT clocksource has been decreased in favor of the DMA timer. pit_cycles_per_jiffy become a constant (PIT_CYCLES_PER_JIFFY) because it is known at compile time and does not change afterwards. Signed-off-by: Benedikt Spranger Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 6dbeb456baaba05d60e7ca8213da26142062408a Author: Sebastian Siewior Date: Tue May 13 18:52:44 2008 +0200 m68knommu: add read_barrier_depends() and irqs_disabled_flags() /home/bigeasy/git/linux-2.6-ftrace/kernel/trace/trace.c: In function 'tracing_generic_entry_update': /home/bigeasy/git/linux-2.6-ftrace/kernel/trace/trace.c:802: error: implicit declaration of function 'irqs_disabled_flags' make[3]: *** [kernel/trace/trace.o] Error 1 /home/bigeasy/git/linux-2.6-ftrace/kernel/trace/ftrace.c: In function 'ftrace_list_func': /home/bigeasy/git/linux-2.6-ftrace/kernel/trace/ftrace.c:61: error: implicit declaration of function 'read_barrier_depends' Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit e872504b311cec52f7a316a0037fb959080dbea0 Author: Sebastian Siewior Date: Sat May 17 21:51:15 2008 +0200 m68knommu: add byteswap assembly opcode for ISA A+ Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit a6260ef84103fa8a51a67b6a58e5e16c676e08ad Author: Sebastian Siewior Date: Fri May 9 16:10:37 2008 +0200 m68knommu: add ffs and __ffs plattform which support ISA A+ or ISA C the ff1 and bitrev opcode appears in ISA C and ISA A+ what isn't supported by all plattforms. The assembly optimization is automaticly enabled if the compiler understand the required cpu keyword. My m5235 seems to boot and run fine so far. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 5bed10a5ee272fbf18ce0ce764245bbb8f28e2e6 Author: Sebastian Siewior Date: Mon Apr 28 11:43:03 2008 +0200 m68knommu: add sched_clock() for the DMA timer with this printk() and other sched_clock() user use the more precise timestamps. The highly optimized math is from arch/x86/kernel/tsc_32.c. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 95469bd64a7a9ab405b566deb8c81d4aaf67ed9e Author: Sebastian Siewior Date: Mon Apr 28 11:43:01 2008 +0200 m68knommu: complete generic time do_set_rtc() isn't required because the work that is handled is allready served if read_persistent_clock() & update_persistent_clock() are implemented and CONFIG_GENERIC_CMOS_UPDATE is. sync_cmos_clock() looks very familiar :) Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 0df185f5a1430ab8b437be402d286ee0728ef9f8 Author: Sebastian Siewior Date: Mon Apr 28 11:43:00 2008 +0200 m68knommu: move code within time.c This patch creates two functions do_set_rtc() and read_rtc_mmss() based on allready available code. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 1fda83d83c664ad74bfec8ce093a86d4d962f093 Author: Sebastian Siewior Date: Fri May 9 16:13:36 2008 +0200 m68knommu: m68knommu: add old stack trace method The old method is used when frame pointers are not available. Also fix formating with CONFIG_KALLSYMS=n which eliminates \n. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit 5732b38ddb770b98110ea218232fc072e5626b87 Author: Sebastian Siewior Date: Fri May 9 16:18:33 2008 +0200 m68knommu: Add Coldfire DMA Timer support This one could be used as a hrtimer. Signed-off-by: Benedikt Spranger Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer commit ab88e474c8ffa300660f03a8e6b08ea660956bef Author: Greg Ungerer Date: Wed Jun 4 21:26:38 2008 +1000 m68knommu: defconfig for M5407C3 board Add a defconfig for the Freescale M5407C3 board. Signed-off-by: Greg Ungerer commit f3a64eaf9ea87d70487b482a6d733cfd52ae4499 Author: Greg Ungerer Date: Wed Jun 4 21:24:54 2008 +1000 m68knommu: defconfig for M5307C3 board Add a defconfig for the Freescale M5307C3 board. Signed-off-by: Greg Ungerer commit c26def07f97d662ee96362795400cbf6f44d11ce Author: Greg Ungerer Date: Wed Jun 4 21:23:43 2008 +1000 m68knommu: defconfig for M5275EVB board Add a defconfig for the Freescale M5275EVB board. Signed-off-by: Greg Ungerer commit 8c81b0574fd8877b5214f2d33816b199c62e3335 Author: Greg Ungerer Date: Wed Jun 4 21:22:18 2008 +1000 m68knommu: defconfig for M5249EVB board Add a defconfig for the Freescale M5249EVB board. Signed-off-by: Greg Ungerer commit deca05c3e81df4fcc38aa891eb8d8add14bce68b Author: Greg Ungerer Date: Wed Jun 4 21:20:32 2008 +1000 m68knommu: change to a configs directory for board configurations Remove the old example m68knommu defconfig. Create a configs directory for specific board configurations. Make the m5208evb the default. Signed-off-by: Greg Ungerer commit 8a6d2ea0cd121e3bfff4dbce5bc111874cf9e9d2 Author: Stephen Hemminger Date: Tue Jul 22 21:53:40 2008 -0700 sky2: don't stop queue on shutdown It is unnecessary, to stop queue and turn off carrier in shutdown routine. With new netdev_queue this causes warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1bad879a078111748ebc27fb0d29e8c916556835 Author: Alan Cox Date: Tue Jul 22 23:38:04 2008 +0100 tty: Fix up escaped character Louis Rilling noticed this. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c010b2f76c3032e48097a6eef291d8593d5d79a6 Merge: 6069fb2... 521c4d9... Author: Linus Torvalds Date: Tue Jul 22 19:09:51 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: (82 commits) ipw2200: Call netif_*_queue() interfaces properly. netxen: Needs to include linux/vmalloc.h [netdrvr] atl1d: fix !CONFIG_PM build r6040: rework init_one error handling r6040: bump release number to 0.18 r6040: handle RX fifo full and no descriptor interrupts r6040: change the default waiting time r6040: use definitions for magic values in descriptor status r6040: completely rework the RX path r6040: call napi_disable when puting down the interface and set lp->dev accordingly. mv643xx_eth: fix NETPOLL build r6040: rework the RX buffers allocation routine r6040: fix scheduling while atomic in r6040_tx_timeout r6040: fix null pointer access and tx timeouts r6040: prefix all functions with r6040 rndis_host: support WM6 devices as modems at91_ether: use netstats in net_device structure sfc: Create one RX queue and interrupt per CPU package by default sfc: Use a separate workqueue for resets sfc: I2C adapter initialisation fixes ... commit 6069fb2ef5d4f47432359c97f350e0cfcc4d208e Author: Linus Torvalds Date: Tue Jul 22 19:06:00 2008 -0700 Re-delete zombie 'drivers/usb/serial/airprime.c' file Stephen Rothwell points out that this file got deleted (on purpose) by commit 640c1bce86d1e11ee6a1263fdf6170d3210b1684 ("USB: delete airprime driver"), but then almost immediately incorrectly resurrected by commit 95da310e66ee8090119596c70ca8432e57f9a97f ("usb_serial: API all change"). Delete it again. If it comes back, we'll need to drive a stake through its heart. Reported-by: Stephen Rothwell Acked-by: Greg KH Cc: Alan Cox Cc: Andrew Morton Signed-off-by: Linus Torvalds commit e9dd54da0ba494bd86c45bdf574a6fd6ff8f2210 Merge: 0988c37... 4a0a088... Author: Linus Torvalds Date: Tue Jul 22 19:04:22 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: sparc32: pass -m32 when building vmlinux.lds sparc: Fixes the DRM layer build on sparc. ide: merge with ide: : use __raw_{read,write}w() ide: : use __raw_{read,write}w() ide: : use %r0 for outw_be() sparc64: Do not define BIO_VMERGE_BOUNDARY. commit 521c4d96e0840ecce25b956e00f416ed499ef2ba Author: David S. Miller Date: Tue Jul 22 18:32:47 2008 -0700 ipw2200: Call netif_*_queue() interfaces properly. netif_carrier_{on,off}() handles starting and stopping packet flow into the driver. So there is no reason to invoke netif_stop_queue() and netif_wake_queue() in response to link status events. Signed-off-by: David S. Miller commit 4255589293b78c4dab324323e12857876b154863 Author: David S. Miller Date: Tue Jul 22 18:29:10 2008 -0700 netxen: Needs to include linux/vmalloc.h Signed-off-by: David S. Miller commit 380bab10de09c22c813ae83f8e148f5a46c1de40 Merge: 7cf7526... d6f8aa8... Author: David S. Miller Date: Tue Jul 22 18:19:22 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit d6f8aa8586dabe605454f3c98a5c1a577c3e0cfb Author: Jeff Garzik Date: Tue Jul 22 21:17:38 2008 -0400 [netdrvr] atl1d: fix !CONFIG_PM build Signed-off-by: Jeff Garzik commit 7cf75262a4aafe1483349e897bf905e121314dff Merge: c8f1568... b0e4539... Author: David S. Miller Date: Tue Jul 22 17:54:47 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 7f1b358a236ee9c19657a619ac6f2dcabcaa0924 Author: Maciej Sosnowski Date: Tue Jul 22 17:30:57 2008 -0700 I/OAT: I/OAT version 3.0 support This patch adds to ioatdma and dca modules support for Intel I/OAT DMA engine ver.3 (aka CB3 device). The main features of I/OAT ver.3 are: * 8 single channel DMA devices (8 channels total) * 8 DCA providers, each can accept 2 requesters * 8-bit TAG values and 32-bit extended APIC IDs Signed-off-by: Maciej Sosnowski Signed-off-by: Dan Williams commit 16a37acaaf4aaa631ba3f83710ed6cdb1a597520 Author: Maciej Sosnowski Date: Tue Jul 22 17:30:57 2008 -0700 I/OAT: tcp_dma_copybreak default value dependent on I/OAT version I/OAT DMA performance tuning showed different optimal values of tcp_dma_copybreak for different I/OAT versions (4096 for 1.2 and 2048 for 2.0). This patch lets ioatdma driver set tcp_dma_copybreak value according to these results. [dan.j.williams@intel.com: remove some ifdefs] Signed-off-by: Maciej Sosnowski Signed-off-by: Dan Williams commit b0e453902ad53580a77c2b1baddcc0b2d8ce8acc Author: Florian Fainelli Date: Mon Jul 21 12:32:29 2008 +0200 r6040: rework init_one error handling This patch reworks the error handling in r6040_init_one in order not to leak resources and correcly unmap and release PCI regions of the MAC. Also prefix printk's with the driver name for clarity. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 1de95294f16cab0e924e1b4cd9b554a6eca65e6e Author: Florian Fainelli Date: Sun Jul 13 14:36:04 2008 +0200 r6040: bump release number to 0.18 This patch bumps the release of the r6040 driver. There has been quite some versions of it out there, but this one is the one people should report bugs against. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit e24ddf3aa8a2c4c14df1136e762c315c436488e7 Author: Florian Fainelli Date: Sun Jul 13 14:35:32 2008 +0200 r6040: handle RX fifo full and no descriptor interrupts This patch allows the MAC to handle the RX FIFO full and no descriptor available interrupts. While we are at it replace the TX interrupt with its corresponding definition. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 31718dedf62fd62e807001138ab5ac76e9b11064 Author: Florian Fainelli Date: Sun Jul 13 14:35:00 2008 +0200 r6040: change the default waiting time This patch changes the default waiting time of a packet, which along with our previous r6040_rx path, was causing huge delays with another host (160 to 230 ms). Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 32f565df9ba451a24117db67003ed2ae21bab88c Author: Florian Fainelli Date: Sun Jul 13 14:34:15 2008 +0200 r6040: use definitions for magic values in descriptor status Define all the descriptor status the MAC can set. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 9ca28dc4c75f018201e21b10e34b8161bcb0ffb2 Author: Florian Fainelli Date: Sun Jul 13 14:33:36 2008 +0200 r6040: completely rework the RX path This patch completely reworks the RX path in order to be more accurate about what is going on with the MAC. We no longer read the error from the MLSR register instead read the descriptor status register which reflects, the error per descriptor. We now allocate skbs on the fly in r6040_rx, and we handle allocation failure instead of simply dropping the packet. Remove the rx_free_desc counter of r6040_private structure since we allocate skbs in the RX path. r6040_rx_buf_alloc is now removed and becomes unuseless. Signed-Off-By: Joerg Albert Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 129cf9a7028fc50b226b8021bc0b76fb38efa81d Author: Florian Fainelli Date: Sun Jul 13 14:32:45 2008 +0200 r6040: call napi_disable when puting down the interface and set lp->dev accordingly. We did not call napi_disabled when putting down the interface which should be done. Finally initialize lp->dev when everything is set. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit f2ca60f2067958e45f949e74abd580715c6c4b33 Author: Lennert Buytenhek Date: Mon Jul 7 00:03:00 2008 +0200 mv643xx_eth: fix NETPOLL build Joseph Fannin and Takashi Iwai noticed that commit 073a345c04b01da0cc5b79ac7be0c7c8b1691ef5 ("mv643xx_eth: clarify irq masking and unmasking") broke the mv643xx_eth build when NETPOLL is enabled, due to it not renaming one instance of INT_CAUSE_EXT in mv643xx_eth_netpoll(). This patch takes care of that instance as well. Signed-off-by: Lennert Buytenhek Cc: Dale Farnsworth Cc: Joseph Fannin Cc: Takashi Iwai Signed-off-by: Jeff Garzik commit 3d4634193aa95a6d04a786fc12b190d0e4295685 Author: Florian Fainelli Date: Sun Jul 13 14:32:18 2008 +0200 r6040: rework the RX buffers allocation routine Rework the RX buffers allocation function so that we do not leak memory in the case we could not allocate skbs for the RX path. Propagate the errors to the r6040_up function where we call the RX buffers allocation function. Also rename the r6040_alloc_txbufs function to r6040_init_txbufs, to reflect what it really does. Signed-Off-By: Joerg Albert Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit fec3a23be0daceeb0695f8296aea07ea1ad073d8 Author: Florian Fainelli Date: Sun Jul 13 14:29:20 2008 +0200 r6040: fix scheduling while atomic in r6040_tx_timeout Add a helper function which only modifies R6040 MAC registers use it when we timeout, and on adapter initialization. Fix the scheduling while atomic but in the timeout routine due to the reallocation of rx/tx buffers. Signed-Off-By: Joerg Albert Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 3d25434816356e8d1e3167c5f7a56d3d81aeb239 Author: Florian Fainelli Date: Sun Jul 13 14:28:27 2008 +0200 r6040: fix null pointer access and tx timeouts This patch fixes a null pointer access in r6040_rx due to lp->dev not being initialized. Fix the TX timeouts, TX irq was not re-enabled on RX irq Signed-Off-By: Joerg Albert Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit c6e69bb92ed6e22a0931e29daff6539f2bac29b9 Author: Florian Fainelli Date: Sun Jul 13 13:39:32 2008 +0200 r6040: prefix all functions with r6040 Prefix all functions inside the r6040 driver with r6040 to avoid namespace clashing. Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit 7e99eeddb35cdaafb820676a57517b5e58685e4c Author: Thomas Backlund Date: Tue Jul 22 13:55:58 2008 -0700 rndis_host: support WM6 devices as modems This patch allows Windows Mobile 6 devices to be used for tethering -- that is, used as modems. It was requested by AdamW in kernel bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=11119 and Mandriva kernel-discuss list. It is tested and confirmed to work by Peterl: http://forum.eeeuser.com/viewtopic.php?pid=323543#p323543 This patch is based on the patch in the above kernel bugzilla, which is from the usb-rndis-lite tree. [ dbrownell@users.sourceforge.net: misc fixes ] Signed-off-by: Thomas Backlund Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 7a2f53ee0b56ff7e1c0c24404575cb62935d37d9 Author: Paulius Zaleckas Date: Thu Jul 17 11:01:26 2008 +0300 at91_ether: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Tested-by: Marc Pignat Acked-by: Andrew Victor Signed-off-by: Jeff Garzik commit aa6ef27ea906e74bd23d14f43f095c012469d9c7 Author: Ben Hutchings Date: Fri Jul 18 19:03:10 2008 +0100 sfc: Create one RX queue and interrupt per CPU package by default Using multiple cores in the same package to handle received traffic does not appear to provide a performance benefit. Therefore use CPU topology information to count CPU packages and use that as the default number of RX queues and interrupts. We rely on interrupt balancing to spread the interrupts across packages. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 8d9853d911b9d3fb767c3886066530c0e39b78ba Author: Ben Hutchings Date: Fri Jul 18 19:01:20 2008 +0100 sfc: Use a separate workqueue for resets This avoids deadlock in case a reset is triggered during self-test. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 9dadae686fce02a02982fc9c0563f6b917217a66 Author: Ben Hutchings Date: Fri Jul 18 18:59:12 2008 +0100 sfc: I2C adapter initialisation fixes As recommended by Jean Delvare: - Increase timeout to 50 ms - Leave adapter class clear so that unwanted drivers do not probe our bus - Use strlcpy() for name initialisation Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 81250297d85b26eb4e9de5decf752dce430277f9 Author: Taku Izumi Date: Fri Jul 11 15:17:44 2008 -0700 e1000: make ioport free This patch makes e1000 driver ioport-free. This corrects behavior in probe function so as not to request ioport resources as long as they are not really needed. This is based on the ioport-free patch of e1000 driver from Auke Kok and Tomohiro Kusumi. Signed-off-by: Tomohiro Kusumi Signed-off-by: Auke Kok Signed-off-by: Taku Izumi Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c3570acb53c885f8accb8c85eda195781d30632f Author: Francois Romieu Date: Fri Jul 11 15:17:38 2008 -0700 e1000: delete non NAPI code from the driver Compile-tested only. Signed-off-by: Francois Romieu Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 63cd31f60716c4a9f1b5b6ffd804326dc766d2d2 Author: Jeff Kirsher Date: Fri Jul 11 15:17:33 2008 -0700 e1000: remove email reference The email linux-nics@intel.com is no longer available, remove all references. Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c7be73bc9bfc8a650fe646f484dea5bad3cf92d5 Author: Joe Perches Date: Fri Jul 11 15:17:28 2008 -0700 e1000: Move assignments in tests before test Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit b11840204f36f9a1e3027033227e17d167e04377 Author: Joe Perches Date: Fri Jul 11 15:17:23 2008 -0700 e1000: checkpatch clean Redefine DPRINTK macro using do while(0) __FUNCTION__ to __func__ structs {} on separate lines Surround negative constants with () Signed-off-by: Joe Perches Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit e982f17c87488a98df6bc4f5454a176646b4d00b Author: Joe Perches Date: Fri Jul 11 15:17:18 2008 -0700 e1000: Remove spaces after casts and function names Signed-off-by: Joe Perches Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c03e83b0351f8a9464d32f31302ec75ba88518dc Author: Joe Perches Date: Fri Jul 11 15:17:13 2008 -0700 e1000: Move extern function definitions to e1000.h Signed-off-by: Joe Perches Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 1dc329180fe22ff8651e0ef550ba17ca1cc7bf22 Author: Joe Perches Date: Fri Jul 11 15:17:08 2008 -0700 e1000: Use hw, er32, and ew32 Use struct e1000_hw *hw = adapter->hw; where necessary Change macros E1000_READ_REG and E1000_WRITE_REG to er32 and ew32 Signed-off-by: Auke Kok Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 9bcab8405c98c34849c5795c717b7e6a3e2d3875 Author: Milton Miller Date: Fri Jul 11 09:03:09 2008 +1000 powerpc/spufs: correct kcalloc usage kcalloc is supposed to be called with the count as its first argument and the element size as the second. Signed-off-by: Milton Miller Signed-off-by: Jeremy Kerr commit 6479884509e6cd30c6708fbf05fafc0d1fc85f7a Author: Joe Perches Date: Fri Jul 11 15:17:02 2008 -0700 e1000: neaten function declarations Signed-off-by: Joe Perches Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit cdc18a670923d01a762d66be582bfe763772d441 Author: Christoph Lameter Date: Fri Jul 11 16:12:34 2008 -0500 Fix typo in meth driver An | in an if statement to check a bit? I think this needs to be a &. As a result of this typo meth will always operate in promiscuous mode. Signed-off-by: Christoph Lameter Signed-off-by: Jeff Garzik commit a6a5325239c20202e18e21e94291bccc659fbf9e Author: Jie Yang Date: Fri Jul 18 11:37:13 2008 +0800 atl1e: Atheros L1E Gigabit Ethernet driver Full patch for the Atheros L1E Gigabit Ethernet driver. Supportring AR8121, AR8113 and AR8114 Signed-off-by: Jie Yang Signed-off-by: Jeff Garzik commit bb5d10ac8cc315d53306963001fe650d88a1cbb2 Author: Jesse Brandeburg Date: Fri Jul 11 17:34:58 2008 -0700 ixgbe: remove device ID for unsupported device The ixgbe driver was untested with device ID 8086:10c8 but still advertises support. Currently if this device is present in the system when the driver is loaded, the system will panic. Remove this device ID until full support can be tested with available hardware. This patch is necessary for 2.6.24, 2.6.25 and 2.6.26 Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 4a0a088970a553e9f89d23eec688932f689d57f9 Author: Stephen Rothwell Date: Tue Jul 22 15:47:17 2008 -0700 sparc32: pass -m32 when building vmlinux.lds Otherwise it breaks since we merged asm/page.h Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit c8f15686a4b3345e3e81e09cfe191df58bbedd45 Author: Anton Vorontsov Date: Tue Jul 22 15:41:24 2008 -0700 netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 The drivers were touching net queue before it has been started, so without this patch, the drivers will potentially WARN at net/core/dev.c:1328. I don't have the hardware for the drivers below, so this patch is untested, and thus should be carefully peer reviewed. tc35815.c au1000_eth.c bfin_mac.c macb.c ^ The four drivers are using phylib, they're calling netif_start_queue() in open() callback. So trivially remove netif_tx_schedule_all(). Phylib will handle netif_carrier_*(). cpmac.c fec_mpc52xx.c fs_enet/fs_enet-main.c sh_eth.c ^ The same as above, but these were also needlessly calling netif_carrier_*() functions. So removed queue calls and also remove carrier calls, since phylib will handle it. fs_enet-main.c also didn't call netif_start_queue() at open(), this is fixed now. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit f17a077e61b627e58db5926bc474cf308318dad9 Author: Harvey Harrison Date: Tue Jul 22 14:40:47 2008 -0700 PCI: fixup sparse endianness warnings in proc.c drivers/pci/proc.c:91:3: warning: cast from restricted __le16 drivers/pci/proc.c:100:3: warning: cast from restricted __le32 drivers/pci/proc.c:109:3: warning: cast from restricted __le16 drivers/pci/proc.c:161:40: warning: cast to restricted __le16 drivers/pci/proc.c:170:41: warning: cast to restricted __le32 drivers/pci/proc.c:179:40: warning: cast to restricted __le16 Signed-off-by: Harvey Harrison Signed-off-by: Jesse Barnes commit 1a4dc68b31fd04573ab3c554702372941a4fd46f Author: Dave Jones Date: Tue Jul 15 19:54:52 2008 -0400 8139too: Fall back to PIO when MMIO fails. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit 152151daece9d5dfd86e652b95846072c0d2b566 Author: Dave Jones Date: Tue Jul 15 19:54:53 2008 -0400 8139too: Force usage of PIO on OQO2 The OQO model 2 has an RTL8139 from Atheros that doesn't like MMIO. It fails on modprobe, with a 'PCI Bus error' message. Force it to always use polled IO. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit eb5813481a97582c80c8d402ecb371149c77b4e0 Author: Dave Jones Date: Tue Jul 15 19:54:53 2008 -0400 8139too: Make PIO/MMIO a runtime decision through a module parameter. This is needed to support devices that only work with PIO without penalising devices that work fine with MMIO in distro kernels. It also allows us to eventually use PIO as a fallback when setting up MMIO fails. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit 7239016d52c6d568d069f083bdcd17f35ab79fd8 Author: Wang Jian Date: Wed Jul 16 21:46:20 2008 +0800 net/phy: Fix 88e1111 copper/fiber selection in RGMII mode MII_M1111_HWCFG_FIBER_COPPER_RES is a bit of MII_M1111_PHY_EXT_SR, not MII_M1111_PHY_EXT_CR. Signed-off-by: Wang Jian Signed-off-by: Jeff Garzik commit 9cf8fa4334e60f27b4a392f432c292f3af268215 Author: Wang Jian Date: Wed Jul 16 21:46:17 2008 +0800 net/phy: Fix copper/fiber auto-selection for 88e1111 The 27.15 bit (MII_M1111_HWCFG_FIBER_COPPER_AUTO) is disable bit. When set to 1, copper/fiber auto selection is disabled. The current code to enable but actually disable auto selection. Signed-off-by: Wang Jian Signed-off-by: Jeff Garzik commit c0e5a8c21bb9bb222917c36eba503ae88af52c34 Author: Harvey Harrison Date: Wed Jul 16 12:45:34 2008 -0700 net: tun.c fix cast Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 25ac3c24839002298e9329a5fda305e5383b1dc7 Author: Harvey Harrison Date: Wed Jul 16 12:45:27 2008 -0700 net: igb_main.c fix sparse integer as NULL pointer warning drivers/net/igb/igb_main.c:388:20: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit f8e5e776a3ac29705b1a357b23cad0920ef1a1d2 Author: Ben Dooks Date: Thu Jul 17 20:29:13 2008 +0100 DM9000: Remove magic numbers Remove magic numbers for items that we already have defined in the register header file. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 23fcc8d991c7f7bf3eaa64c296217103ab59f5dc Author: Ursula Braun Date: Fri Jul 18 15:24:58 2008 +0200 MAINTAINERS: Update email address of Ursula Braun Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit aa3f2cb63086e474a2ac3836d01fc6d9db393846 Author: Peter Tiedemann Date: Fri Jul 18 15:24:57 2008 +0200 s390/net/ctcm: message cleanup Cc: Martin Schwidefsky Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit b805da74dee3a8de8a29654078c5198f2fb0e15b Author: Andy Richter Date: Fri Jul 18 15:24:56 2008 +0200 s390/net: Cleanup claw printk messages. Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andy Richter Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 58735567b6de3034c9d0d7e1dcf31614b66de986 Author: Dhananjay Phadke Date: Mon Jul 21 19:44:10 2008 -0700 netxen: update driver version Change driver version to 4.0.0. Netxen firmwares as old as v3.4.216 are supported. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit cd1f8160e015cd1538701b7de216cbeaefc6b0a8 Author: Dhananjay Phadke Date: Mon Jul 21 19:44:09 2008 -0700 netxen: enable tso6, intr coalescing. Enable tso6 and ipv6 checksum, interrupt coalescing for NX3031. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit d9e651bc06690c5a5326e8d019fa7668409bc819 Author: Dhananjay Phadke Date: Mon Jul 21 19:44:08 2008 -0700 netxen: cut-through rx changes NX3031 supports cut-through operation where ingress packets are directly dma'ed into host buffers to reduce latency. This requires larger dma buffers (2kb) and different alignemnt. The buffer posting logic is changed a bit. The free rx buffers are maintained in linked list, since the received reference handles can be out of order. However rx descriptors are still posted sequentially, indexed by producer. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit c9fc891f86c062449116fde8826a0ead650e17ac Author: Dhananjay Phadke Date: Mon Jul 21 19:44:07 2008 -0700 netxen: mtu, mac, link status changes MAC addr, multicast filters, mtu are set through firmware commands in firmware v4.0.0+ because of virtualization of physical ports. Link status is also read from registers allocated by firmware for each virtual port. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 48bfd1e0fc66b27254ec742b014e689ef218e76c Author: Dhananjay Phadke Date: Mon Jul 21 19:44:06 2008 -0700 netxen: add netxen_nic_ctx.c Contains rx and tx ring context management and certain firmware commands for netxen firmware v4.0.0+. This patch gathers all HW context management code into netxen_nic_ctx.c. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit a97342f9790f14ac20bd5f8b16ed661411fa2e3e Author: Dhananjay Phadke Date: Mon Jul 21 19:44:05 2008 -0700 netxen: remove netxen_nic_isr.c It had only couple of functions which are moved to main.c Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 2956640d4aaaecd42bd8ba800cc8c33bfe206b7e Author: Dhananjay Phadke Date: Mon Jul 21 19:44:04 2008 -0700 netxen: pci probe and firmware init changes Add initialization code in pci probe for new chip and retain compatibility with old revisions. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 3ce06a320f8d5a3f16960e63021cc372283efffb Author: Dhananjay Phadke Date: Mon Jul 21 19:44:03 2008 -0700 netxen: add 2MB PCI memory support New revision of netxen chip has 2MB PCI memory. Older chips had 128MB addressable PCI memory. To retain compatibility, this patch adds function pointers based on pci bar0 size. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit e4c93c817ce650401db42db6c869cf7688217ff4 Author: Dhananjay Phadke Date: Mon Jul 21 19:44:02 2008 -0700 netxen: add defs for new chip/boards Add macros for new chip revision and board configurations. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 623621b07ebc5b72e0bdfa4a50bbb28f4587de0c Author: Dhananjay Phadke Date: Mon Jul 21 19:44:01 2008 -0700 netxen: hw multicast filtering Enable multicast address filtering capabilities in the hardware. Upto 16 multicast addresses can be programmed for each physical port. Support "allmulti" mode, if enabled. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 7830b22cbc5f5e804469b74a3fe0d3a8ed88ca31 Author: Dhananjay Phadke Date: Mon Jul 21 19:44:00 2008 -0700 netxen: cleanup unused variables/functions o Reduce access to global arrays in data path. o Remove duplicate/unused variables, unecessary alignment constraints. o Use correct pci_dev instead of fallback device for consistent allocations. o Disable ethtool set_eeprom functionality for now, it was only used for flashing firmware. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit f0084a36d4d799c024a5211555334d56c91d236d Author: Ingo Molnar Date: Tue Jul 22 09:23:34 2008 +0200 net 8390p: fix interface usage various drivers were using the wrong APIs: drivers/built-in.o: In function `hp_probe1': hp.c:(.init.text+0xa280): undefined reference to `NS8390_init' fixed via: cd drivers/net/; sed -i 's/NS8390_/NS8390p_/g' \ $(grep -l NS8390_ $(grep 8390p.o Makefile | cut -d' ' -f3 | \ sed 's/.o$/.c/g')) Signed-off-by: Ingo Molnar Signed-off-by: Jeff Garzik commit 3d0f24a74e7957593a5622eb5c04ed6860dd8391 Author: Stephen Hemminger Date: Tue Jul 22 14:35:50 2008 -0700 ipv6: icmp6_dst_gc return change Change icmp6_dst_gc to return the one value the caller cares about rather than using call by reference. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 75307c0fe7fcb3b52a92fe32384fc33f50622654 Author: Stephen Hemminger Date: Tue Jul 22 14:35:07 2008 -0700 ipv6: use kcalloc Th fib_table_hash is an array, so use kcalloc. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a76d7345a3f92bb8352f200e7b2e380dddcd7e36 Author: Stephen Hemminger Date: Tue Jul 22 14:34:35 2008 -0700 ipv6: use spin_trylock_bh Now there is spin_trylock_bh, use it rather than open coding. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c8a4522245e9931a53a98d5160bb4c00d3f73921 Author: Stephen Hemminger Date: Tue Jul 22 14:34:09 2008 -0700 ipv6: use round_jiffies This timer normally happens once a minute, there is no need to cause an early wakeup for it, so align it to next second boundary to safe power. It can't be deferred because then it could take too long on cleanup or DoS. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 417f28bb340725544c36b35465444d2fd57232b8 Author: Stephen Hemminger Date: Tue Jul 22 14:33:45 2008 -0700 netns: dont alloc ipv6 fib timer list FIB timer list is a trivial size structure, avoid indirection and just put it in existing ns. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 428695b89831d781ba203d97ee07da68150ea40d Author: David S. Miller Date: Tue Jul 22 14:30:55 2008 -0700 sparc: Fixes the DRM layer build on sparc. By providing an ioremap_wc(). Signed-off-by: David S. Miller commit e5899e1b7d73e67de758a32174a859cc2586c0b9 Author: Rafael J. Wysocki Date: Sat Jul 19 14:39:24 2008 +0200 PCI PM: make more PCI PM core functionality available to drivers Make more PCI PM core functionality available to drivers * Export pci_pme_capable() so that it can be called directly by drivers (for example, tg3 needs that). * Move the state choosing part of pci_prepare_to_sleep() to a separate function, pci_target_state(), that can be called directly by drivers (for example, tg3 needs that). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 888c848ed34bd5f8cb56567624c0d951ab35174e Author: Adrian Bunk Date: Tue Jul 22 14:21:58 2008 -0700 ipv6: make struct ipv6_devconf static struct ipv6_devconf can now become static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 4d6971e909e904be60218739fc961188471fc4f4 Author: Adrian Bunk Date: Tue Jul 22 14:21:30 2008 -0700 sctp: remove sctp_assoc_proc_exit() Commit 20c2c1fd6c842caf70dcb1d94b9d58861949fd3d (sctp: add sctp/remaddr table to complete RFC remote address table OID) added an unused sctp_assoc_proc_exit() function that seems to have been unintentionally created when copying the assocs code. Signed-off-by: Adrian Bunk Acked-by: Neil Horman Signed-off-by: David S. Miller commit abd0b198ea699578c3c3476d646c91842e19dbd2 Author: Adrian Bunk Date: Tue Jul 22 14:20:45 2008 -0700 sctp: make sctp_outq_flush() static sctp_outq_flush() can now become static. Signed-off-by: Adrian Bunk Acked-by: Neil Horman Signed-off-by: David S. Miller commit a94f779f9d82eb2d758a8715eaae5df98e8dcb21 Author: Adrian Bunk Date: Tue Jul 22 14:20:11 2008 -0700 pkt_sched: make qdisc_class_hash_alloc() static This patch makes the needlessly global qdisc_class_hash_alloc() static. Signed-off-by: Adrian Bunk Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e8bb4beb2b1f90d499134f2849727ed04c3bedc4 Author: Roland Dreier Date: Tue Jul 22 14:20:05 2008 -0700 IB/mthca: Keep free count for MTT buddy allocator MTT entries are allocated with a buddy allocator, which just keeps bitmaps for each level of the buddy table. However, all free space starts out at the highest order, and small allocations start scanning from the lowest order. When the lowest order tables have no free space, this can lead to scanning potentially millions of bits before finding a free entry at a higher order. We can avoid this by just keeping a count of how many free entries each order has, and skipping the bitmap scan when an order is completely empty. This provides a nice performance boost for a negligible increase in memory usage. Signed-off-by: Roland Dreier commit e4044cfc493338cd09870bd45dc646336bb66e9f Author: Roland Dreier Date: Tue Jul 22 14:19:40 2008 -0700 mlx4_core: Keep free count for MTT buddy allocator MTT entries are allocated with a buddy allocator, which just keeps bitmaps for each level of the buddy table. However, all free space starts out at the highest order, and small allocations start scanning from the lowest order. When the lowest order tables have no free space, this can lead to scanning potentially millions of bits before finding a free entry at a higher order. We can avoid this by just keeping a count of how many free entries each order has, and skipping the bitmap scan when an order is completely empty. This provides a nice performance boost for a negligible increase in memory usage. Signed-off-by: Roland Dreier commit 899698dad72340b562478b8b770317f2f0fe0c09 Author: Jack Morgenstein Date: Tue Jul 22 14:19:39 2008 -0700 mlx4_code: Add missing FW status return code Add ICM_ERROR firmware status code. In mapping to errnos, -ENFILE seems closest. This is in preparation for providing more detailed log info using mlx4_err() in low-level driver when a non-zero status is returned. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 47b374752aed1c029f995473c7c463ee3ae5fbaa Author: Roland Dreier Date: Tue Jul 22 14:19:39 2008 -0700 IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg Make the struct name consistent with other WQE segment struct types defined in . Signed-off-by: Roland Dreier commit 51f5f0ee22b98980f7816d42647467cd5f4b3b45 Author: Jack Morgenstein Date: Tue Jul 22 14:19:37 2008 -0700 mlx4_core: Add module parameter to enable QoS support Add a module parameter "enable_qos" to mlx4_core. If this param is set, enable support for QoS in the INIT_HCA command. By default, the parameter is set to 0 (disabled). Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 8086cd451f08f4c0f9693fc66d87754bbd18cfba Author: Adrian Bunk Date: Tue Jul 22 14:19:19 2008 -0700 netns: make get_proc_net() static get_proc_net() can now become static. Signed-off-by: Adrian Bunk Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1ca8d15619f725e223c19137350b0336b9196193 Author: Dotan Barak Date: Tue Jul 22 14:18:34 2008 -0700 RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes Remove IB_ACCESS_LOCAL_WRITE from qp.qp_access_flags because this attribute is only used to set remote permissions. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 01b3fc8b15432f7931e40fe099839e1559fb0e09 Author: Or Gerlitz Date: Tue Jul 22 14:18:34 2008 -0700 IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures Print the return code of ib_sa_path_rec_get() if it fails to help debug errors. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 64b784b583061ebfe1d484dd1fdc5a26c6d4293f Author: Ralph Campbell Date: Tue Jul 22 14:18:33 2008 -0700 IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one() If update_sm_ah() fails, it leaves the port's sm_ah as NULL. Then if the device or module is removed, ib_sa_remove_one() will dereference a NULL pointer when it calls kref_put(). Fix this by testing if sm_ah is NULL before dropping the reference. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 1a867c33bb65f2921351a9bdd98548bb96f0ff8c Author: Julia Lawall Date: Tue Jul 22 14:18:10 2008 -0700 IB/ehca: Release mutex in error path of alloc_small_queue_page() The pd->lock mutex is released on a successful return, so it should be released on an error return as well. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; @@ mutex_lock(l); ... when != mutex_unlock(l) when any when strict ( if (...) { ... when != mutex_unlock(l) + mutex_unlock(l); return ...; } | mutex_unlock(l); ) // Signed-off-by: Julia Lawall Signed-off-by: Roland Dreier commit 593e4d4a05c8263a6dbd5452c21d47c5bdadd40c Author: Joachim Fenkes Date: Tue Jul 22 14:18:08 2008 -0700 IB/ehca: Use default value for Local CA ACK Delay if FW returns 0 Some firmware versions report a Local CA ACK Delay of 0. In that case, return a more sensible default value of 12 (-> 16 msec) instead. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5b673b71c8ca0fbdb99dc1b1434cfb554212d6ff Author: Joachim Fenkes Date: Tue Jul 22 14:18:07 2008 -0700 IB/ehca: Filter PATH_MIG events if QP was never armed Certain firmware versions sometimes cause spurious PATH_MIG events to occur during QP creation. Filter these events by making sure PATH_MIG events are only handed down when they actually make sense (i.e. when the QP has been armed at least once). Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit cf508b1211dbe576778ff445ea1b4b0bcfa5c4ea Author: David S. Miller Date: Tue Jul 22 14:16:42 2008 -0700 netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep. The new address list lock needs to handle the same device layering issues that the _xmit_lock one does. This integrates work done by Patrick McHardy. Signed-off-by: David S. Miller commit 2f5de1512884da8c74bec2c76e8f114b972ab4be Author: Or Gerlitz Date: Tue Jul 22 14:16:21 2008 -0700 IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event Enhance iser to act upon notification on network stack changes that make its RDMA connection unaligned with the link used by the stack for the IPs used to establish the connection. When RDMA_CM_EVENT_ADDR_CHANGE arrives, just disconnect the connection, assuming that the user space iscsid daemon will reconnect, and the new connection will be aligned with the IP stack. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 38ca83a588662f0af684ba2567dd910a564268ab Author: Amir Vadai Date: Tue Jul 22 14:14:23 2008 -0700 RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event Consumers that want to re-use their QPs in new connections need to know when the QP has exited the timewait state. Report the timewait event through the rdma_cm. Signed-off-by: Amir Vadai Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit dd5bdff83b19d9174126e0398b47117c3a80e22d Author: Or Gerlitz Date: Tue Jul 22 14:14:22 2008 -0700 RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event Add an RDMA_CM_EVENT_ADDR_CHANGE event can be used by rdma-cm consumers that wish to have their RDMA sessions always use the same links (eg ) as the IP stack does. In the current code, this does not happen when bonding is used and fail-over happened but the IB link used by an already existing session is operating fine. Use the netevent notification for sensing that a change has happened in the IP stack, then scan the rdma-cm ID list to see if there is an ID that is "misaligned" with respect to the IP stack, and deliver RDMA_CM_EVENT_ADDR_CHANGE for this ID. The consumer can act on the event or just ignore it. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit f42e86d95fa53d3a62b2795515da18b4f41b0480 Author: Yong Wang Date: Tue Jul 22 14:14:18 2008 -0700 PCI/DMAR: don't assume presence of RMRRs RMRRs do not necessarily have to be present on all VT-d capable platforms. The printk is just informational and does not need to be followed by an error return. Signed-off-by: Yong Y Wang Cc: Fenghua Yu Cc: mark gross Cc: Keshavamurthy, Anil S Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit d29f749e252bcdbfe7a75a58f0ee92da16f127c0 Author: Dave Jones Date: Tue Jul 22 14:09:06 2008 -0700 net: Fix build failure with 'make mandocs'. The function header comments have to go with the functions they are documenting, or things go horribly wrong when we try to process them with the docbook tools. Warning(include/linux/netdevice.h:1006): No description found for parameter 'dev_queue' Warning(include/linux/netdevice.h:1033): No description found for parameter 'dev_queue' Warning(include/linux/netdevice.h:1067): No description found for parameter 'dev_queue' Warning(include/linux/netdevice.h:1093): No description found for parameter 'dev_queue' Warning(include/linux/netdevice.h:1474): No description found for parameter 'txq' Error(net/core/dev.c:1674): cannot understand prototype: 'u32 simple_tx_hashrnd; ' Signed-off-by: Dave Jones Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 0988c37c248e824953d95a11412696c348dbca91 Merge: 6eaaaac... d536b1f... Author: Linus Torvalds Date: Tue Jul 22 13:40:24 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 crash due to missing debugctlmsr on AMD K6-3 x86: add PTE_FLAGS_MASK x86: rename PTE_MASK to PTE_PFN_MASK x86: fix pte_flags() to only return flags, fix lguest (updated) x86: use setup_clear_cpu_cap with disable_apic, fix x86: move the last Dprintk instance to pr_debug() commit 6eaaaac97433575894570a990aa27310040a8177 Merge: 06b8147... a1ef5ad... Author: Linus Torvalds Date: Tue Jul 22 13:17:15 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: remove CONFIG_KMOD from core kernel code remove CONFIG_KMOD from lib remove CONFIG_KMOD from sparc64 rework try_then_request_module to do less in non-modular kernels remove mention of CONFIG_KMOD from documentation make CONFIG_KMOD invisible modules: Take a shortcut for checking if an address is in a module module: turn longs into ints for module sizes Shrink struct module: CONFIG_UNUSED_SYMBOLS ifdefs module: reorder struct module to save space on 64 bit builds module: generic each_symbol iterator function module: don't use stop_machine for waiting rmmod commit 06b8147c5dbd385b5b97ca74e19f6f3951ebc1cb Merge: 53baaaa... 8725f25... Author: Linus Torvalds Date: Tue Jul 22 13:16:01 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (49 commits) powerpc: Fix build bug with binutils < 2.18 and GCC < 4.2 powerpc/eeh: Don't panic when EEH_MAX_FAILS is exceeded fbdev: Teaches offb about palette on radeon r5xx/r6xx powerpc/cell/edac: Log a syndrome code in case of correctable error powerpc/cell: Add DMA_ATTR_WEAK_ORDERING dma attribute and use in Cell IOMMU code powerpc: Indicate which oprofile counters to use while in compat mode powerpc/boot: Change spaces to tabs powerpc: Remove duplicate 6xx option in Kconfig powerpc: Use PPC_LONG and PPC_LONG_ALIGN in lib/string.S powerpc: Use PPC_LONG_ALIGN in uaccess.h powerpc: Add a #define for aligning to a long-sized boundary powerpc: Fix OF parsing of 64 bits PCI addresses powerpc: Use WARN_ON(1) instead of __WARN() powerpc: Fix support for latencytop powerpc/ps3: Update ps3_defconfig powerpc/ps3: Add a sub-match id to ps3_system_bus powerpc: Add a 6xx defconfig powerpc/dma: Use the struct dma_attrs in iommu code powerpc/cell: Add support for power button of future IBM cell blades powerpc/cell: Cleanup sysreset_hack for IBM cell blades ... commit 53baaaa9682c230410a057263d1ce2922f43ddc4 Merge: f10140f... 3f97870... Author: Linus Torvalds Date: Tue Jul 22 13:13:47 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: (79 commits) arm: bus_id -> dev_name() and dev_set_name() conversions sparc64: fix up bus_id changes in sparc core code 3c59x: handle pci_name() being const MTD: handle pci_name() being const HP iLO driver sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute sysdev: Add utility functions for simple int/ulong variable sysdev attributes sysdev: Pass the attribute to the low level sysdev show/store function driver core: Suppress sysfs warnings for device_rename(). kobject: Transmit return value of call_usermodehelper() to caller sysfs-rules.txt: reword API stability statement debugfs: Implement debugfs_remove_recursive() HOWTO: change email addresses of James in HOWTO always enable FW_LOADER unless EMBEDDED=y uio-howto.tmpl: use unique output names uio-howto.tmpl: use standard copyright/legal markings sysfs: don't call notify_change sysdev: fix debugging statements in registration code. kobject: should use kobject_put() in kset-example kobject: reorder kobject to save space on 64 bit builds ... commit c7f80993a38f0354a8ad821bcd9335b47a464357 Author: Brice Goglin Date: Mon Jul 21 10:26:25 2008 +0200 myri10ge: use ioremap_wc Switch to ioremap_wc(). We keep the MTRR code since ioremap_wc() will use UC_MINUS when falling back to uncachable, and thus let the MTRR WC take precedence. Also rename the error path better. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit e454e7e2e3afbcdc002ed55a087a14e8b057519d Author: Brice Goglin Date: Mon Jul 21 10:25:50 2008 +0200 myri10ge: remove wcfifo Remove the wcfifo since it never gave any performance improvement. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit b57f9cae8724e4822fedfcc12530f868dcf6ea94 Author: Wang Chen Date: Tue Jul 22 13:13:18 2008 +0800 de4x5: Remove developer debug feature about set/clear promisc IFF_PROMISC flag shouldn't be set or cleared by drivers, because whether device be promisc mode is decided by how many upper layer callers being referenced to it. And the promisc changing feature of de4x5 ioctl is developer debug feature, we can remove it now. Signed-off-by: Wang Chen Acked-by: Grant Grundler Signed-off-by: Jeff Garzik commit 2b4ff112a0b3fe90de561a77f2e66000c028ca54 Author: frank.blaschka@de.ibm.com Date: Tue Jul 22 09:39:25 2008 +0200 qeth: fix build error caused by VLAN changes Adrian Bunk reports this build error: CC drivers/s390/net/qeth_l3_main.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_hard_start_xmit': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/net/qeth_l3_main.c: 2654: error: implicit declaration of function 'VLAN_TX_SKB_CB' /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/net/qeth_l3_main.c: 2654: error: invalid type argument of '->' (have 'int') make[3]: *** [drivers/s390/net/qeth_l3_main.o] Error 1 The intention of the driver appears to be to invalidate the VLAN tag. Change it to set skb->vlan_tci to zero, which has the same effect. Signed-off-by: Patrick McHardy Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 217d5a51953143046cf2972eebdefe2b2db05718 Author: Laurent Pinchart Date: Tue Jul 22 17:43:42 2008 +0200 fs_enet: Remove unused fields in the fs_mii_bb_platform_info structure. The mdio_port, mdio_bit, mdc_port and mdc_bit fields in the fs_mii_bb_platform_info structure are left-overs from the move to the Phy Abstraction Layer subsystem. They are not used anymore and can be safely removed. Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit d999597349dcfd3b11205705c31a2f8e00688dd3 Merge: b32d131... 7733289... Author: Jeff Garzik Date: Tue Jul 22 16:07:11 2008 -0400 Merge branch 'r8169-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream-fixes commit f10140fbe5f97ecfeda986a12d0f1bad75642779 Author: Alan Cox Date: Tue Jul 22 15:25:07 2008 +0100 port_fixups: Fix ups for tty port changes I missed the cpm_uart one. Thanks to Kumar Gala for reporting it. A double check found samsung also needed fixing up. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ed569bfb8e5d0725db11018130e44eb567d829c1 Author: Alan Cox Date: Tue Jul 22 13:44:14 2008 +0100 istallion: Use helpers The ldisc needs to be referenced properly when used. The tty layer has a helper for this which should have been used but this driver got missed originally. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c68a99cda87a8356ea0e56cc5111043ac8402ffd Author: Paul Fulghum Date: Tue Jul 22 11:23:24 2008 +0100 synclink_gt fix locking in error path of rx enable Fix locking in error path of rx_enable() introduced by synclink_gt-add-rx-dma-buffer-fill-level-control patch. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 814dae031d08d40d34c0403a54d6e659baf0ae71 Author: Paul Fulghum Date: Tue Jul 22 11:22:14 2008 +0100 synclink_gt: add rx DMA buffer fill level control Add run time control for receive DMA buffer fill level to allow application to control receive latency when using stream oriented serial protocols that pass receive data to application only after a DMA buffer fills. This was previously a compile time option, but run time control is needed when application changes data rate (and latency requirements) or uses different data rates on different ports. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 993456cdc853a52e1042ebf93fc6e1a12d1216f7 Author: Paul Fulghum Date: Tue Jul 22 11:22:04 2008 +0100 synclink_gt: leave transmitter in reset state after configuration Leave the transmitter in reset state after configuration so that transmit signal is held at mark until transmitter is explicitly enabled by application, otherwise transmitter sends idle pattern. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 403214d0ad9b2b9e46c89a5b4b513c910c89068d Author: Paul Fulghum Date: Tue Jul 22 11:21:55 2008 +0100 synclink_gt: improve TIOCOUTQ accuracy Improve the accuracy of TIOCOUTQ value as implemented in chars_in_buffer() method by walking and counting tx DMA buffers, reading controller tx FIFO level and accounting for controller tx shift register. The greatly improves application control of transmit latency at lower data rates. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e5590717afd5fb6f494323206a1a35ea25610c2d Author: Paul Fulghum Date: Tue Jul 22 11:21:39 2008 +0100 synclink_gt: add serial bit order control Add control of hardware serial bit order between LSB first (default/standard) and MSB first. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8a38c2851d6950502252982af712ac65ef6784ed Author: Paul Fulghum Date: Tue Jul 22 11:21:28 2008 +0100 synclink_gt: improve and simplify write method Improve write method by allowing multiple HDLC frames to be loaded into tx DMA buffer ring for continuous frame transmission. This simplifies the transmit code by using the common procedures for all serial protocols. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c72f527c104cae8e767e714574238b5550879e0c Author: Paul Fulghum Date: Tue Jul 22 11:21:19 2008 +0100 n_hdlc: honor O_NONBLOCK on write Make n_hdlc line discipline honor the O_NONBLOCK file flag on write. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 768aec0b5bccbd460bcf6e9131f19b5a26f3862d Author: Anton Vorontsov Date: Tue Jul 22 11:21:07 2008 +0100 serial: 8250: fix shared interrupts issues with SMP and RT kernels With SMP kernels _irqsave spinlock disables only local interrupts, while the shared serial interrupt could be assigned to the CPU that is not currently starting up the serial port. This might cause issues because serial8250_startup() routine issues IRQ-triggering operations before registering the port in the IRQ chain (though, this is fine to do and done explicitly because we don't want to process any interrupts on the port startup). With RT kernels and preemptable hardirqs, _irqsave spinlock does not disable local hardirqs, and the bug could be reproduced much easily: $ cat /dev/ttyS0 & $ cat /dev/ttyS1 irq 42: nobody cared (try booting with the "irqpoll" option) Call Trace: [C0475EB0] [C0008A98] show_stack+0x4c/0x1ac (unreliable) [C0475EF0] [C004BBD4] __report_bad_irq+0x34/0xb8 [C0475F10] [C004BD38] note_interrupt+0xe0/0x308 [C0475F50] [C004B09C] thread_simple_irq+0xdc/0x104 [C0475F70] [C004B3FC] do_irqd+0x338/0x3c8 [C0475FC0] [C00398E0] kthread+0xf8/0x100 [C0475FF0] [C0011FE0] original_kernel_thread+0x44/0x60 handlers: [] (serial8250_interrupt+0x0/0x138) Disabling IRQ #42 After this, all serial ports on the given IRQ are non-functional. To fix the issue we should explicitly disable shared IRQ before issuing any IRQ-triggering operations. I also changed spin_lock_irqsave to the ordinary spin_lock, since it seems to be safe: chain does not contain new port (yet), thus nobody will interfere us from the ISRs. Signed-off-by: Anton Vorontsov Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 88e882497d154dfb7c341902c079c9daeca1626f Author: David Howells Date: Tue Jul 22 11:20:45 2008 +0100 Fix the epca driver to permit epca_setup() to be invoked from the kernel cmdline Fix the epca driver to call epca_setup() if digiepca=xxx is included on the command line and the epca driver is built in. epca_setup() used to be called from init/main.c in 2.2 kernels, but somewhere along the way that call was removed but not replaced. Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e129deff3d979df1ad3d0a6756c90932c0a0a102 Author: Jiri Slaby Date: Tue Jul 22 11:20:34 2008 +0100 Char: mxser, add CP-102UF support Add support for CP-102UF moxa card (update to 1.12 original driver) and increment this driver version. (Somewhat reworked by alan@redhat.com to merge in with other patches) Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit faa7612c09ae4519ad4659c8417aaaba81183833 Author: Alan Cox Date: Tue Jul 22 11:19:05 2008 +0100 specialix: restore driver using new break functionality Use the hardware break support on the specialix driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4a56122297ac7a4a3bf09fb66c0a365a13abe707 Author: David Howells Date: Tue Jul 22 11:18:43 2008 +0100 Fix the (i)Stallion driver's putchar() and break_ctl() ops Fix the Stallion driver's putchar() and break_ctl() ops and iStallion's putchar() to return values. Is it actually possible for putchar() or break_ctl() to be called with tty == NULL or can the check be discarded? Should stl_write() be returning 0 if tty->driver_data is NULL or tx.buf is NULL? Is this even possible? I've made Stallion's functions return -EINVAL as stli_breakctl() if the checks fail. Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 781cff5cb2bc8d714270accf88db23a855de9816 Author: Alan Cox Date: Tue Jul 22 11:18:30 2008 +0100 riscom8: Restore driver using new break functionality Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6d889724332e875ac07b6c88e08d9564c180824d Author: Alan Cox Date: Tue Jul 22 11:18:21 2008 +0100 isicom: restore using hardware break support Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit dcbf1280796be7c0b74c4231f0ac9dd8aa1e2591 Author: Alan Cox Date: Tue Jul 22 11:18:12 2008 +0100 epca: Restore driver Convert the driver to use the added hardware break support Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9e98966c7bb94355689478bc84cc3e0c190f977e Author: Alan Cox Date: Tue Jul 22 11:18:03 2008 +0100 tty: rework break handling Some hardware needs to do break handling itself and may have partial support only. Make break_ctl return an error code. Add a tty driver flag so you can indicate driver hardware side break support. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit abbe629ae4011d2020047f41bea9f9e4b0ec4361 Author: Alan Cox Date: Tue Jul 22 11:17:53 2008 +0100 tty: Mark unconverted drivers as BROKEN Nobody seems to use these drivers anyway so if they want them they can fix them up. I don't have the needed info to add break_ctl support to them. Send patches if you don't like it. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8ca8b9005a742edf8d82749d4ad4e616405fbdc4 Author: Alan Cox Date: Tue Jul 22 11:17:43 2008 +0100 mxser: remove dead code Old style ioctl break code can go Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 30252ec958897d61925a4baf79cd9411a6be0486 Author: Alan Cox Date: Tue Jul 22 11:17:32 2008 +0100 epca: Fix comments and move break The ioctls it talks about are midlayer provided. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d2fbd0f2f9f5a34831a0b8fe6b16c6e1afba1200 Author: Alan Cox Date: Tue Jul 22 11:17:16 2008 +0100 specialix: Code cleanups Go through the inlines and other oddments that are iffy. Remove various bits of dead code and bogus debug. Turn the crtsdts compile time option into a runtime switch. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a72492bd8a8d4326fd78b2142bf7cae779d5d4c2 Author: Alan Cox Date: Tue Jul 22 11:17:05 2008 +0100 specialix: Tidy up coding style Preparation for doing some real work on the driver. Do this first so we can easily identify if the cleanups accidentally broke something Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 01e1abb2c27e43339b8829a2e3b1c6f53806b77a Author: Alan Cox Date: Tue Jul 22 11:16:55 2008 +0100 tty: Split ldisc code into its own file Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit d76f2f4462bbb2cf7bc83a35c5278177aa627e89 Author: Alan Cox Date: Tue Jul 22 11:16:42 2008 +0100 io_edgeport: Fix various bogus returns to the tty layer The edgeport reports negative error codes to functions that do not expect them. This can cause ports to jam forever Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 03f0dbf74c7a117c270e63d62d5e4927af6f295b Author: Alan Cox Date: Tue Jul 22 11:16:34 2008 +0100 tty-usb-io_edgeport: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 4da1a17dbc5211ac90264cfc4f0e076c8bdc1732 Author: Alan Cox Date: Tue Jul 22 11:16:21 2008 +0100 tty-usb-mos7720: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 880af9db2c35c5fedaef0de89473f202329934db Author: Alan Cox Date: Tue Jul 22 11:16:12 2008 +0100 mos7840: remove loads of bogus assignments to status Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 4944d40054d73b2f8d7d546f55c206eb3baf2710 Author: Alan Cox Date: Tue Jul 22 11:16:03 2008 +0100 omninet: Use string flip functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit f89d0dff2507b6bd486b7db59a5f6a733fbfaa12 Author: Alan Cox Date: Tue Jul 22 11:15:54 2008 +0100 tty-usb-omninet: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 19e58fae0c8f197d80fcea338b94fb5740369bc1 Author: Alan Cox Date: Tue Jul 22 11:15:45 2008 +0100 tty-usb-option: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2a77c8144992e21367cc15956b0ff295f1112c85 Author: Alan Cox Date: Tue Jul 22 11:15:36 2008 +0100 tty-usb-oti6858: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 43c8f435b2ca39f12ad89d91d9ee2be04a196f93 Author: Alan Cox Date: Tue Jul 22 11:15:26 2008 +0100 tty-usb-safe-serial: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit a30fa793f35b9a72fdb9ea90a539c8c9cf7bee94 Author: Alan Cox Date: Tue Jul 22 11:15:17 2008 +0100 tty-usb-ti-usb: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 0487b583f268ea43ededd7897dbf519bdcb395ee Author: Alan Cox Date: Tue Jul 22 11:15:08 2008 +0100 tty-usb-spcp8x5: Minor coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 9660ea36bdcd4c33174e912a3e649c048d22a3d6 Author: Alan Cox Date: Tue Jul 22 11:14:59 2008 +0100 tty-usb-sierra: Coding style - minor Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 3a0f43e9deffd9619ac34e3b6b9ba7089aa1e511 Author: Alan Cox Date: Tue Jul 22 11:14:49 2008 +0100 tty-usb-pl2303: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit acc80758abc91e5d91f3f4ceb8dd94da2aa7064d Author: Alan Cox Date: Tue Jul 22 11:14:40 2008 +0100 mct_u232: Use flip buffer functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit e19b2560be568301ec4cc486671361ef0471d839 Author: Alan Cox Date: Tue Jul 22 11:14:30 2008 +0100 tty-usb-mct-u232: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit b31f658b0bb42b315c22ae2ef814e5fba36ac737 Author: Alan Cox Date: Tue Jul 22 11:14:22 2008 +0100 kobil_sct: Fix ioctls Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit dee0a7ccaa0bcdeebb590879d68739cce4ff1b07 Author: Alan Cox Date: Tue Jul 22 11:14:10 2008 +0100 tty-usb-kobil-sct: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 0c265f4e8598e251108759685dbb3789868086b2 Author: Alan Cox Date: Tue Jul 22 11:14:00 2008 +0100 tty-usb-kl5kusb105: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 8dd03a5b2b775b0932c1705dc19298ccda19167d Author: Alan Cox Date: Tue Jul 22 11:13:51 2008 +0100 keyspan_pda: Use string flip functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 9e70f319d14ac4dd077de7fc835a391ece804500 Author: Alan Cox Date: Tue Jul 22 11:13:42 2008 +0100 tty-usb-keyspan-pda: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit f035a8ad158f0bdc94125004488b0ea8438edaa9 Author: Alan Cox Date: Tue Jul 22 11:13:32 2008 +0100 keyspan: Use string flip functions when possible Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit deb91685784fc0bc845c582f8b2bc229cb7bc9da Author: Alan Cox Date: Tue Jul 22 11:13:08 2008 +0100 tty-usb-keyspan: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 9e8e2d2ab58ee942b700a9453541d7539b704994 Author: Alan Cox Date: Tue Jul 22 11:12:59 2008 +0100 tty-usb-iuu-phoenix: Clean up to coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 6d1d1698966ab6a5ac7ddcb16602ffebcf97f887 Author: Alan Cox Date: Tue Jul 22 11:12:51 2008 +0100 tty-usb-ipw: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit eb6215ccd403153c6376f7eaa7b31eef19e488f5 Author: Alan Cox Date: Tue Jul 22 11:12:41 2008 +0100 ipaq: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2e0ddd626d14f3b69d6c1bdd526721a65d52f93b Author: Alan Cox Date: Tue Jul 22 11:12:33 2008 +0100 io_ti: Minor coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit a8d6f0a9c4c9af0e478383d870e828693e983dfb Author: Alan Cox Date: Tue Jul 22 11:12:24 2008 +0100 usb-serial: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit d60d43965e46674b9097b422336a55c6ca08559a Author: Alan Cox Date: Tue Jul 22 11:12:15 2008 +0100 tty-usb-visor: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 3a262b2ea7c0905026c0be3618dba1f825e5387a Author: Alan Cox Date: Tue Jul 22 11:12:05 2008 +0100 tty-usb-hp4x: Fix overlong line Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit ae64387a54fd519d68aa7d1aacba095140f1a647 Author: Alan Cox Date: Tue Jul 22 11:11:55 2008 +0100 tty-usb-generic: Code cleanup Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit af6d780b578778d442278ac4894ff10847bebae2 Author: Alan Cox Date: Tue Jul 22 11:11:44 2008 +0100 garmin_gps: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 64701e8122fff3605c674c056749864c97485de4 Author: Alan Cox Date: Tue Jul 22 11:11:34 2008 +0100 funsoft: Switch to linux/uaccess Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 464cbb24698ddb7bf24b2b73204e3dc121886211 Author: Alan Cox Date: Tue Jul 22 11:11:23 2008 +0100 ftdi_sio: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 93c467952ff6b5c3d92fddf4b1a609e68f6d08d1 Author: Alan Cox Date: Tue Jul 22 11:11:11 2008 +0100 empeg: Coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 41ad427da1f9303e2e34811398b31c999c3d39d1 Author: Alan Cox Date: Tue Jul 22 11:11:02 2008 +0100 digi_acceleport: coding style Code tidy Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 77336828c01933d37102c4bef6e2a2cf7e3243b3 Author: Alan Cox Date: Tue Jul 22 11:10:53 2008 +0100 usb-cypress: There is no 0 case to go with CS5/6/7/8 so remove the test Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 813a224fa5bff3e34309a6494e231d5ebfa0fb4e Author: Alan Cox Date: Tue Jul 22 11:10:36 2008 +0100 cypress_m8: coding style Coding style clean ups Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit b9c52f155f86eca9c4625b254b5f41dc151431be Author: Alan Cox Date: Tue Jul 22 11:10:27 2008 +0100 cyberjack: Coding style Coding style fixups Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit ff7eb602605cc0100f089d57966fcd347e137137 Author: Alan Cox Date: Tue Jul 22 11:10:17 2008 +0100 cp2101: coding style Bring up to coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit c17ee886976b64d29ea89ee5d87751438e26025b Author: Alan Cox Date: Tue Jul 22 11:10:08 2008 +0100 tty-usb-console: Fix termios Setting CFLAG bits is all well and good but you must sort out ispeed and ospeed properly. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 4dbd5a0961ff55cb8a7bce309dd5ef9b04090570 Author: Alan Cox Date: Tue Jul 22 11:09:57 2008 +0100 tty-usb-console: tidy the USB console code Code tidy Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit c97611c16d9b3c37fcf3c18cc442dfde3a8b5d43 Author: Alan Cox Date: Tue Jul 22 11:09:48 2008 +0100 usb-serial-bus: tidy coding style Tidy up Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit b69c14992ecbff99d1b2b66d8ccbcffe131c6e38 Author: Alan Cox Date: Tue Jul 22 11:09:39 2008 +0100 belkin_sa: clean up code Coding style tidy up for belkin_sa Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 72e2741256e65f2adcc03754523d6a2fdb260e4a Author: Alan Cox Date: Tue Jul 22 11:09:29 2008 +0100 whiteheat: fix bugs found in the tidy and audit Termios tidy up, plus fix break and DTR. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 80359a9c5c03d585686e2596c9ee46703eb03047 Author: Alan Cox Date: Tue Jul 22 11:09:16 2008 +0100 whiteheat: coding style Bring ezusb and whiteheat into line with the coding style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 95da310e66ee8090119596c70ca8432e57f9a97f Author: Alan Cox Date: Tue Jul 22 11:09:07 2008 +0100 usb_serial: API all change USB serial likes to use port->tty back pointers for the real work it does and to do so without any actual locking. Unfortunately when you consider hangup events, hangup/parallel reopen or even worse hangup followed by parallel close events the tty->port and port->tty pointers are not guaranteed to be the same as port->tty is the active tty while tty->port is the port the tty may or may not still be attached to. So rework the entire API to pass the tty struct. For console cases we need to pass both for now. This shows up multiple drivers that immediately crash with USB console some of which have been fixed in the process. Longer term we need a proper tty as console abstraction Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 1aa3692da57c773e5c76de55c5c4a953962d360e Author: Alan Cox Date: Tue Jul 22 11:08:53 2008 +0100 ttydev: Fix up compile failures in the PPC build Fix up a couple of reported merge problems Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e4268aad42e9f37d01925022830b16bab3d0d5af Author: Alex Chiang Date: Thu Jul 17 11:13:32 2008 -0600 PCI hotplug: fix error path in pci_slot's register_slot Juha Leppnen noticed that an error path in register_slot() wasn't returning appropriately, leading to a condition where we might access a kfree'ed pointer, so let's fix that. Additionally, fix up the copyright information in the file while we're in there. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 09177e85d6a0bffac8b55afd28ed8b82bd873f0b Author: Maciej Sosnowski Date: Tue Jul 22 10:07:33 2008 -0700 I/OAT: Add watchdog/reset functionality to ioatdma Due to occasional DMA channel hangs observed for I/OAT versions 1.2 and 2.0 a watchdog has been introduced to check every 2 seconds if all channels progress normally. If stuck channel is detected, driver resets it. The reset is done in two parts. The second part is scheduled by the first one to reinitialize the channel after the restart. Signed-off-by: Maciej Sosnowski Signed-off-by: Dan Williams commit d35cb360c29956510b2fe1a953bd4968536f7216 Author: Mathieu Desnoyers Date: Mon Jul 21 14:21:38 2008 -0700 markers: fix duplicate modpost entry When a kernel was rebuilt, the previous Module.markers was not cleared. It caused markers with different format strings to appear as duplicates when a markers was changed. This problem is present since scripts/mod/modpost.c started to generate Module.markers, commit b2e3e658b344c6bcfb8fb694100ab2f2b5b2edb0 It therefore applies to 2.6.25, 2.6.26 and linux-next. I merely merged the patches from Roland, Wenji and Takashi here. Credits to Roland McGrath Wenji Huang and Takashi Nishiie for providing the individual fixes. - Changelog : - Integrated Takashi's Makefile modification to clear Module.markers upon make clean. Signed-off-by: Mathieu Desnoyers Cc: Roland McGrath Cc: Wenji Huang Cc: Takashi Nishiie Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f17156fc55abac476d180e480bedb0f07f01b14 Author: Atsushi Nemoto Date: Mon Jul 21 14:21:37 2008 -0700 Fix build on COMPAT platforms when CONFIG_EPOLL is disabled Add missing cond_syscall() entry for compat_sys_epoll_pwait. Signed-off-by: Atsushi Nemoto Cc: Davide Libenzi Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 141c024036dc8ee7b2b374c6645659f1a2fc4334 Author: Rajiv Andrade Date: Mon Jul 21 14:21:37 2008 -0700 tpm: MAINTAINERS whitespace fix and email addresses addition Signed-off-by: Rajiv Andrade Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee1e6ab6056a8b9c19377257002da98b83819531 Author: Alexey Dobriyan Date: Mon Jul 21 14:21:36 2008 -0700 proc: fix /proc/*/pagemap some more struct pagemap_walk was placed on stack, some hooks are initialized, the rest (->pgd_entry, ->pud_entry, ->pte_entry) are valid but junk. Reported-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Cc: "Vegard Nossum" Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91cd4d6ef0abb1f65e81f8fe37e7d3c10344e38c Author: Miao Xie Date: Mon Jul 21 14:21:35 2008 -0700 cpusets: fix wrong domain attr updates Fix wrong domain attr updates, or we will always update the first sched domain attr. Signed-off-by: Miao Xie Cc: Hidetoshi Seto Cc: Paul Jackson Cc: Nick Piggin Cc: Ingo Molnar Cc: [2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1673ad52bd9a3c747e596a76e65c55981ea651e3 Author: David Brownell Date: Mon Jul 21 14:21:34 2008 -0700 gpio: pcf857x: add lock and handle more chips Two small updates to the pcf857x driver: (a) the max732[89] chips are also second sources for the pcf8574/a, and (b) add a mutex to prevent trashing the cached state. Adding the lock is effectively a bugfix, although it seems unlikely that anyone would have run into the issue it protects against. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c36ec31473593aa937ff04f3b3b630e81512734 Author: Juergen Beisert Date: Mon Jul 21 14:21:34 2008 -0700 gpio: gpio driver for max7301 SPI GPIO expander Maxim's MAX7301 is an SPI GPIO expander with 28 GPIOs. Note: MAX7301's interrupt feature is not supported yet. [akpm@linux-foundation.org: coding-style fixes] [g.liakhovetski@pengutronix.de: Fix inaccuracies in comments, check spi_setup() return code, mask off high byte in max7301_read()] Signed-off-by: Juergen Beisert Signed-off-by: Guennadi Liakhovetski Cc: Russell King Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 651910874633a75f4a726d44e449be0a56b4b2e0 Author: John Reiser Date: Mon Jul 21 14:21:32 2008 -0700 execve filename: document and export via auxiliary vector The Linux kernel puts the filename argument of execve() into the new address space. Many developers are surprised to learn this. Those who know and could use it, object "But it's not documented." Those who want to use it dislike the expression (char *)(1+ strlen(env[-1+ n_env]) + env[-1+ n_env]) because it requires locating the last original environment variable, and assumes that the filename follows the characters. This patch documents the insertion of the filename, and makes it easier to find by adding a new tag AT_EXECFN in the ElfXX_auxv_t; see . In many cases readlink("/proc/self/exe",) gives the same answer. But if all the original pages get unmapped, then the kernel erases the symlink for /proc/self/exe. This can happen when a program decompressor does a good job of cleaning up after uncompressing directly to memory, so that the address space of the target program looks the same as if compression had never happened. One example is http://upx.sourceforge.net . One notable use of the underlying concept (what path containED the executable) is glibc expanding $ORIGIN in DT_RUNPATH. In practice for the near term, it may be a good idea for user-mode code to use both /proc/self/exe and AT_EXECFN as fall-back methods for each other. /proc/self/exe can fail due to unmapping, AT_EXECFN can fail because it won't be present on non-new systems. The auxvec or {AT_EXECFN}.d_val also can get overwritten, although in nearly all cases this would be the result of a bug. The runtime cost is one NEW_AUX_ENT using two words of stack space. The underlying value is maintained already as bprm->exec; setup_arg_pages() in fs/exec.c slides it for stack_shift, etc. Signed-off-by: John Reiser Cc: Roland McGrath Cc: Jakub Jelinek Cc: Ulrich Drepper Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04e1e0cccade330ab3715ce59234f7e3b087e246 Author: Jan Beulich Date: Tue Jul 22 13:04:18 2008 +0000 [CIFS] Fix compiler warning on 64-bit Signed-off-by: Steve French commit d536b1f86591fb081c7a56eab04e711eb4dab951 Author: Jan Kratochvil Date: Tue Jul 22 14:00:47 2008 +0200 x86: fix crash due to missing debugctlmsr on AMD K6-3 currently if you use PTRACE_SINGLEBLOCK on AMD K6-3 (i586) it will crash. Kernel now wrongly assumes existing DEBUGCTLMSR MSR register there. Removed the assumption also for some other non-K6 CPUs but I am not sure there (but it can only bring small inefficiency there if my assumption is wrong). Based on info from Roland McGrath, Chuck Ebbert and Mikulas Patocka. More info at: https://bugzilla.redhat.com/show_bug.cgi?id=456175 Signed-off-by: Jan Kratochvil Cc: Signed-off-by: Ingo Molnar commit a1ef5adb4cad43460ebba23c5a78cf4a55bb6a5b Author: Johannes Berg Date: Tue Jul 8 19:00:17 2008 +0200 remove CONFIG_KMOD from core kernel code Always compile request_module when the kernel allows modules. Signed-off-by: Johannes Berg Signed-off-by: Rusty Russell commit a00caa1fa954c734f4214a074727a329a9ba6568 Author: Johannes Berg Date: Tue Jul 8 19:00:24 2008 +0200 remove CONFIG_KMOD from lib textsearch algorithms can be loaded, make the code depend on CONFIG_MODULES instead of CONFIG_KMOD. Signed-off-by: Johannes Berg Signed-off-by: Rusty Russell commit 184b6c7682e484032e3f845eef5db26e72681d6f Author: Johannes Berg Date: Tue Jul 8 19:00:20 2008 +0200 remove CONFIG_KMOD from sparc64 One place is just a comment, the other a conditional, unused inclusion of linux/kmod.h. Signed-off-by: Johannes Berg Cc: David S. Miller Signed-off-by: Rusty Russell commit df648c9fbebb4de50e7a6e76cc253c7cb0421f9b Author: Johannes Berg Date: Tue Jul 8 19:00:18 2008 +0200 rework try_then_request_module to do less in non-modular kernels This reworks try_then_request_module to only invoke the "lookup" function "x" once when the kernel is not modular. Signed-off-by: Johannes Berg Signed-off-by: Rusty Russell commit a81792f668c20540c336af4242ba1400763eb14f Author: Johannes Berg Date: Tue Jul 8 19:00:25 2008 +0200 remove mention of CONFIG_KMOD from documentation Also includes a few Kconfig files (xtensa, blackfin) Signed-off-by: Johannes Berg Cc: Michael Kerrisk Cc: linux-doc@vger.kernel.org Signed-off-by: Rusty Russell Acked-by: Randy Dunlap commit baabaae98125fbd1a8dc258aa95333c01cd9e206 Author: Johannes Berg Date: Tue Jul 8 19:00:16 2008 +0200 make CONFIG_KMOD invisible ... as preparation for removing it completely, make it an invisible bool defaulting to yes. Signed-off-by: Johannes Berg Signed-off-by: Rusty Russell commit 3a642e99babe0617febb6f402e1e063479f489db Author: Rusty Russell Date: Tue Jul 22 19:24:28 2008 -0500 modules: Take a shortcut for checking if an address is in a module This patch keeps track of the boundaries of module allocation, in order to speed up module_text_address(). Inspired by Arjan's version, which required arch-specific defines: Various pieces of the kernel (lockdep, latencytop, etc) tend to store backtraces, sometimes at a relatively high frequency. In itself this isn't a big performance deal (after all you're using diagnostics features), but there have been some complaints from people who have over 100 modules loaded that this is a tad too slow. This is due to the new backtracer code which looks at every slot on the stack to see if it's a kernel/module text address, so that's 1024 slots. 1024 times 100 modules... that's a lot of list walking. Signed-off-by: Rusty Russell commit 2f0f2a334bc38b61a9afca951185cd3844ee709d Author: Denys Vlasenko Date: Tue Jul 22 19:24:27 2008 -0500 module: turn longs into ints for module sizes This shrinks module.o and each *.ko file. And finally, structure members which hold length of module code (four such members there) and count of symbols are converted from longs to ints. We cannot possibly have a module where 32 bits won't be enough to hold such counts. For one, module loading checks module size for sanity before loading, so such insanely big module will fail that test first. Signed-off-by: Denys Vlasenko Signed-off-by: Rusty Russell commit f7f5b67557eac1131ba6532522e3c50eced34238 Author: Denys Vlasenko Date: Tue Jul 22 19:24:26 2008 -0500 Shrink struct module: CONFIG_UNUSED_SYMBOLS ifdefs module.c and module.h conatains code for finding exported symbols which are declared with EXPORT_UNUSED_SYMBOL, and this code is compiled in even if CONFIG_UNUSED_SYMBOLS is not set and thus there can be no EXPORT_UNUSED_SYMBOLs in modules anyway (because EXPORT_UNUSED_SYMBOL(x) are compiled out to nothing then). This patch adds required #ifdefs. Signed-off-by: Denys Vlasenko Signed-off-by: Rusty Russell commit af5406895a05720a879dc33e2f4878fa503e81b3 Author: Richard Kennedy Date: Tue Jul 22 19:24:26 2008 -0500 module: reorder struct module to save space on 64 bit builds reorder struct module to save space on 64 bit builds. saves 1 cacheline_size (128 on default x86_64 & 64 on AMD Opteron/athlon) when CONFIG_MODULE_UNLOAD=y. Signed-off-by: Richard Kennedy Signed-off-by: Rusty Russell commit dafd0940c96fec67974a88ed8e6b8ba3160394cd Author: Rusty Russell Date: Tue Jul 22 19:24:25 2008 -0500 module: generic each_symbol iterator function Introduce an each_symbol() iterator to avoid duplicating the knowledge about the 5 different sections containing symbols. Currently only used by find_symbol(), but will be used by symbol_put_addr() too. (Includes NULL ptr deref fix by Jiri Kosina ) Signed-off-by: Rusty Russell Cc: Jiri Kosina commit da39ba5e1d65e997a98f6eb93ba6e6eb505f6e3c Author: Rusty Russell Date: Tue Jul 22 19:24:25 2008 -0500 module: don't use stop_machine for waiting rmmod rmmod has a little-used "-w" option, meaning that instead of failing if the module is in use, it should block until the module becomes unused. In this case, we don't need to use stop_machine: Max Krasnyansky indicated that would be useful for SystemTap which loads/unloads new modules frequently. Cc: Max Krasnyansky Signed-off-by: Rusty Russell commit 77be1fabd024b37423d12f832b1fbdb95dbdf494 Author: Jeremy Fitzhardinge Date: Mon Jul 21 22:59:56 2008 -0700 x86: add PTE_FLAGS_MASK PTE_PFN_MASK was getting lonely, so I made it a friend. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Ingo Molnar commit 59438c9fc4f7a92c808c9049bc6b396f98bf954c Author: Jeremy Fitzhardinge Date: Mon Jul 21 22:59:42 2008 -0700 x86: rename PTE_MASK to PTE_PFN_MASK Rusty, in his peevish way, complained that macros defining constants should have a name which somewhat accurately reflects the actual purpose of the constant. Aside from the fact that PTE_MASK gives no clue as to what's actually being masked, and is misleadingly similar to the functionally entirely different PMD_MASK, PUD_MASK and PGD_MASK, I don't really see what the problem is. But if this patch silences the incessent noise, then it will have achieved its goal (TODO: write test-case). Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Ingo Molnar commit c2e3277f875b83e5adc34e96989d6d87ec5f80f7 Author: Rusty Russell Date: Tue Jul 22 15:40:46 2008 +1000 x86: fix pte_flags() to only return flags, fix lguest (updated) (Jeremy said: rusty: use PTE_MASK rusty: use PTE_MASK rusty: use PTE_MASK When I asked: jsgf: does that include the NX flag? He responded eloquently: rusty: use PTE_MASK rusty: use PTE_MASK yes, it's the official constant of masking flags out of ptes ) Change a15af1c9ea2750a9ff01e51615c45950bad8221b 'x86/paravirt: add pte_flags to just get pte flags' removed lguest's private pte_flags() in favor of a generic one. Unfortunately, the generic one doesn't filter out the non-flags bits: this results in lguest creating corrupt shadow page tables and blowing up host memory. Since noone is supposed to use the pfn part of pte_flags(), it seems safest to always do the filtering. Signed-off-by: Rusty Russell Acked-by: Jeremy Fitzhardinge Signed-off-and-morning-tea-spilled-by: Ingo Molnar commit 79c28acb2b7d66ca48d23e1c8b5e9e043aa634f8 Author: Grant Likely Date: Fri Jul 11 16:17:57 2008 -0600 of-bindings: Add binding documentation for SPI busses and devices Add documentation about how to describe SPI busses in the device tree. Signed-off-by: Grant Likely Acked-by: Segher Boessenkool commit a19dd1bd7df839c52a668abcf288c2239442c3c9 Author: Grant Likely Date: Tue Jul 22 01:13:54 2008 -0600 powerpc/mpc5200: add PSC SICR bit definitions Required by the PSC I2S audio driver. Signed-off-by: Grant Likely commit 6d5509babce654fd9ce0ff6689dbdf6ce56c43ae Author: Grant Likely Date: Thu May 15 17:04:53 2008 -0600 powerpc/mpc5200: Make mpc5200 GPIO driver select the GENERIC_GPIO config CONFIG_GENERIC_GPIO is needed for the gpio driver to work. Signed-off-by: Grant Likely commit 78f56bd3d2dbe173bf1a946b353bf72ab9c0b94e Author: Jon Smirl Date: Sun Jul 20 11:30:08 2008 -0400 powerpc/mpc5200: Remove fsl-soc.c from mpc5200 build, it is not needed. Signed-off-by: Jon Smirl Signed-off-by: Grant Likely commit 6a4a636fad018500c5db7a2b56a00caeb21cbb2c Author: Jon Smirl Date: Sun Jul 20 11:27:22 2008 -0400 powerpc/mpc5200: Add AC97 register definitions for the MPC52xx PSC Needed by the PSC AC97 sound driver Signed-off-by: Jon Smirl Signed-off-by: Grant Likely commit 11d579ee0a19052a5a90ebfe0c39e7ed8ce8a9dc Author: Wolfram Sang Date: Sat Jun 28 20:31:52 2008 +0200 powerpc/mpc5200: Fix wrong 'no interrupt' handling in of_i2c If an I2C device node does not specify an interrupt, the .irq member of the board_info struct was set to -1. This caused crashes on following irq_dispose_mappings. Leave it NO_IRQ as returned from irq_of_parse_and_map. (Suggesting -1 as 'i2c-no-irq' used to be a bug in linux/i2c.h.) Signed-off-by: Wolfram Sang Acked-by: Sean MacLennan Signed-off-by: Grant Likely commit 8725f25acc656c1522d48a6746055099efdaca4c Merge: c69cccc... 93ded9b... Author: Benjamin Herrenschmidt Date: Tue Jul 22 17:12:37 2008 +1000 Merge commit 'origin/master' Manually fixed up: drivers/net/fs_enet/fs_enet-main.c commit 988781dc3e1d9209192b04458d279815923f5e76 Author: Yinghai Lu Date: Mon Jul 21 11:21:43 2008 -0700 x86: use setup_clear_cpu_cap with disable_apic, fix beauty fix: /proc/cpuinfo will still show apic feature even if we booted up with it disabled. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3f9787046ea37a26170dc4439efa21f8d23a9978 Author: Kay Sievers Date: Fri May 30 17:42:11 2008 +0200 arm: bus_id -> dev_name() and dev_set_name() conversions Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2222c313e9371b6476787594bc5804c72cee2597 Author: Greg Kroah-Hartman Date: Fri May 2 06:02:41 2008 +0200 sparc64: fix up bus_id changes in sparc core code This converts all instances of bus_id in the sparc core kernel to use either dev_set_name(), or dev_name() depending on the need. This is done in anticipation of removing the bus_id field from struct driver. Cc: Kay Sievers Acked-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 361d5ee3c04c43c8fa0e277545ac5258dc310a5e Author: Greg Kroah-Hartman Date: Wed Jul 2 12:46:22 2008 -0700 3c59x: handle pci_name() being const This changes vortex_prob1() to handle pci_name() now returning a constant string. Cc: Steffen Klassert Signed-off-by: Greg Kroah-Hartman commit eadcf0d704a46979c29984fa05f1fc413c775bcb Author: Greg Kroah-Hartman Date: Wed Jul 2 12:46:22 2008 -0700 MTD: handle pci_name() being const This changes the MTD core to handle pci_name() now returning a constant string. Cc: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 89bcb05d9bbf8bd559988bca4f2579defd28d008 Author: David Altobelli Date: Wed Jul 2 09:38:53 2008 -0600 HP iLO driver A driver for the HP iLO/iLO2 management processor, which allows userspace programs to query the management processor. Programs can open a channel to the device (/dev/hpilo/dXccbN), and use this to send/receive queries. The O_EXCL open flag is used to indicate that a particular channel cannot be shared between processes. This driver will replace various packages HP has shipped, including hprsm and hp-ilo. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit d95d62c018209355c0dc998682ff792432aa870c Author: Andi Kleen Date: Tue Jul 1 18:48:43 2008 +0200 sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute Use the new generic int attribute accessors for the x86 mce tolerant attribute. Simple example to illustrate the new macros. There are much more places all over the tree that could be converted like this. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 9800794ac11d4646384b3a310dfd1fe2eed577bf Author: Andi Kleen Date: Tue Jul 1 18:48:42 2008 +0200 sysdev: Add utility functions for simple int/ulong variable sysdev attributes This adds a new sysdev_ext_attribute that stores a pointer to the variable it manages and some utility functions/macro to easily use them. Previously all users wrote custom macros to generate show/store functions for each variable, with this it is possible to avoid that in many cases. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 4a0b2b4dbe1335b8b9886ba3dc85a145d5d938ed Author: Andi Kleen Date: Tue Jul 1 18:48:41 2008 +0200 sysdev: Pass the attribute to the low level sysdev show/store function This allow to dynamically generate attributes and share show/store functions between attributes. Right now most attributes are generated by special macros and lots of duplicated code. With the attribute passed it's instead possible to attach some data to the attribute and then use that in shared low level functions to do different things. I need this for the dynamically generated bank attributes in the x86 machine check code, but it'll allow some further cleanups. I converted all users in tree to the new show/store prototype. It's a single huge patch to avoid unbisectable sections. Runtime tested: x86-32, x86-64 Compiled only: ia64, powerpc Not compile tested/only grep converted: sh, arm, avr32 Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 36ce6dad6e3cb3f050ed41e0beac0070d2062b25 Author: Cornelia Huck Date: Tue Jun 10 11:09:08 2008 +0200 driver core: Suppress sysfs warnings for device_rename(). driver core: Suppress sysfs warnings for device_rename(). Renaming network devices to an already existing name is not something we want sysfs to print a scary warning for, since the callers can deal with this correctly. So let's introduce sysfs_create_link_nowarn() which gets rid of the common warning. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 0ad1d6f37cc3bb234c6e7ae30e40d1d40b9aa258 Author: Wang Chen Date: Tue Jun 24 16:59:02 2008 +0800 kobject: Transmit return value of call_usermodehelper() to caller kobject_uevent_env() drops the return value of call_usermodehelper(). It will make upper caller, such as dm_send_uevents(), to lose error information. BTW, Previously kobject_uevent_env() transmitted return of call_usermodehelper() to callers, but commit 5f123fbd80f4f788554636f02bf73e40f914e0d6 "[PATCH] merge kobject_uevent and kobject_hotplug" removed it. Signed-off-by: Wang Chen Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 83c79b55f0d929a0dcf2b0d347cd1875afc06f21 Author: Nathan Lynch Date: Wed Jul 2 10:21:30 2008 -0700 sysfs-rules.txt: reword API stability statement The first paragraph of this document implies that user space developers shouldn't use sysfs at all, but then it goes on to describe rules that developers should follow when accessing sysfs. Not only is this somewhat self-contradictory, it has been shown to discourage developers from using established sysfs interfaces. A note of caution is more appropriate than a blanket "sysfs will never be stable" assertion. Signed-off-by: Nathan Lynch Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9505e6375640fc61d92d36c8e9f25a6a218f3f57 Author: Haavard Skinnemoen Date: Tue Jul 1 15:14:51 2008 +0200 debugfs: Implement debugfs_remove_recursive() debugfs_remove_recursive() will remove a dentry and all its children. Drivers can use this to zap their whole debugfs tree so that they don't need to keep track of every single debugfs dentry they created. It may fail to remove the whole tree in certain cases: sh-3.2# rmmod atmel-mci < /sys/kernel/debug/mmc0/ios/clock mmc0: card b368 removed atmel_mci atmel_mci.0: Lost dma0chan1, falling back to PIO sh-3.2# ls /sys/kernel/debug/mmc0/ ios But I'm not sure if that case can be handled in any sane manner. Signed-off-by: Haavard Skinnemoen Cc: Pierre Ossman Signed-off-by: Greg Kroah-Hartman commit 43166141f73f969794bd7c850c89913631df99e4 Author: Tsugikazu Shibata Date: Fri Jun 20 10:59:52 2008 +0900 HOWTO: change email addresses of James in HOWTO Signed-off-by: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit d9b19199e4894089456aaad295023263b5225c1a Author: Adrian Bunk Date: Tue Jun 10 19:04:08 2008 +0300 always enable FW_LOADER unless EMBEDDED=y James Bottomley recently discovered that we have {request,release}_firmware() dummies for the case of the actual functions not being available and has a fix for the bug that was actually causing build errors for built-in users with CONFIG_FW_LOADER=m. But now missing selects on FW_LOADER are no longer visible at compile-time at all and can become runtime problems. FW_LOADER is infrastructure with relatively small codesize we can safely enable for everyone, and only for people who really need small kernels (and can be expected to know what they are doing) it matters being able to disable it. This patch therefore always sets FW_LOADER=y and allows users only to disable it with EMBEDDED=y. As a bonus, we can then get rid of all "select FW_LOADER" plus the due to it required "depends on HOTPLUG" which removes some complexity from our Kconfig files. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 4f7e53096c93f0bdf2205134dfc541d0c3cc6e41 Author: Mike Frysinger Date: Tue Jun 24 14:25:00 2008 -0700 uio-howto.tmpl: use unique output names The Userspace I/O HOWTO template sets two different sections with the same html output name (about.html). This clearly won't work, so change the first one to a unique "aboutthis.html" to prevent clobbering. Signed-off-by: Mike Frysinger Acked-by: Hans J. Koch Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 17149d9fff18c4811349140934dc541f70c617df Author: Mike Frysinger Date: Tue Jun 24 14:24:57 2008 -0700 uio-howto.tmpl: use standard copyright/legal markings The Userspace I/O HOWTO document uses straight tags and plain text to describe copyright/legal information. It should instead use the and tags like all other documents in the kernel. Signed-off-by: Mike Frysinger Acked-by: Hans J. Koch Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 93265d13ea5c3ec5f61a8009407fbe046ce6b7c0 Author: Miklos Szeredi Date: Mon Jun 16 13:46:47 2008 +0200 sysfs: don't call notify_change sysfs_chmod_file() calls notify_change() to change the permission bits on a sysfs file. Replace with explicit call to sysfs_setattr() and fsnotify_change(). This is equivalent, except that security_inode_setattr() is not called. This function is called by drivers, so the security checks do not make any sense. Signed-off-by: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 838ea8e8dbfc8d907c7a55bbad507a44c1b81d57 Author: Ben Dooks Date: Thu Jun 12 19:00:34 2008 +0100 sysdev: fix debugging statements in registration code. The systdev_class_register() and sysdev_register() functions have pr_debug() statements which are enabled when the user selects the driver core debug. Both of these routines do not produce the correct output, as they make assumptions about data which has not been initialised. In sysdev_class_register() the code uses the kobject_name(&cls->kset.kobj) at the start of the function, but this is not setup until later in the same call. Change this to use cls->name which is passed in from the caller. The sysdev_register() function tries to get the name of the sysdev by kobject_name(&sysdev->kobj), but that isn't setup until later in the same function so change this message to use the name of the sysdev's class and add another message once the name is initialised. Signed-off-by: Ben Dooks Signed-off-by: Greg Kroah-Hartman commit 185000fc556372b7fb7f26516c325f212030dbd3 Author: Li Zefan Date: Fri Jun 13 11:09:16 2008 +0800 kobject: should use kobject_put() in kset-example We should call kobject_put() instead of kfree() if kobject_init_and_add() returns an error, shouldn't we? Don't set up a bad example ;) Signed-off-by: Li Zefan Signed-off-by: Greg Kroah-Hartman commit a231934bdf086a4fefc0df06e669499125a9db6f Author: Richard Kennedy Date: Mon Jun 2 11:07:25 2008 +0100 kobject: reorder kobject to save space on 64 bit builds reorder kobject to save space on 64 bit builds. shrinks from 72 to 64 bytes & moves allocated kobject to a smaller slab. Signed-off-by: Richard Kennedy Signed-off-by: Greg Kroah-Hartman commit 6d8333c24d41637f0f847f6e17032189dae08c02 Author: Uwe Kleine-König Date: Tue Jun 10 09:14:48 2008 +0200 UIO: minor style and comment fixes Signed-off-by: Uwe Kleine-König Signed-off-by: Hans J. Koch commit 4d80d59437247075029534adec8d69fce2cfb87a Author: Uwe Kleine-König Date: Sat May 31 11:37:27 2008 +0200 UIO: add generic UIO platform driver This patch adds a generic UIO platform driver. It eliminates the need for a dedicated kernel module for simple platform devices. Users only need to implement their irq handler in platform code and fill a struct uio_info there. This helps avoiding code duplication as UIO platform drivers often share a lot of common code. Signed-off-by: Uwe Kleine-König Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 328a14e70e7f46997cb50d4258dd93d5377f98c6 Author: Hans J. Koch Date: Fri May 23 13:50:14 2008 +0200 UIO: Add write function to allow irq masking Sometimes it is necessary to enable/disable the interrupt of a UIO device from the userspace part of the driver. With this patch, the UIO kernel driver can implement an "irqcontrol()" function that does this. Userspace can write an s32 value to /dev/uioX (usually 0 or 1 to turn the irq off or on). The UIO core will then call the driver's irqcontrol function. Signed-off-by: Hans J. Koch Acked-by: Uwe Kleine-König Acked-by: Magnus Damm Signed-off-by: Greg Kroah-Hartman commit 934da4766e5f72797118f7c014efaef567a812fc Author: Uwe Kleine-König Date: Sat May 31 11:37:27 2008 +0200 UIO: fix UIO Kconfig dependencies ae210f188614bb3d1ee3f19c64e28e3cdd44877c introduced a big "if UIO"/"endif" where all uio drivers are defined. So know there is no need for them to depend explicitly on UIO. Signed-off-by: Uwe Kleine-König Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 22454cb99fc39f2629ad06a7eccb3df312f8830e Author: Kay Sievers Date: Wed May 28 23:06:47 2008 +0200 pnp: add acpi:* modalias entries Along with the non-modalias conformant "pnp:*" aliases, we add "acpi:*" entries to PNP drivers, to allow module autoloading by ACPI PNP device entries, which export proper modalias information, without any specific userspace modprobe mangling. Cc: Adam Belay Cc: Thomas Renninger Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit fc3a8828b139c24aade3f9d608775e36c248f8f5 Author: Greg Kroah-Hartman Date: Fri May 2 06:02:41 2008 +0200 driver core: fix a lot of printk usages of bus_id We have the dev_printk() variants for this kind of thing, use them instead of directly trying to access the bus_id field of struct device. This is done in order to remove bus_id entirely. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b98cb4b7fe0e83238501b48489e46b3e0dce9aaf Author: Greg Kroah-Hartman Date: Fri May 2 06:02:41 2008 +0200 driver core: remove DEVICE_ID_SIZE define There is no such thing as a "device id size" in the driver core, so remove the define and fix up any users of this odd define in the rest of the kernel. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ca52a49846f1451163c0dc14c40cd06ff808df3e Author: Kay Sievers Date: Fri May 2 06:02:41 2008 +0200 driver core: remove DEVICE_NAME_SIZE define There is no such thing as a "device name size" in the driver core, so remove the define and fix up any users of this odd define in the rest of the kernel. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit aab0de245150c09e61c30962feb16aacde508dc3 Author: Kay Sievers Date: Fri May 2 06:02:41 2008 +0200 driver core: remove KOBJ_NAME_LEN define Kobjects do not have a limit in name size since a while, so stop pretending that they do. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f75b1c60fc1e53c4004a79ea0be071aa3318cdcc Author: Dave Young Date: Wed May 28 09:28:39 2008 -0700 class: change internal semaphore to a mutex Now that the lockdep infrastructure in the class core is in place, we should be able to properly change the internal class semaphore to be a mutex. David wrote the original patch, and Greg fixed it up to apply properly due to all of the recent changes in this area. From: Dave Young Cc: Matthew Wilcox Cc: Kay Sievers Cc: Andrew Morton Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit d2a3b9146e4f40c2e872d7567c996ef95083d802 Author: Matthew Wilcox Date: Wed May 28 09:28:39 2008 -0700 class: add lockdep infrastructure This adds the infrastructure to properly handle lockdep issues when the internal class semaphore is changed to a mutex. Matthew wrote the original patch, and Greg fixed it up to work properly with the class_create() function. From: Matthew Wilcox Cc: Kay Sievers Cc: Dave Young Cc: Andrew Morton Cc: James Bottomley Cc: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 1e41250863cd4de5ffa0678c405d001ca5b62796 Author: Greg Kroah-Hartman Date: Wed May 28 09:28:39 2008 -0700 class: fix docbook comments for class_private structure Removes a field that has been deleted, and adds a description fo the class_dirs field which was previously undocumented. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d9a0157328507c5f563e16a583cd0a063854aebb Author: Greg Kroah-Hartman Date: Wed May 28 09:28:39 2008 -0700 class: rename "sem" to "class_sem" in internal class structure This renames the struct class "sem" field to be "class_sem" to make things easier when struct bus_type and struct class merge in the future. It also makes grepping for fields easier as well. Based on an idea from Kay. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1fbfee6c6dc0f4a4c587b6b163ee79643fc9aaa7 Author: Greg Kroah-Hartman Date: Wed May 28 09:28:39 2008 -0700 class: rename "subsys" to "class_subsys" in internal class structure This renames the struct class "subsys" field to be "class_subsys" to make things easier when struct bus_type and struct class merge in the future. It also makes grepping for fields easier as well. Based on an idea from Kay. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 184f1f779d5a2e62de4a0b34842ddf8546beca8f Author: Greg Kroah-Hartman Date: Wed May 28 09:28:39 2008 -0700 class: rename "interfaces" to "class_interfaces" in internal class structure This renames the struct class "interfaces" field to be "class_interfaces" to make things easier when struct bus_type and struct class merge in the future. It also makes grepping for fields easier as well. Based on an idea from Kay. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 97ae69fdbaa71a8f7dbc20bf10fb349d1759152f Author: Greg Kroah-Hartman Date: Wed May 28 09:28:39 2008 -0700 class: rename "devices" to "class_devices" in internal class structure This renames the struct class "devices" field to be "class_devices" to make things easier when struct bus_type and struct class merge in the future. It also makes grepping for fields easier as well. Based on an idea from Kay. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7c71448b8aa80123fc521563d5f7c63a099d97ab Author: Greg Kroah-Hartman Date: Tue Jan 22 18:17:41 2008 -0500 class: move driver core specific parts to a private structure This moves the portions of struct class that are dynamic (kobject and lock and lists) out of the main structure and into a dynamic, private, structure. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 16be63fd1670000b96b76cb55b6f1bead21b4c4b Author: Greg Kroah-Hartman Date: Tue May 27 11:50:16 2008 -0700 bluetooth: remove improper bluetooth class symlinks. Don't create symlinks in a class to a device that is not owned by the class. If the bluetooth subsystem really wants to point to all of the devices it controls, it needs to create real devices, not fake symlinks. Cc: Maxim Krasnyansky Cc: Kay Sievers Acked-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 110cf374a809817d5c080c0ac82d65d029820a66 Author: Greg Kroah-Hartman Date: Tue May 27 10:17:53 2008 +0300 infiniband: make cm_device use a struct device and not a kobject. This object really should be a struct device, or at least contain a pointer to a struct device, as it is trying to create a separate device tree outside of the main device tree. This patch fixes this problem. It is needed for the class core rework that is being done in the driver core. Cc: Kay Sievers Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit d4c4196f24ade5f336882587480652efde2c739c Author: Greg Kroah-Hartman Date: Tue May 27 10:17:53 2008 +0300 infiniband: rename "device" to "ib_device" in cm_device This pointer really is a struct ib_device, not a struct device, so name it properly to help prevent confusion. This makes the followon patch in this series much smaller and easier to understand as well. Cc: Kay Sievers Cc: Roland Dreier Cc: Hal Rosenstock Acked-by: Sean Hefty Signed-off-by: Greg Kroah-Hartman commit 27f302519148f311307637d4c9a6d0fd87d07e4c Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 block: make /proc/partitions and /proc/diskstats use class_find_device() Use the proper class iterator function instead of mucking around in the internals of the class structures. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 66c64afec16a7b46212ecb2fa99998923bbeea3f Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 block: move header for /proc/partitions to seq_start The seq_start call is the better place for the header for the file, that way we don't have to be mucking in the class structure to try to figure out if this is the first partition or not. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 68c4d4a7875c59f2e4b72901ab11ba978e75bde0 Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 block: make proc files seq_start use the class_find_device() Use the proper class iterator function instead of mucking around in the internals of the class structures. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a6e2ba88774bc5870ab3d9664cb86d70415f7402 Author: Randy Dunlap Date: Fri May 23 09:44:11 2008 -0700 block: make /proc/diskstats only build if CONFIG_PROC_FS is enabled These functions are only needed if CONFIG_PROC_FS is enabled, so save the space when it is not. This also makes it easier for a patch later in this series to work properly if CONFIG_PROC_FS is not enabled. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit a142be856f060ae8106512c0e81a8d6f8746ab0b Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 block: make blk_lookup_devt use the class iterator function Use the proper class iterator function instead of mucking around in the internals of the class structures. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5c6f35c5ece8f130cd8ec9ba0d71dc146b46a0f1 Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 block: make printk_partition use the class iterator function Use the proper class iterator function instead of mucking around in the internals of the class structures. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6ffeea77ff014f1456fcd0564eac84b34e9535ca Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 block: fix compiler warning in genhd.c Warn if something really bad happens if we can't create this link. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 695794ae0c5bdd9bd06e35b118801e2e9be04f9e Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 Driver Core: add ability for class_find_device to start in middle of list This mirrors the functionality that driver_find_device has as well. We add a start variable, and all callers of the function are fixed up at the same time. The block layer will be using this new functionality in a follow-on patch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 93562b537659fc0f63920fd4d9d24f54e434f4c4 Author: Greg Kroah-Hartman Date: Thu May 22 17:21:08 2008 -0400 Driver Core: add ability for class_for_each_device to start in middle of list This mirrors the functionality that driver_for_each_device has as well. We add a start variable, and all callers of the function are fixed up at the same time. The block layer will be using this new functionality in a follow-on patch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4e10673944a5c386378ff9d692ae37e19993f9d5 Author: Greg Kroah-Hartman Date: Mon Jul 21 20:03:34 2008 -0700 device create: convert device_create_drvdata to device_create Now that device_create() has been audited, rename things back to the original call to be sane. Keep the device_create_drvdata macro around to make merges easier. Signed-off-by: Greg Kroah-Hartman commit ccea44fadca396b0f89aed5bdeb60e4abb212566 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 driver core: remove device_create() There are no more users of this, and it is racy. Use device_create_drvdata() or device_create_vargs() instead. Signed-off-by: Greg Kroah-Hartman commit 3bfd49c8ab1859ae0f5fa1df2b3781c99115f442 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: x86: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: Greg Kroah-Hartman commit bc00bc924295f02295fe5eeeba3618ba0d0db1ef Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: usb: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Greg Kroah-Hartman commit 3d81252ddb10f63ae4db713d9b32faabe641b850 Author: David Brownell Date: Fri Jun 6 15:48:07 2008 -0500 device create: spi: convert device_create to device_create_drvdata Switch over to use the shiny new device_create_drvdata() call instead of the original device_create() calls, so this continues to work after device_create() is removed. Note that this driver never had the race which motivated removing the original call; it locked correctly. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 89409211ff97bf82295d1fb98ab18302a03e9199 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: sound: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit 9def0b9761ee096c3c539b427dfb1e52b373cdad Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: scsi: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: James E.J. Bottomley Signed-off-by: Greg Kroah-Hartman commit 05675de250c4efcefbd488e6a556639b63898af8 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: s390: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Greg Kroah-Hartman commit e17da9c4c5fc19e16ddcb0ae020ee4425ca0c96f Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: net: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit daea34bc6f67cf3872d1b52ba5ccf249f3ceb176 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: mtd: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 7da5a05dd7b95315af49f724f623bbfdab0f5e4d Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: misc: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Greg Kroah-Hartman commit 43f98747d48195d92c4102c17d7175bf24df1801 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: mips: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Ralf Baechle Signed-off-by: Greg Kroah-Hartman commit 97cd790e3a9cf2855676a461ac5c448f5843017d Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: macintosh: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 24d0b416f988fcdfa2615a25c7c33c21cc2a65a9 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: isdn: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Karsten Keil Signed-off-by: Greg Kroah-Hartman commit c76d3d28c31a68f45d6b5acaa4813138dd7883b3 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: infiniband: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit f71674a09f374bb0b5371b3e7b943029867477c5 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: ieee1394: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Ben Collins Acked-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 6ecaaf94b831827405613ee9110d8fb8eff92482 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: ide: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1cc4376c259d1950817aaa6221aad7c2058df4a8 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: i2c: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 2871f55237e2aaa00fd724ce45b47e567974045f Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: hwmon: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman commit 0fd15a18d876a9571cc5b88a5d1716dfccb8e493 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: hid: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit 1e2744011ff3cd195aba9f7a15dd71b332812a5c Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: framebuffer: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Antonino Daplas Signed-off-by: Greg Kroah-Hartman commit e282959ef3ebae0d72ac0b24242c376fa34da585 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: dvb: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Greg Kroah-Hartman commit 275e64decc01acf4d2f6b6ad1b83f1c4bd9033e5 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: dca: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Greg Kroah-Hartman commit 6143b599700f7d6d7961e2de88f1486b2b19b1f2 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: coda: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Cc: Jan Harkes Signed-off-by: Greg Kroah-Hartman commit 47aa5793f78c274d51711f6a621fa6b02d4e6402 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: char: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Greg Kroah-Hartman commit f79f060561d04a38d41e773ade9baafce3c96179 Author: Greg Kroah-Hartman Date: Wed May 21 12:52:33 2008 -0700 device create: block: convert device_create to device_create_drvdata device_create() is race-prone, so use the race-free device_create_drvdata() instead as device_create() is going away. Signed-off-by: Greg Kroah-Hartman commit 09857e35cdccf2457bb03c6d7595adc210a517cc Author: Greg Kroah-Hartman Date: Wed May 21 18:21:38 2008 -0400 Firmware: fix typo in example code It's not like this stuff even builds right now, but this will make Randy's scripts happy :) Cc: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit ff543332ec5d23833994fca9e7789f067fb51221 Author: Robert P. J. Day Date: Tue May 20 00:06:00 2008 +0200 debugfs: Add a reference to the debugfs API documentation. Signed-off-by: Robert P. J. Day Cc: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 9f255651fb41c111ee35a2ae632df8ce9bd61def Author: Kay Sievers Date: Tue May 6 22:24:04 2008 +0200 kobject: replace '/' with '!' in name Some (block) devices have a '/' in the name, and need special handling. Let's have that rule to the core, so we can remove it from the block class. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e105b8bfc769b0545b6f0f395179d1e43cbee822 Author: Dan Williams Date: Mon Apr 21 10:51:07 2008 -0700 sysfs: add /sys/dev/{char,block} to lookup sysfs path by major:minor Why?: There are occasions where userspace would like to access sysfs attributes for a device but it may not know how sysfs has named the device or the path. For example what is the sysfs path for /dev/disk/by-id/ata-ST3160827AS_5MT004CK? With this change a call to stat(2) returns the major:minor then userspace can see that /sys/dev/block/8:32 links to /sys/block/sdc. What are the alternatives?: 1/ Add an ioctl to return the path: Doable, but sysfs is meant to reduce the need to proliferate ioctl interfaces into the kernel, so this seems counter productive. 2/ Use udev to create these symlinks: Also doable, but it adds a udev dependency to utilities that might be running in a limited environment like an initramfs. 3/ Do a full-tree search of sysfs. [kay.sievers@vrfy.org: fix duplicate registrations] [kay.sievers@vrfy.org: cleanup suggestions] Cc: Neil Brown Cc: Tejun Heo Acked-by: Kay Sievers Reviewed-by: SL Baur Acked-by: Kay Sievers Acked-by: Mark Lord Acked-by: H. Peter Anvin Signed-off-by: Dan Williams Signed-off-by: Greg Kroah-Hartman commit b32d13102d39ed411d152a7ffcc5f66d5b3b1b49 Author: David S. Miller Date: Mon Jul 21 18:45:34 2008 -0700 tcp: Fix bitmask test in tcp_syn_options() As reported by Alexey Dobriyan: CHECK net/ipv4/tcp_output.c net/ipv4/tcp_output.c:475:7: warning: dubious: !x & y And sparse is damn right! if (unlikely(!OPTION_TS & opts->options)) ^^^ size += TCPOLEN_SACKPERM_ALIGNED; OPTION_TS is (1 << 1), so condition will never trigger. Signed-off-by: David S. Miller commit c69cccc95fe4b90dde5fe33e6a3b77880b534fa4 Author: Segher Boessenkool Date: Tue Jul 22 09:03:45 2008 +1000 powerpc: Fix build bug with binutils < 2.18 and GCC < 4.2 binutils < 2.18 has a bug that makes it misbehave when taking an ELF file with all segments at load address 0 as input. This happens when running "strip" on vmlinux, because of the AT() magic in this linker script. People using GCC >= 4.2 won't run into this problem, because the "build-id" support will put some data into the "notes" segment (at a non-zero load address). To work around this, we force some data into both the "dummy" segment and the kernel segment, so the dummy segment will get a non-zero load address. It's not enough to always create the "notes" segment, since if nothing gets assigned to it, its load address will be zero. Signed-off-by: Segher Boessenkool Tested-By: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit f36c5227cd88b6340c40d62b05859e8213740a97 Author: Mike Mason Date: Tue Jul 22 02:40:17 2008 +1000 powerpc/eeh: Don't panic when EEH_MAX_FAILS is exceeded This patch changes the EEH_MAX_FAILS action from panic to printing an error message. Panicking under under this condition is too harsh. Although performance will be affected and the device may not recover, the system is still running, which at the very least should allow for a more graceful shutdown. The patch also removes the msleep() within a spinlock, which can lead to a deadlock and is not recommended. Signed-off-by: Mike Mason Acked-by: Linas Vepstas Signed-off-by: Benjamin Herrenschmidt commit 57a20d8fb0d2a05abe40abd6bb29e3f923721f1b Author: Benjamin Herrenschmidt Date: Thu Jul 17 15:05:22 2008 +1000 fbdev: Teaches offb about palette on radeon r5xx/r6xx The offb driver already has a collection of hacks to be able to set the palette on various chips. This adds support for r5xx/r6xx radeons. This is needed as offb is the only console solution on these currently and the firmware in some cases sets a really bad color palette. This fixes using some Radeon X16xx on the Powerstation for example. Signed-off-by: Benjamin Herrenschmidt commit c134fd868fb5137984ce1b7a58f3f6dd4171615e Author: Maxim Shchetynin Date: Wed Jul 16 05:51:40 2008 +1000 powerpc/cell/edac: Log a syndrome code in case of correctable error If correctable error occurs the syndrome code was logged as 0. This patch lets EDAC to log a correct syndrome code to make problem investigation easier. Signed-off-by: Maxim Shchetynin Signed-off-by: Arnd Bergmann Acked-by: Doug Thompson Signed-off-by: Benjamin Herrenschmidt commit 1ed6af73440c5ec920884bb800685a8cab4ce847 Author: Mark Nelson Date: Fri Jul 18 23:03:34 2008 +1000 powerpc/cell: Add DMA_ATTR_WEAK_ORDERING dma attribute and use in Cell IOMMU code Introduce a new dma attriblue DMA_ATTR_WEAK_ORDERING to use weak ordering on DMA mappings in the Cell processor. Add the code to the Cell's IOMMU implementation to use this code. Dynamic mappings can be weakly or strongly ordered on an individual basis but the fixed mapping has to be either completely strong or completely weak. This is currently decided by a kernel boot option (pass iommu_fixed=weak for a weakly ordered fixed linear mapping, strongly ordered is the default). Signed-off-by: Mark Nelson Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 79e25bac124a7d1d7bf966f06dd9398a1b5f3d20 Author: Torez Smith Date: Fri Jul 18 06:42:07 2008 +1000 powerpc: Indicate which oprofile counters to use while in compat mode While running on a system with new hardware and a kernel where the cpu_specs[] table does not recognize the new hardware, the identify_cpu() routine will select the default case as it searches through cpu_specs[] in an attempt to match the real PVR. Once the default case is selected, non of the oprofile counters and/or fields have been set up or defined. When identify_cpu() is called once more with the logical PVR, some of the cpu specific fields are replaced with the exception of the oprofile related ones. However, in the case where we have actually taken the default case while searching for the real PVR, we need to tell oprofile that we are now running in compatibility mode so it can pick up the correct counters. We do this by setting the oprofile_cpu_type field to be that taken from the cpu_specs[] for the cpu we are now emulating. This change will detect that we are now altering the real PVR and determine if we also need to update the oprofile_cpu_type field. Signed-off-by: Torez Smith Signed-off-by: Benjamin Herrenschmidt commit 542a3a3bc9d9c176f7cb332948df1cb8ff91fa64 Author: Adrian Bunk Date: Fri Jul 18 04:18:54 2008 +1000 powerpc/boot: Change spaces to tabs For C code spaces versus tabs is just a religious issue, but for Makefiles it actually matters. This patch fixes he following errors: /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/powerpc/boot/Makefile:166: *** missing separator. Stop. /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/powerpc/boot/Makefile:171: *** missing separator. Stop. Since this was inside an ifdef DTC_GENPARSER it was not a problem unless someone wanted to regenerate the shipped generated files. Signed-off-by: Adrian Bunk Acked-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit bf312ccc04ab09d674cd1b0f228e76201d94483b Author: Adrian Bunk Date: Fri Jul 18 04:18:28 2008 +1000 powerpc: Remove duplicate 6xx option in Kconfig The real option is above in the same Kconfig file. Signed-off-by: Adrian Bunk Signed-off-by: Benjamin Herrenschmidt commit 76bfdcf71c421154b69470e1ce346c8cf4ee1230 Author: Michael Ellerman Date: Thu Jul 17 17:17:52 2008 +1000 powerpc: Use PPC_LONG and PPC_LONG_ALIGN in lib/string.S Replace ifdef clutter with the PPC_LONG and PPC_LONG_ALIGN macros for readability. No change to the generated code. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 551c3c04b478b987ccd335f1a42362d571b1592d Author: Michael Ellerman Date: Thu Jul 17 17:17:52 2008 +1000 powerpc: Use PPC_LONG_ALIGN in uaccess.h Use the new PPC_LONG_ALIGN macro instead of passing an argument to the asm for consistency. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 6a2a24bb755405d5311efaaed865042477b26f30 Author: Michael Ellerman Date: Thu Jul 17 17:17:51 2008 +1000 powerpc: Add a #define for aligning to a long-sized boundary Add a #define for aligning to a long-sized boundary. It would be nice to use sizeof(long) for this, but that requires generating the value with asm-offsets.c, and asm-offsets.c includes asm-compat.h and we descend into some sort of recursive include hell. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 67260ac9a397eb7c9e2980be2865912d3840b042 Author: Benjamin Herrenschmidt Date: Thu Jul 17 15:53:31 2008 +1000 powerpc: Fix OF parsing of 64 bits PCI addresses The OF parsing code for PCI addresses isn't always treating properly the address space indication 0b11 (ie. 0x3) as meaning 64 bits memory space. This means that it fails to parse addresses for PCI BARs that have this encoding set by the firmware, which happens on some SLOF versions and breaks offb palette handling on Powerstation. Signed-off-by: Benjamin Herrenschmidt Acked-by: Segher Boessenkool commit 1856c020402f602b2bd26bcc9b77250304565b7e Author: Michael Ellerman Date: Thu Jul 17 14:46:00 2008 +1000 powerpc: Use WARN_ON(1) instead of __WARN() __WARN() is not defined for all configs, use WARN_ON(1) instead. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 6fdc9f5076e0f6018e1d9250c6673f812b556d90 Author: Arnd Bergmann Date: Thu Jul 17 08:12:25 2008 +1000 powerpc: Fix support for latencytop We need to pass the kernel stack pointer instead of the user space stack pointer in save_stack_trace_tsk(). Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 72e82dcd1f8fc6f99e0ee2ef1ed1ff37c1e63858 Author: Geoff Levand Date: Thu Jul 17 07:22:26 2008 +1000 powerpc/ps3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 059e4938f8b060b10c4352e6c45739473bc73267 Author: Masakazu Mokuno Date: Thu Jul 17 07:22:19 2008 +1000 powerpc/ps3: Add a sub-match id to ps3_system_bus Add sub match id for ps3 system bus so that two different system bus devices can be connected to a shared device. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 6e5f1537833a9fc8251157dff403231f5c89a894 Author: Kumar Gala Date: Wed Jul 16 23:43:06 2008 +1000 powerpc: Add a 6xx defconfig This is a defconfig from Dave Jones and should be similar (if not identical) to the fedora ppc32 defconfig. The intent is to cover all cache coherent 6xx based chips and platforms as reasonable. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 4f3dd8a06239c0a19d772a27c2f618dc2faadf4a Author: Mark Nelson Date: Wed Jul 16 05:51:47 2008 +1000 powerpc/dma: Use the struct dma_attrs in iommu code Update iommu_alloc() to take the struct dma_attrs and pass them on to tce_build(). This change propagates down to the tce_build functions of all the platforms. Signed-off-by: Mark Nelson Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 4795b7801b07e1b7286edb0d9321433fc0eac6cc Author: Christian Krafft Date: Wed Jul 16 05:51:45 2008 +1000 powerpc/cell: Add support for power button of future IBM cell blades This patch adds support for the power button on future IBM cell blades. It actually doesn't shut down the machine. Instead it exposes an input device /dev/input/event0 to userspace which sends KEY_POWER if power button has been pressed. haldaemon actually recognizes the button, so a plattform independent acpid replacement should handle it correctly. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 70694a8bab22bd0cc98ff4ee5cc75fe9be30fcd0 Author: Christian Krafft Date: Wed Jul 16 05:51:44 2008 +1000 powerpc/cell: Cleanup sysreset_hack for IBM cell blades This patch adds a config option for the sysreset_hack used for IBM Cell blades. The code is moves from pervasive.c into ras.c and gets it's own init method. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 880e710580c09bf86cddac687fc492a8318934fe Author: Christian Krafft Date: Wed Jul 16 05:51:43 2008 +1000 powerpc/cell/cpufreq: Add spu aware cpufreq governor This patch adds a cpufreq governor that takes the number of running spus into account. It's very similar to the ondemand governor, but not as complex. Instead of hacking spu load into the ondemand governor it might be easier to have cpufreq accepting multiple governors per cpu in future. Don't know if this is the right way, but it would keep the governors simple. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Acked-by: Dave Jones Signed-off-by: Benjamin Herrenschmidt commit 8204cba7fa0ca0752fdaec021dae2634788178aa Author: Maxim Shchetynin Date: Wed Jul 16 05:51:42 2008 +1000 powerpc/axonram: Enable partitioning of the Axons DDR2 DIMMs DDR2 memory DIMMs on the Axon could be accessed only as one partition when using file system drivers which are using the direct_access() method. This patch enables for such file system drivers to access Axon's DDR2 memory even if it is splitted in several partitions. Signed-off-by: Maxim Shchetynin Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 9a23409b69440e76d34dc23846cae44f46f60d98 Author: Maxim Shchetynin Date: Wed Jul 16 05:51:41 2008 +1000 powerpc/axonram: Use only one block device major number Axonram module registers one block device for each DDR2 DIMM found on a system. This means that each DDR2 DIMM becomes its own block device major number. This patch lets axonram module to register the only one block device for all DDR2 DIMMs which also spares kernel resources. Signed-off-by: Maxim Shchetynin Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 18ad7a61e1b700dfe177fabf1c350b4f5d4da8ac Author: Wolfgang Grandegger Date: Fri May 30 22:51:33 2008 +1000 of_gpio: Should use new header Since commit 7560fa60fcdcdb0da662f6a9fad9064b554ef46c (gpio: and "no GPIO support here" stubs) drivers can use GPIOs if they're available, but don't require them. This patch actually enables this feature. Signed-off-by: Wolfgang Grandegger Signed-off-by: Anton Vorontsov Signed-off-by: Benjamin Herrenschmidt commit 6662327e190a20bd42867f11abca095badee56e1 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 21 16:55:11 2008 -0700 ide: merge with Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit edc83d4f3e971b322c557604d064b68374a7b77b Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 21 16:51:43 2008 -0700 ide: : use __raw_{read,write}w() Use __raw_{read,write}w() in __ide_{in,out}sw() and remove no longer needed {in,out}w_be(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 8fbf3f30fe0700eff01d6ff8d058cd6f47d4da1b Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 21 16:50:56 2008 -0700 ide: : use __raw_{read,write}w() Use __raw_{read,write}w() in __ide_{in,out}sw(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 28c10af712d875f85c3b8f70aa7a47b77be0f27d Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 21 16:49:34 2008 -0700 ide: : use %r0 for outw_be() Use %r0 for outw_be() to make it match __raw_writew(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 93ded9b8fd42abe2c3607097963d8de6ad9117eb Merge: 6d52dcb... f756cbd... Author: Linus Torvalds Date: Mon Jul 21 15:42:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (100 commits) usb-storage: revert DMA-alignment change for Wireless USB USB: use reset_resume when normal resume fails usb_gadget: composite cdc gadget fault handling usb gadget: minor USBCV fix for composite framework USB: Fix bug with byte order in isp116x-hcd.c fio write/read USB: fix double kfree in ipaq in error case USB: fix build error in cdc-acm for CONFIG_PM=n USB: remove board-specific UP2OCR configuration from pxa27x-udc USB: EHCI: Reconciling USB register differences on MPC85xx vs MPC83xx USB: Fix pointer/int cast in USB devio code usb gadget: g_cdc dependso on NET USB: Au1xxx-usb: suspend/resume support. USB: Au1xxx-usb: clean up ohci/ehci bus glue sources. usbfs: don't store bad pointers in registration usbfs: fix race between open and unregister usbfs: simplify the lookup-by-minor routines usbfs: send disconnect signals when device is unregistered USB: Force unbinding of drivers lacking reset_resume or other methods USB: ohci-pnx4008: I2C cleanups and fixes USB: debug port converter does not accept more than 8 byte packets ... commit f88133d76ea38761b7379d6233b752ed82250a4a Author: Ingo Molnar Date: Mon Jul 21 15:57:45 2008 +0200 acpi: fix crash in core ACPI code, triggered by CONFIG_ACPI_PCI_SLOT=y -tip testing found the following boot crash on 32-bit x86 (Core2Duo laptop) yesterday: [ 5.606664] scsi4 : ata_piix [ 5.606664] scsi5 : ata_piix [ 5.606664] ACPI Error (psargs-0358): [\_SB_.PCI0.LPC_.EC__.BSTA] Namespace lookup failure, AE_NOT_FOUND [ 5.606664] ACPI Error (psparse-0530): ACPI Error (nsnames-0186): Invalid NS Node (f7c0e960) while traversing path [20080609] [ 5.606664] BUG: unable to handle kernel NULL pointer dereference at 0000000f [ 5.606664] IP: [<80339e2f>] acpi_ns_build_external_path+0x1f/0x80 [ 5.609997] *pdpt = 0000000000a03001 *pde = 0000000000000000 [ 5.609997] Oops: 0002 [#1] SMP [ 5.609997] [ 5.609997] Pid: 1, comm: swapper Not tainted (2.6.26-tip-03965-gbbfb62e-dirty #3153) [ 5.609997] EIP: 0060:[<80339e2f>] EFLAGS: 00010286 CPU: 0 [ 5.609997] EIP is at acpi_ns_build_external_path+0x1f/0x80 [ 5.609997] EAX: f7c18c18 EBX: ffffffff ECX: 00000010 EDX: 00000000 [ 5.609997] ESI: f7c18c18 EDI: 00000010 EBP: f7c4dc28 ESP: f7c4dc18 [ 5.609997] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 5.609997] Process swapper (pid: 1, ti=f7c4c000 task=f7c50000 task.ti=f7c4c000) [ 5.609997] Stack: 00000000 00000000 f7c18c18 f7c4dc48 f7c4dc40 80339ed0 00000000 f7c18c18 [ 5.609997] 8084c1b6 8084c1b6 f7c4dc58 8033a60a 00000000 00000010 00000000 f7c18c18 [ 5.609997] f7c4dc70 8033a68f f7c18c18 00000000 f6de7600 00000005 f7c4dc98 8033c34d [ 5.609997] Call Trace: [ 5.609997] [<80339ed0>] ? acpi_ns_handle_to_pathname+0x40/0x72 [ 5.609997] [<8033a60a>] ? acpi_ns_print_node_pathname+0x2c/0x61 [ 5.609997] [<8033a68f>] ? acpi_ns_report_method_error+0x50/0x6d [ 5.609997] [<8033c34d>] ? acpi_ps_parse_aml+0x149/0x2f9 [ 5.609997] [<8033d6dd>] ? acpi_ps_execute_method+0x132/0x201 [ 5.609997] [<80339d19>] ? acpi_ns_evaluate+0x1ad/0x258 [ 5.609997] [<803406c4>] ? acpi_ut_evaluate_object+0x55/0x18f [ 5.609997] [<803408b7>] ? acpi_ut_execute_STA+0x22/0x7a [ 5.609997] [<8033a907>] ? acpi_get_object_info+0x131/0x1be [ 5.609997] [<80344bb2>] ? do_acpi_find_child+0x22/0x4b [ 5.609997] [<8033b855>] ? acpi_ns_walk_namespace+0xa5/0x124 [ 5.609997] [<803394f3>] ? acpi_walk_namespace+0x54/0x74 [ 5.609997] [<80344b90>] ? do_acpi_find_child+0x0/0x4b [ 5.609997] [<80344b85>] ? acpi_get_child+0x38/0x43 [ 5.609997] [<80344b90>] ? do_acpi_find_child+0x0/0x4b [ 5.609997] [<804d0148>] ? ata_acpi_associate+0xb5/0x1b5 [ 5.609997] [<804c6ecb>] ? ata_scsi_add_hosts+0x8e/0xdc [ 5.609997] [<804c40c8>] ? ata_host_register+0x9f/0x1d6 [ 5.609997] [<804cbc7f>] ? ata_pci_sff_activate_host+0x179/0x19f [ 5.609997] [<804cdd45>] ? ata_sff_interrupt+0x0/0x1c7 [ 5.609997] [<8069b033>] ? piix_init_one+0x569/0x5b0 [ 5.609997] [<801bd400>] ? sysfs_ilookup_test+0x0/0x11 [ 5.609997] [<801987d7>] ? ilookup5_nowait+0x29/0x30 [ 5.609997] [<802efc7e>] ? pci_match_device+0x99/0xa3 [ 5.609997] [<802efd3c>] ? pci_device_probe+0x39/0x59 [ 5.609997] [<803bc4af>] ? driver_probe_device+0xa0/0x11b [ 5.609997] [<803bc564>] ? __driver_attach+0x3a/0x59 [ 5.609997] [<803bbde3>] ? bus_for_each_dev+0x36/0x58 [ 5.609997] [<803bc354>] ? driver_attach+0x14/0x16 [ 5.609997] [<803bc52a>] ? __driver_attach+0x0/0x59 [ 5.609997] [<803bc161>] ? bus_add_driver+0x93/0x196 [ 5.609997] [<803bc773>] ? driver_register+0x71/0xcd [ 5.609997] [<802eff05>] ? __pci_register_driver+0x3f/0x6e [ 5.609997] [<809af7ff>] ? piix_init+0x14/0x24 [ 5.609997] [<80984568>] ? kernel_init+0x128/0x269 [ 5.609997] [<809af7eb>] ? piix_init+0x0/0x24 [ 5.609997] [<802e2758>] ? trace_hardirqs_on_thunk+0xc/0x10 [ 5.609997] [<80116aef>] ? restore_nocheck_notrace+0x0/0xe [ 5.609997] [<80984440>] ? kernel_init+0x0/0x269 [ 5.609997] [<80984440>] ? kernel_init+0x0/0x269 [ 5.609997] [<80117d87>] ? kernel_thread_helper+0x7/0x10 [ 5.609997] ======================= [ 5.609997] Code: 75 02 b3 01 8d 43 01 8b 5d fc c9 c3 55 89 e5 57 89 cf 56 53 89 d3 4b 83 ec 04 83 fb 03 89 55 f0 77 09 c6 01 5c c6 41 01 00 eb 59 04 19 00 8b 55 f0 8d 34 11 89 c2 eb 19 8b 42 08 83 eb 05 89 [ 5.609997] EIP: [<80339e2f>] acpi_ns_build_external_path+0x1f/0x80 SS:ESP 0068:f7c4dc18 [ 5.613331] Kernel panic - not syncing: Fatal exception [ 5.613331] Rebooting in 1 seconds..[ 4.646664] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300) I have bisected it down to: # bad: [5b664cbe] Merge branch 'upstream-linus' of git://git.kernel. # good: [bce7f795] Linux 2.6.26 # good: [e18425ab] Merge branch 'tracing/for-linus' of git://git.kern # good: [cadc7236] Merge branch 'bkl-removal' into next # good: [4515889a] Merge branch 'merge' of git://git.kernel.org/pub/s # good: [42fdd14e] Merge git://git.kernel.org/pub/scm/linux/kernel/gi # good: [8a0ca91f] Merge branch 'for-linus' of git://git.kernel.org/p # bad: [0af4b8cb] ACPI: Introduce new device wakeup flag 'prepared' # good: [fe997407] PCI: construct one fakephp slot per PCI slot # bad: [531f254a] PCIE: aer: use dev_printk when possible # bad: [15650a20] x86/PCI: fixup early quirk probing # good: [0e6859d9] ACPI PM: Remove obsolete Toshiba workaround # bad: [8344b566] PCI: ACPI PCI slot detection driver # good: [f46753c9] PCI: introduce pci_slot | 8344b568f5bdc7ee1bba909de3294c6348c36056 is first bad commit | commit 8344b568f5bdc7ee1bba909de3294c6348c36056 | Author: Alex Chiang | Date: Tue Jun 10 15:30:42 2008 -0600 | | PCI: ACPI PCI slot detection driver | | Detect all physical PCI slots as described by ACPI, and create entries in | /sys/bus/pci/slots/. I.e. the new CONFIG_ACPI_PCI_SLOT=y option was causing this crash. But the bug is not mainly in this new PCI code - that code was just hitting the ACPI code in a new way which made ACPI break. The crash signature shows that we are crashing on this instruction: movb $0x0, (%ecx, %ebx, 1) ECX and EBX are 0x10 and -1. It's this line in drivers/acpi/namespace/nsnames.c's acpi_ns_build_external_path(): name_buffer[index] = 0; I.e. name_buffer is 0x10 and index is -1. index -1 corresponds to size 0, and name_buffer 0x10 is slab's ZERO_SIZE_PTR special-case for zero-sized allocations. I.e. when we called acpi_ns_handle_to_pathname(), we got required_size of 0 due to an error condition, but this is passed to the ACPI allocator unconditionally: required_size = acpi_ns_get_pathname_length(node); /* Validate/Allocate/Clear caller buffer */ status = acpi_ut_initialize_buffer(buffer, required_size); if (ACPI_FAILURE(status)) { return_ACPI_STATUS(status); } Where acpi_ut_initialize_buffer(), through many (unnecessary) layers, ends up calling kzalloc(0). Which returns 0x10 and that then causes the crash later on. So fix both callers of acpi_ns_get_pathname_length(), which can return 0 in case of an invalid node. Also add a WARN_ON() against zero sized allocations in acpi_ut_initialize_buffer() to make it easier to find similar instances of this bug. I have tested this patch for the past 24 hours and the crash has not reappeared. Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen commit 8294fafdafc602ed11f401c44628fab8558c5cf5 Merge: 725c3a2... bf20e74... Author: Andi Kleen Date: Tue Jul 22 00:16:54 2008 +0200 Merge branch 'for-upstream/acpi-test' of git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6 into release-2.6.27 commit f756cbd458ab71c996a069cb3928fb1e2d7cd9cc Author: Alan Stern Date: Mon Jun 30 13:39:59 2008 -0400 usb-storage: revert DMA-alignment change for Wireless USB This patch (as1110) reverts an earlier patch meant to help with Wireless USB host controllers. These controllers can have bulk maxpacket values larger than 512, which puts unusual constraints on the sizes of scatter-gather list elements. However it turns out that the block layer does not provide the support we need to enforce these constraints; merely changing the DMA alignment mask doesn't help. Hence there's no reason to keep the original patch. The Wireless USB problem will have to be solved a different way. In addition, there is a reason to get rid of the earlier patch. By dereferencing a pointer stored in the ep_in array of struct usb_device, the current code risks an invalid memory access when it runs concurrently with device removal. The members of that array are cleared before the driver's disconnect method is called, so it should not try to use them. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 86c57edf60f5c98adb496880f56cd0e5a3423153 Author: Alan Stern Date: Mon Jun 30 11:14:43 2008 -0400 USB: use reset_resume when normal resume fails This patch (as1109b) makes USB-Persist more resilient to errors. With the current code, if a normal resume fails, it's an unrecoverable error. With the patch, if a normal resume fails (and if the device is enabled for USB-Persist) then a reset-resume is tried. This fixes the problem reported in Bugzilla #10977. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ac90e36592ea5171c4e70f58b39a782d871a7d9f Author: David Brownell Date: Tue Jul 1 13:18:20 2008 -0700 usb_gadget: composite cdc gadget fault handling These two fixes ensure the new "CDC Composite Device" gadget fails cleanly when it's loaded on hardware that can't support this particular gadget driver. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c24f42276b4c4467e82cdd5a941fb7f9400aeea0 Author: David Lopo Date: Tue Jul 1 13:14:17 2008 -0700 usb gadget: minor USBCV fix for composite framework Fill in a reserved/unused device qualifier field to ensure that the USBCV tests will always pass. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 28874b7ec47e1e5cfe2b67420c4d07c6297a43a9 Author: Julien May Date: Fri Jun 27 15:01:18 2008 +0200 USB: Fix bug with byte order in isp116x-hcd.c fio write/read URB payload data are transfered in wrong byte order on a big endinan architecture (AVR32). Signed-off-by: Julien May Signed-off-by: Greg Kroah-Hartman commit df3e1ab7334279bc744344bcf05272dc8b985d3d Author: Oliver Neukum Date: Mon Jun 30 14:33:57 2008 +0200 USB: fix double kfree in ipaq in error case in the error case the ipaq driver leaves a dangling pointer to already freed memory that will be freed again. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 357585892e56f7c7bec4a9c8dfaf90257c8756c6 Author: Oliver Neukum Date: Tue Jul 1 19:10:08 2008 +0200 USB: fix build error in cdc-acm for CONFIG_PM=n Here's the fix. cdc-wdm has the same problem. The fix is the same. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 95f371f24c48b50e365f4c08d8f61eb8b15b3bba Author: Daniel Ribeiro Date: Tue Jul 1 23:09:27 2008 -0300 USB: remove board-specific UP2OCR configuration from pxa27x-udc Remove the board-specific UP2OCR configuration from the pxa27x-udc driver. Signed-off-by: Daniel Ribeiro Signed-off-by: Greg Kroah-Hartman commit 4f5342583c67fde6825d39b19c6b252db80beaf2 Author: Srikanth Srinivasan Date: Wed Jul 2 02:14:33 2008 -0500 USB: EHCI: Reconciling USB register differences on MPC85xx vs MPC83xx A couple of USB register initializations had to be changed on MPC85xx platforms. This is due to the internal SoC buses being different on MPC83xx SoCs vs MPC85xx SoCs. We currently handle this via an ifdef since 83xx and 85xx are mutually exclusive kernel builds. Signed-off-by: Srikanth Srinivasan Signed-off-by: Kumar Gala Signed-off-by: Greg Kroah-Hartman commit a80d5ff0d7d3a99e962a02c36acf97ba5a70b86e Author: David Howells Date: Wed Jul 2 12:28:55 2008 +0100 USB: Fix pointer/int cast in USB devio code Fix pointer/int cast in USB devio code, and thus avoid a compiler warning. A void* data argument passed to bus_find_device() and thence to match_devt() is used to carry a 32-bit datum. However, casting directly between a u32 and a pointer is not permitted - there must be an intermediate cast via (unsigned) long. This was introduced by the following patch: commit 94b1c9fa060ece2c8f080583beb6cc6008e41413 Author: Alan Stern Date: Tue Jun 24 14:47:12 2008 -0400 usbfs: simplify the lookup-by-minor routines This patch (as1105) simplifies the lookup-by-minor-number code in usbfs. Instead of passing the minor number to the callback, which must then reconstruct the entire dev_t value, the patch passes the dev_t value directly. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Howells Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4ddd9ec17af6a7c539f4a12758905340c00847d6 Author: Randy Dunlap Date: Thu Jul 3 14:44:59 2008 -0700 usb gadget: g_cdc dependso on NET g_cdc needs to depend on NET, otherwise net-related build errors happen: ERROR: "netif_carrier_on" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "netif_carrier_off" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "netif_rx" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "alloc_etherdev_mq" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "free_netdev" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "register_netdev" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "print_mac" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "dev_kfree_skb_any" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "__alloc_skb" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "eth_type_trans" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "unregister_netdev" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "__netif_schedule" [drivers/usb/gadget/g_cdc.ko] undefined! ERROR: "skb_put" [drivers/usb/gadget/g_cdc.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 42bfc7b44f724fb5ce838fc2f552a3eb8cd768ec Author: Manuel Lauss Date: Mon Jun 23 09:09:37 2008 +0200 USB: Au1xxx-usb: suspend/resume support. Copy the OHCI/EHCI PM callbacks of the PCI implementation since they work equally well on Au1xxx hardware. Tested on Au1200. Signed-off-by: Manuel Lauss Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 53c81a348fa1d21dd042d9c9a9f91795f83fed66 Author: Manuel Lauss Date: Mon Jun 23 09:08:29 2008 +0200 USB: Au1xxx-usb: clean up ohci/ehci bus glue sources. - Fold multiple probe/remove callbacks into one function; - minor style fixes, no functional changes. Tested on Au1200. Signed-off-by: Manuel Lauss Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit e04199b2167e88f0e2d0410fafaa2c35ff7ba8c1 Author: Alan Stern Date: Tue Jun 24 14:47:29 2008 -0400 usbfs: don't store bad pointers in registration This patch (as1107) fixes a small bug in the usbfs registration and unregistration code. It avoids leaving an error value stored in the device's usb_classdev field and it avoids trying to unregister a NULL pointer. (It also fixes a rather extreme overuse of whitespace.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d64aac36394b3c26db53538bfedd8444a3a2206e Author: Alan Stern Date: Tue Jun 24 14:47:19 2008 -0400 usbfs: fix race between open and unregister This patch (as1106) fixes a race between opening and unregistering device files in usbfs. The current code drops its reference to the device and then reacquires it, ignoring the possibility that the device structure might have been removed in the meantime. It also doesn't check whether the device is already in the NOTATTACHED state when the file is opened. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 61ad04a89f0e3e6adaed0d9adfc0c9b431ccbb92 Author: Alan Stern Date: Tue Jun 24 14:47:12 2008 -0400 usbfs: simplify the lookup-by-minor routines This patch (as1105) simplifies the lookup-by-minor-number code in usbfs. Instead of passing the minor number to the callback, which must then reconstruct the entire dev_t value, the patch passes the dev_t value directly. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cd9f03759d3eb588e185b04e1854c778b050833e Author: Alan Stern Date: Tue Jun 24 14:47:04 2008 -0400 usbfs: send disconnect signals when device is unregistered USB device files are accessible in two ways: as files in usbfs and as character device nodes. The two paths are supposed to behave identically, but they don't. When the underlying USB device is unplugged, disconnect signals are sent to processes with open usbfs files (if they requested these signals) but not to processes with open device node files. This patch (as1104) fixes the bug by moving the disconnect-signalling code into a common subroutine which is called from both paths. Putting this subroutine in devio.c removes the only out-of-file reference to struct dev_state, and so the structure's declaration can be moved from usb.h into devio.c. Finally, the new subroutine performs one extra action: It kills all the outstanding async URBs. (I'd kill the outstanding synchronous URBs too, if there was any way to do it.) In the past this hasn't mattered much, because devices were unregistered from usbfs only when they were disconnected. But now the unregistration can also occur whenever devices are unbound from the usb_generic driver. At any rate, killing URBs when a device is unregistered from usbfs seems like a good thing to do. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 78d9a487ee961c356e1a934d9a92eca38ffb3a70 Author: Alan Stern Date: Mon Jun 23 16:00:40 2008 -0400 USB: Force unbinding of drivers lacking reset_resume or other methods This patch (as1024) takes care of a FIXME issue: Drivers that don't have the necessary suspend, resume, reset_resume, pre_reset, or post_reset methods will be unbound and their interface reprobed when one of the unsupported events occurs. This is made slightly more difficult by the fact that bind operations won't work during a system sleep transition. So instead the code has to defer the operation until the transition ends. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 64b3d6d11948cc71ff12124dcb693392a32f1bf4 Author: Jean Delvare Date: Wed Jun 18 14:46:27 2008 +0200 USB: ohci-pnx4008: I2C cleanups and fixes Various cleanups and fixes to the i2c code in ohci-pnx4008: * Delete empty isp1301_command. The i2c driver command implementation is optional, so there's no point in providing an empty implementation. * Give a name to isp1301_driver. I'm surprised that i2c-core accepted to register this driver at all. I've chosen "isp1301_pnx" as the name, because it's not a generic ISP1301 driver (much like the isp1301_omap driver.) We might want to make the name even more specific (but "isp1301_ohci_pnx4008" doesn't fit.) * The ISP1301 is definitely not a hardware monitoring device. * Fix a memory leak on failure in isp1301_attach. If i2c_attach_client fails, the client is not registered so isp1301_detach is never called and the i2c_client memory is lost. * Use strlcpy instead of strcpy. Signed-off-by: Jean Delvare Cc: Vitaly Wool Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 71be4f81e97fe1f42c48a6dfc411dc6d3c18687f Author: Aleksey Gorelov Date: Thu Jun 19 15:22:17 2008 -0700 USB: debug port converter does not accept more than 8 byte packets USB debug port only supports 8 byte rx/tx packets. Although spec implies that "if a packet larger than eight bytes is received from the remote computer, the device must break the larger packet into eight-byte packets before sending the data to the Debug Port", the real PLX NET20DC device does not handle it right - data is corrupted on debug port end if serial interface sends >8 byte urbs. Patch below fixes the issue by limiting tx urb to 8 byte. Signed off by: Aleks Gorelov Signed-off-by: Greg Kroah-Hartman commit 830f4021a8d5ce97c6bed267132e5e90fb166192 Author: Oliver Neukum Date: Wed Jun 25 14:17:16 2008 +0200 USB: fix disconnect bug in cdc-acm cdc-acm must give up secondary interfaces if the primary is disconnected and vice versa. This wasn't done correctly. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 62ad296b6ca78bd123864c138814c0a597873693 Author: Oliver Neukum Date: Wed Jun 25 13:32:49 2008 +0200 USB: fix usb serial pm counter decrement for disconnected interfaces usb serial decrements the pm counter even if an interface has been disconnected. If it was a logical disconnect the interface may belong already to another driver. This patch introduces a check for disconnected interfaces. Signed-off-by: Oliver Neukum Cc: Stable Signed-off-by: Greg Kroah-Hartman commit 17d80d562fd78a035e994afde88f354973e76236 Author: Oliver Neukum Date: Tue Jun 24 15:56:10 2008 +0200 USB: autosuspend for cdc-wdm this patch implements - suspend/resume - aggressive autosuspend for the cdc-wdm driver - pre/post_reset Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 11ea859d64b69a747d6b060b9ed1520eab1161fe Author: Oliver Neukum Date: Fri Jun 20 11:25:57 2008 +0200 USB: additional power savings for cdc-acm devices that support remote wakeup this patch saves power for cdc-acm devices that support remote wakeup while the device is connected. - request needs_remote_wakeup when needed - delayed write while a device is autoresumed - the device is marked busy when appropriate Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 188d63602756bfd4aa1fb61d531dbd59bddac962 Author: Ben Collins Date: Thu Jun 26 20:08:16 2008 -0400 USB: keyspan: Remove duplicate device entries The 28xb, as documented in comments, has the same ID's as the 28x. Remove the duplicated ID's from the device tables, and expand the comment to document this. Signed-off-by: Ben Collins Signed-off-by: Greg Kroah-Hartman commit 3b36a8fd67774867536f138035823ea9fb1b9566 Author: Benny Halevy Date: Fri Jun 27 12:22:32 2008 +0300 usb: fix uninitialized variable warning in keyspan_pda This fixes the compiler warning. Signed-off-by: Greg Kroah-Hartman commit 397f519a0d771a6bddbcd71a31da6880e81c2e6b Author: Yoshihiro Shimoda Date: Fri Jun 27 19:09:58 2008 +0900 usb: r8a66597-hcd: fix iinterval for Full/Low speed device fix interrupt transfer interval for Full/Low speed device. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 0bf32b807ff28bb71012f60660e97e79408252ce Author: Yoshihiro Shimoda Date: Fri Jun 27 19:09:55 2008 +0900 usb: r8a66597-hcd: fix interrupt trigger fix the problem that did not set IRQF_TRIGGER_ flag. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 742120c63138651c898614001cb58cd607401eac Author: Ming Lei Date: Wed Jun 18 22:00:29 2008 +0800 USB: fix usb_reset_device and usb_reset_composite_device(take 3) This patch renames the existing usb_reset_device in hub.c to usb_reset_and_verify_device and renames the existing usb_reset_composite_device to usb_reset_device. Also the new usb_reset_and_verify_device does't need to be EXPORTED . The idea of the patch is that external interface driver should warn the other interfaces' driver of the same device before and after reseting the usb device. One interface driver shoud call _old_ usb_reset_composite_device instead of _old_ usb_reset_device since it can't assume the device contains only one interface. The _old_ usb_reset_composite_device is safe for single interface device also. we rename the two functions to make the change easily. This patch is under guideline from Alan Stern. Signed-off-by: Ming Lei commit dd9ca5d9be7eba99d685d733e23d5be7110e9556 Author: Andre Haupt Date: Wed Jun 18 15:56:00 2008 +0200 USB: usb-serial: fix a sparse warning about different signedness fix the following sparse warning: drivers/usb/serial/usb-serial.c:927:43: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/usb-serial.c:927:43: expected unsigned int *minor drivers/usb/serial/usb-serial.c:927:43: got int * CHECK drivers/usb/serial/generic.c Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit 3faefc88c1a32b0b4a00b9089fab5d917996b16c Author: Nate Case Date: Tue Jun 17 11:11:38 2008 -0500 USB: isp1760: Support board-specific hardware configurations This adds support for hardware configurations that don't match the chip default register settings (e.g., 16-bit data bus, DACK and DREQ pulled up instead of down, analog overcurrent mode). These settings are passed in via the OF device tree. The PCI interface still assumes the same default values. Signed-off-by: Nate Case Acked-by: Olof Johansson Signed-off-by: Greg Kroah-Hartman commit 6d243e5c76b632a94d54cac2fe7fe8c0b41cd482 Author: Ming Lei Date: Tue Jun 17 23:24:08 2008 +0800 USB: fix comment of usb_set_configuration It is the usb interface driver probe() methods that can't call usb_set_configuration, not usb device driver. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 7c3e28bc56bd2e4310dc0af99f2b95eeda9a2ff7 Author: Alan Stern Date: Mon Jun 16 12:11:39 2008 -0400 USB: use standard SG iterator in the scatter-gather library This patch (as1103) changes the iteration in the USB scatter-gather to use a standard SG iterator. Otherwise the iteration will fail if it encounters a chained SG list. Signed-off-by: Alan Stern Acked-by: Jens Axboe Signed-off-by: Greg Kroah-Hartman commit 625f694936cbbdee98e6cc65f72724a7660e7946 Author: Ming Lei Date: Sun Jun 15 09:42:02 2008 +0800 USB: remove interface parameter of usb_reset_composite_device From the current implementation of usb_reset_composite_device function, the iface parameter is no longer useful. This function doesn't do something special for the iface usb_interface,compared with other interfaces in the usb_device. So remove the parameter and fix the related caller. Signed-off-by: Ming Lei Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 33578bd706e40eb877bd87bfc47e5da30034afde Author: Christophe Jaillet Date: Mon Jun 9 16:39:53 2008 -0700 USB: AccessRunner: avoid unnecessary memset Remove an explicit memset(.., 0, ...) to a variable allocated with kzalloc (i.e. 'card_info' array of the structure 'instance'). Signed-off-by: Christophe Jaillet Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d249afddffda695a20afe5270cbbfa242969d6e1 Author: Andrew Morton Date: Mon Jun 9 16:39:52 2008 -0700 USB: drivers/usb/host/isp1760-hcd.c: processor flags have type `unsigned long' Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 87d65e54b6d5ff6ee905c4ade1e28f486ccfce8a Author: Oliver Neukum Date: Thu Jun 19 14:20:18 2008 +0200 USB: cdc-wdm cleanup - fixes an error with filling out control requests - increases grepability and error logging - fixes the short read code path Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 640c1bce86d1e11ee6a1263fdf6170d3210b1684 Author: Greg Kroah-Hartman Date: Thu Jun 19 11:21:16 2008 -0700 USB: delete airprime driver This driver is only for one device id, and the option driver should be used instead for it. Signed-off-by: Greg Kroah-Hartman commit 518386c7d4cc3eb8e6b815e0b11ed2cec6245907 Author: Akinobu Mita Date: Mon Jun 9 16:39:57 2008 -0700 USB: usbmon: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Acked-by: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit bef4665a2e5145737fa925a5a1a7a8afd1b91acc Author: Ming Lei Date: Sun Jun 8 16:44:40 2008 +0800 USB: uhci: mark root_hub_hub_des[] as const mark this array as const because it is read-only Signed-off-by: Ming Lei Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fe9b9034aa6f69dd7bf3bdca4288763ac2cd534a Author: Ming Lei Date: Sun Jun 8 16:13:03 2008 +0800 USB: host: mark const variable tables as "const" Mark the tables as const so that they end up in .rodata section and don't cacheline share with things that get written to. Signed-off-by: Ming Lei Cc: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit f579c2b46f74038e8f5a762c7f10c2385b33e3dc Author: Alan Stern Date: Mon Jun 2 16:26:48 2008 -0400 USB Gadget: documentation update This patch (as1102) clarifies two points in the USB Gadget kerneldoc: Request completion callbacks are always made with interrupts disabled; Device controllers may not support STALLing the status stage of a control transfer after the data stage is over. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e0d795e4f36c2d8949c1355b497fc5425dbb9437 Author: Felipe Balbi Date: Tue Jun 3 14:47:52 2008 +0300 usb: irda: cleanup on ir-usb module General cleanup on ir-usb module. Introduced a common header that could be used also on usb gadget framework. Lot's of cleanups and now using macros from the header file. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b963801164618e25fbdc0cd452ce49c3628b46c8 Author: David Brownell Date: Tue Jun 3 22:21:55 2008 -0700 USB: ehci-hcd unlink speedups This patch fixes some performance bugs observed with some workloads when unlinking EHCI queue header (QH) descriptors from the async ring (control/bulk schedule). The mechanism intended to defer unlinking an empty QH (so there is no penalty in common cases where it's quickly reused) was not working as intended. Sometimes the unlink was scheduled: - too quickly ... which can be a *strong* negative effect, since that QH becomes unavailable for immediate re-use; - too slowly ... wasting DMA cycles, usually a minor issue except for increased bus contention and power usage; Plus there was an extreme case of "too slowly": a logical error in the IAA watchdog-timer conversion meant that sometimes the unlink never got scheduled. The fix replaces a simple counter with a timestamp derived from the controller's 8 KHz microframe counter, and adjusts the timer usage for some issues associated with HZ being less than 8K. (Based on a patch originally by Alan Stern, and good troubleshooting from Leonid.) Signed-off-by: David Brownell Cc: Alan Stern Cc: Leonid Signed-off-by: Greg Kroah-Hartman commit 38f3ad5e7463d4dd490a8081a5f3f9f2dec7ecd6 Author: Felipe Balbi Date: Thu Jun 12 10:49:47 2008 +0300 usb: hub: add check for unsupported bus topology We can't allow hubs on the 7th tier as they would allow devices on the 8th tier. Signed-off-by: Felipe Balbi Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6deb270b5c60680ca9117bd545302ea6a58bad42 Author: Pete Zaitcev Date: Sun Jun 1 21:23:07 2008 -0700 USB: ohci_hcd hang: submit vs. rmmod race If we do rmmod ohci_hcd while an application is doing something, the following may happen: - a control URB completes (in finish_urb) and the ohci's endpoint is set into ED_UNLINK in ed_deschedule - same URB is (re)submitted because of the open/close loop or other such application behaviour - rmmod sets the state to HC_STATE_QUESCING - finish_unlinks happens at next SOF; normally it would set ed into ED_IDLE and immediately call ed_schedule (since URB had extra TDs queued), which sets it into ED_OPER. But the check in ed_schedule makes it fail with -EAGAIN (which is ignored) - from now on we have a dead URB stuck; it cannot even be unlinked because the ed status is not ED_OPER, and thus start_ed_unlink is not invoked. This patch removes the check. In 2.6.25, all callers check for __ACTIVE bit before invoking ed_schedule, which is more appropriate. Alan Stern and David Brownell approved of this (cautiously). Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 6381fad77e5d44f8e0e2afffe686cb4e6fc36e71 Author: Eric Miao Date: Mon Jun 2 10:05:30 2008 +0800 USB: make SA1111 OHCI driver SA11x0 specific As RMK pointed out, considering the fact that the _only_ platform with a PXA and SA1111 is the Lubbock, and that SA1111 DMA doesn't work there, (i.e. the SA1111 OHCI doesn't work there) the SA1111 OHCI driver should really be made SA11x0 specific. Signed-off-by: Eric Miao Acked-by: Russell King Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 421b4bf5f292cc97c07a7f838595ccf128cc2c92 Author: Pete Zaitcev Date: Sun Jun 1 14:38:43 2008 -0700 USB: missing usb_put_hcd to ohci-at91 Looks like usb_put_hcd was missing. Also, make an always-zero function return void. Signed-off-by: Pete Zaitcev Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit abe28c00b906b79dc9aff81087a81a5608f64170 Author: Harvey Harrison Date: Fri May 30 10:39:04 2008 -0700 USB: speedtch.c fix sparse shadowed variable warning i is used only as a for-loop index no need to declare another. drivers/usb/atm/speedtch.c:832:7: warning: symbol 'i' shadows an earlier one drivers/usb/atm/speedtch.c:766:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit b2bdd1f5041db6f2d172417b5ceea20abc7a6eb6 Author: Harvey Harrison Date: Fri May 30 10:29:55 2008 -0700 USB: cp2101.c fix sparse signedness mismatch warnings The get/set 2101_config helpers take an unsigned int rather than an int. It is safe to change these in each case and may even produce better code as it will be an unsigned divide rather than a signed divide in places. All other manipulation was setting/masking bits which will not be affected by the sign change. Fixes the following sparse warnings: drivers/usb/serial/cp2101.c:378:44: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:378:44: expected unsigned int *data drivers/usb/serial/cp2101.c:378:44: got int * drivers/usb/serial/cp2101.c:388:40: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:388:40: expected unsigned int *data drivers/usb/serial/cp2101.c:388:40: got int * drivers/usb/serial/cp2101.c:413:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:413:42: expected unsigned int *data drivers/usb/serial/cp2101.c:413:42: got int * drivers/usb/serial/cp2101.c:421:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:421:42: expected unsigned int *data drivers/usb/serial/cp2101.c:421:42: got int * drivers/usb/serial/cp2101.c:444:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:444:42: expected unsigned int *data drivers/usb/serial/cp2101.c:444:42: got int * drivers/usb/serial/cp2101.c:451:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:451:42: expected unsigned int *data drivers/usb/serial/cp2101.c:451:42: got int * drivers/usb/serial/cp2101.c:458:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:458:42: expected unsigned int *data drivers/usb/serial/cp2101.c:458:42: got int * drivers/usb/serial/cp2101.c:471:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:471:42: expected unsigned int *data drivers/usb/serial/cp2101.c:471:42: got int * drivers/usb/serial/cp2101.c:481:42: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:481:42: expected unsigned int *data drivers/usb/serial/cp2101.c:481:42: got int * drivers/usb/serial/cp2101.c:561:41: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:561:41: expected unsigned int *data drivers/usb/serial/cp2101.c:561:41: got int * drivers/usb/serial/cp2101.c:591:45: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:591:45: expected unsigned int *data drivers/usb/serial/cp2101.c:591:45: got int * drivers/usb/serial/cp2101.c:597:41: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:597:41: expected unsigned int *data drivers/usb/serial/cp2101.c:597:41: got int * drivers/usb/serial/cp2101.c:608:45: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:608:45: expected unsigned int *data drivers/usb/serial/cp2101.c:608:45: got int * drivers/usb/serial/cp2101.c:614:41: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:614:41: expected unsigned int *data drivers/usb/serial/cp2101.c:614:41: got int * drivers/usb/serial/cp2101.c:623:45: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:623:45: expected unsigned int *data drivers/usb/serial/cp2101.c:623:45: got int * drivers/usb/serial/cp2101.c:680:50: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:680:50: expected unsigned int *data drivers/usb/serial/cp2101.c:680:50: got int * drivers/usb/serial/cp2101.c:690:43: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:690:43: expected unsigned int *data drivers/usb/serial/cp2101.c:690:43: got int * drivers/usb/serial/cp2101.c:715:41: warning: incorrect type in argument 3 (different signedness) drivers/usb/serial/cp2101.c:715:41: expected unsigned int *data drivers/usb/serial/cp2101.c:715:41: got int * Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 5a33956a300dcb48a3b125cae437ad6f5c718282 Author: Harvey Harrison Date: Fri May 30 10:18:53 2008 -0700 USB: digi_accelport.c trivial sparse lock annotation Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 554cc171e3b08a0cecd5cf7c0c38f66c43f76b39 Author: Stephen Rothwell Date: Fri May 23 16:37:58 2008 +1000 USB: ohci-ppc-of: use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit 49f1525546532139e0260ae19ab8012a2bfbd1f3 Author: Alan Cox Date: Thu May 22 22:48:48 2008 +0100 USB: sisusb: Push down the BKL This is another case where the lock_kernel appears to be unneccessary and could be removed with a bit more investigative work Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 54592157c7120ea4d6d0014cbbfc327d4b867fe3 Author: Alan Cox Date: Thu May 22 22:47:31 2008 +0100 USB: rio100: Push down the BKL The BKL is actually probably not needed as the mutex seems sufficient. If so then a further patch to drop it would be a good followup. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f1b5a7fe1718393f67fa6222a1cc27f97e12c4b3 Author: Alan Cox Date: Thu May 22 22:46:25 2008 +0100 USB: auerwald: Push down the BKL into the driver Also fix the unknown ioctl return code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 824f16fda56a88267aba9b2580d7566cf56a0860 Author: Alan Cox Date: Thu May 22 22:06:02 2008 +0100 USB: iowarrior: Push down BKL I'm pretty sure the mutex is sufficient for all locking but will come back to that later if the USB folks don't beat me to it. For now get rid of the old BKL ioctl method and wrap the ioctl handler Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5cb4aeca8e8c29605703be5576825eb3257d8a92 Author: Alan Cox Date: Thu May 22 22:07:51 2008 +0100 USB: usblcd: Push down BKL into driver I'm pretty sure this can be eliminated however I couldn't prove (or find) what stopped the device vanishing mid IOCTL_GET_HARD_VERSION. Perhaps a USB wizard could double check that and see if the lock_kernel can go entirely. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1160d0765660e14b44dffd931b28a3875d5d9e46 Author: Alan Cox Date: Thu May 22 22:04:48 2008 +0100 USB: ftdi_usb: Eliminate ioctl and BKL ioctl use ftdi has one ioctl, which is buggy and for debugging. Kill it off Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 44c389a00ff7229ab2f2aab22ce03ae0c9037df7 Author: Alan Cox Date: Thu May 22 22:03:27 2008 +0100 USB: gadget: Push BKL down into drivers This keeps the gadget ioctl method wrapped but pushes the BKL down into the gadget code so we can use unlocked_ioctl(). Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0391c828ce75cc71ae301946699a6f2d515fd99d Author: David Brownell Date: Thu Jun 19 18:20:11 2008 -0700 usb ethernet gadget: use composite gadget framework Building on the previous patches which took code from this driver and pakaged it in more-reusable network "function" components, this patch gets rid of the original code and uses those components instead. As seen with the other gadget driver conversions, the resulting code is much easier to understand and (presumably) work with. In this case that's especially true, since the Ethernet gadget had grown to handle three (!) different Ethernet-over-USB protocols. This modularization should make it much easier to add a fourth option for the newish CDC "Ethernet Emulation Model" (or EEM). Lightly tested, primarily at full speed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 19e2068015d4a66f62a0a19be2130d2948ba8024 Author: David Brownell Date: Thu Jun 19 18:20:26 2008 -0700 usb gadget: new "CDC Composite" gadget driver This is a simple example of a composite gadget, combining two Communications Class Device (CDC) functions: ECM and ACM. This provides a clear example of how the composite gadget framework is intended to work. It's surprising that MS-Windows (or at least, XP and previous) won't "just work" with something this simple... One /proc/bus/usb/devices listing looks like: T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 46 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0525 ProdID=a4aa Rev= 3.01 S: Manufacturer=Linux 2.6.26-rc6-pnut with net2280 S: Product=CDC Composite Gadget C:* #Ifs= 4 Cfg#= 1 Atr=c0 MxPwr= 2mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether E: Ad=83(I) Atr=03(Int.) MxPS= 16 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm E: Ad=86(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms Not all USB peripheral controller hardware can support this driver. All the highspeed-capable peripheral controllers with drivers now in the mainline kernel seem to support this, as does omap_udc. But many full speed controllers don't have enough endpoints, or (as with the PXA controllers) don't support altsettings. Lightly tested. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 45fe3b8e5342cd1ce307099459c74011d8e01986 Author: David Brownell Date: Thu Jun 19 18:20:04 2008 -0700 usb ethernet gadget: split RNDIS function This is a RNDIS function driver, extracted from the all-in-one Ethernet gadget driver. Lightly tested ... there seems to be a pre-existing problem when talking to Windows XP SP2, not quite sure what's up with that yet. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit da741b8c56d612b5dd26ffa31341911a5fea23ee Author: David Brownell Date: Thu Jun 19 18:19:46 2008 -0700 usb ethernet gadget: split CDC Ethernet function This is a "CDC Ethernet" (ECM) function driver, extracted from the all-in-one Ethernet gadget driver. This is a good example of how to implement interface altsettings. In fact it's currently the only such example in the gadget stack, pending addition of OBEX support. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8a40819e97368f2b6e67fea103348f9fc2f68ceb Author: David Brownell Date: Thu Jun 19 18:19:32 2008 -0700 usb ethernet gadget: split CDC Subset function This is a simple "CDC Subset" (and MCCI "SAFE") function driver, extracted from the all-in-one Ethernet gadget driver. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2b3d942c4878084a37991a65e66512c02b8fa2ad Author: David Brownell Date: Thu Jun 19 18:19:28 2008 -0700 usb ethernet gadget: split out network core Abstract the peripheral side Ethernet-over-USB link layer code from the all-in-one Ethernet gadget driver into a component that can be called by various functions, so the various flavors can be split apart and selectively reused. A notable difference from the approach taken with the serial link layer code (beyond talking to NET not TTY) is that because of the initialization requirements, this only supports one network link. (And one set of Ethernet link addresses.) That is, each configuration may have only one instance of a network function. This doesn't change behavior; the current code has that same restriction. If you want multiple logical links, that can easily be done using network layer tools. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 15b2d2b529d11449910ac86f6093124bce8f6103 Author: David Brownell Date: Thu Jun 19 18:19:16 2008 -0700 usb gadget: RNDIS cleanups Some cleanup to the RNDIS code: - Minor bugfix: rndis_unit() is supposed to put the link into the RNDIS_UNINITIALIZED state, which does not mean "unused". There's a separate method to stop using the link. (Bug doesn't affect anything right now because of how the code is used.) - Reduce coupling between RNDIS code and its user(s), in preparation for updates in that code: * Decouple RNDIS_RESPONSE_AVAILABLE notifications from net_device by passing just a void* handle. (Also, remove the unused return value of the notification callback.) * When it needs a copy of net_device stats, just ask for it - Remove unused/untested code backing various never-used OIDs: * RNDIS_PM, RNDIS_WAKEUP ... "should" get implemented, but the relevant docs were unclear, ambguous, and incomplete. Someone with access to the Hidden Gospels (maybe in the EU?) might be able to figure out what this should do. * RNDIS_OPTIONAL_STATS ... as the name suggests, optional. Never implemented in part because not all the semantics were clear. * OID_GEN_RNDIS_CONFIG_PARAMETER, which has been #if 0 forever. - A few small whitespace fixes Plus switch the VERBOSE symbol over to the newer VERBOSE_DEBUG style. There should be no functional changes because of this patch; it's a net source code shrink (because of the dead/unused code removal) and a small object code shrink (a couple hundred bytes on ARMv5). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7bb5ea54be47584869b9a748696e06788c55e28f Author: David Brownell Date: Thu Jun 19 18:19:03 2008 -0700 usb gadget serial: use composite gadget framework This switches the serial gadget over to using the new "function" versions of the serial port interfacing code. The remaining code in the main source file is quite small... Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 61d8baea5d02f0f00fb789ce5551cbd8f8b77087 Author: David Brownell Date: Thu Jun 19 18:18:50 2008 -0700 usb gadget serial: split out generic serial function Split out the generic serial support into a "function driver". This closely mimics the ACM support, but with a MUCH simpler control model. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d5a73dc39c1e1d8ba5feec5c6234ae920c59161 Author: David Brownell Date: Thu Jun 19 18:18:40 2008 -0700 usb gadget serial: split out CDC ACM function Split out CDC ACM parts of "gadget serial" to a "function driver". Some key structural differences from the previous ACM support, shared with with the generic serial function (next patch): - As a function driver, it can be combined with other functions. One gadget configuration could offer both serial and network links, as an example. - One serial port can be exposed in multiple configurations; the /dev/ttyGS0 node could be exposed regardless of which config the host selected. - One configuration can expose multiple serial ports, such as ttyGS0, ttyGS1, ttyGS2, and ttyGS3. This code should be a lot easier to understand than the previous all-in-one-big-file version of the driver. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 097db1d034b0927056f3d9e844dc80b3ba881765 Author: David Brownell Date: Thu Jun 19 18:18:27 2008 -0700 usb gadget zero: use composite gadget framework Update Gadget Zero to use the more modular versions of the loopback and source/sink configuration drivers which build on the new gadget framework code. The core code is a LOT simpler, and it should be much easier now to understand how the parts fit together. The conversion is an overall source shrink in terms of this gadget, since it uses more midlayer support. However, it's an overall increase in object size because there's less sharing between the two configurations (improves code clarity) and because the midlayer is a bit more functional than this driver actually needs. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e5760fdac8c8aeca060d1afc8a233ea3d7a46720 Author: David Brownell Date: Thu Jun 19 17:55:35 2008 -0700 usb gadget zero: split out loopback config This splits the gadget zero "loopback" configuration into a standalone "configuration driver", building on the composite gadget framework code. It doesn't yet pull the original code out of gadget zero or update how that driver is built. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a400cadc0774c31f67c419a835d80ba611128c2a Author: David Brownell Date: Thu Jun 19 17:55:23 2008 -0700 usb gadget zero: split out source/sink config This splits the gadget zero "source/sink" configuration into a standalone "configuration driver", building on the composite gadget framework code. It doesn't yet pull the original code out of gadget zero or update how that driver is built. Neither this, nor its sibling "loopback" configuration, is a function driver that can be combined with other functions. (The host "usbtest" driver wouldn't know how to deal with that!) However the code becomes simpler because of this conversion, so it's a net win. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 40982be52d8f64c3e10adce17e66ab755a4fa26b Author: David Brownell Date: Thu Jun 19 17:52:58 2008 -0700 usb gadget: composite gadget core Add interfaces for composite gadget drivers, and basic implementation support behind it: - struct usb_function ... groups one or more interfaces into a function managed as one unit within a configuration, to which it's added by usb_add_function(). - struct usb_configuration ... groups one or more such functions into a configuration managed as one unit by a driver, to which it's added by usb_add_config(). These operate at either high or full/low speeds and at a given bMaxPower. - struct usb_composite_driver ... groups one or more such configurations into a gadget driver, which may be registered or unregistered. - struct usb_composite_dev ... a usb_composite_driver manages this; it wraps the usb_gadget exposed by the controller driver. This also includes some basic kerneldoc. How to use it (the short version): provide a usb_composite_driver with a bind() that calls usb_add_config() for each of the needed configurations. The configurations in turn have bind() calls, which will usb_add_function() for each function required. Each function's bind() allocates resources needed to perform its tasks, like endpoints; sometimes configurations will allocate resources too. Separate patches will convert most gadget drivers to this infrastructure. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a4c39c41bf3592684e36fa0dbbd4ab1a31f969b9 Author: David Brownell Date: Thu Jun 19 17:52:25 2008 -0700 usb gadget: descriptor copying support Define three new descriptor manipulation utilities, for use when setting up functions that may have multiple instances: usb_copy_descriptors() to copy a vector of descriptors usb_free_descriptors() to free the copy usb_find_endpoint() to find a copied version These will be used as follows. Functions will continue to have static tables of descriptors they update, now used as __initdata templates. When a function creates a new instance, it patches those tables with relevant interface and string IDs, plus endpoint assignments. Then it copies those morphed descriptors, associates the copies with the new function instance, and records the endpoint descriptors to use when activating the endpoints. When initialization is done, only the copies remain in memory. The copies are freed on driver removal. This ensures that each instance has descriptors which hold the right instance-specific data. Two instances in the same configuration will obviously never share the same interface IDs or use the same endpoints. Instances in different configurations won't do so either, which means this is slightly less memory-efficient in some cases. This also includes a bugfix to the epautoconf code that shows up with this usage model. It must replace the previous endpoint number when updating the template descriptors, not just mask in a few more bits. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a7707adf9ee8de3c5b67e3793b98888f551ad00d Author: David Brownell Date: Thu Jun 19 17:52:07 2008 -0700 usb gadget: use new serial core Teach "gadget serial" to use the new abstracted (and bugfixed) TTY glue, and remove all the orignal tangled-up code. Update the documentation accordingly. This is a net object code shrink and cleanup; it should make it a lot easier to see how the TTY glue should accomodate updates to the TTY layer, be bugfixed, etc. Notable behavior changes include: it can now support getty even when there's no USB connection; it fits properly into the mdev/udev world; and RX handling is better (throttling works, and low latency). Configurations with scripts setting up the /dev/ttygserial device node (with "experimental" major number) may want to change that to be a symlink pointing to the /dev/ttyGS0 file, as a migration aid; else, just switch entirely over to mdev/udev. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c1dca562be8ada614ef193aa246c6f8705bcd6b9 Author: David Brownell Date: Thu Jun 19 17:51:44 2008 -0700 usb gadget: split out serial core This abstracts the "gadget serial" driver TTY glue into a separate component, cleaning it up and disentangling it from connection state. It also changed some behaviors for the better: - Stops using "experimental" major #127, and switches over to having the TTY layer allocate the dev_t numbers. - Provides /sys/class/tty/ttyGS* nodes, thus mdev/udev support. (Note "mdev" hotplug bug in Busybox v1.7.2: /dev/ttyGS0 will be a *block* device without CONFIG_SYSFS_DEPRECATED_V2.) - The tty nodes no longer reject opens when there's no host. Now they can support normal getty configs in /etc/inttab... - Now implements RX throttling. When the line discipline says it doesn't want any more data, only packets in flight will be delivered (currently, max 1K/8K at full/high speeds) until it unthrottles the data. - Supports low_latency. This is a good policy for all USB serial adapters, since it eliminates scheduler overhead on RX paths. This also includes much cleanup including better comments, fixing memory leaks and other bugs (including some locking fixes), messaging cleanup, and an interface audit and tightening. This added up to a significant object code shrinkage, on the order of 20% (!) depending on CPU and compiler. A separate patch actually kicks in this new code, using the functions declared in this new header, and removes the previous glue. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit bb24280ffce6a8bc6b03d29a43ec16ac14e9ec85 Author: David Brownell Date: Tue May 27 19:24:20 2008 -0700 USB: at91_udc: updated fifo sizes It turns out newer versions of the AT91 UDC hardware have increased sizes of some of the FIFOs. Reporting that is a Good Thing. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e184d5fcaac9676bd83a956a774a04a72bf2b28b Author: Alexey Dobriyan Date: Wed May 14 16:25:13 2008 -0700 USB: rndis: switch to seq_files Signed-off-by: Alexey Dobriyan Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit baad4119a3b5215a040bc221478da57c76389e34 Author: Adrian Bunk Date: Tue May 20 01:00:24 2008 +0300 USB: remove Documentation/usb/uhci.txt The driver was removed before kernel 2.6.0 Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit ea05af61a874ffbc158d9cf06df8a9396f299f38 Author: Adrian Bunk Date: Tue May 20 01:00:46 2008 +0300 USB: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 543f7810fba2a62e412efa9473ad08167b691f09 Author: Alan Stern Date: Thu May 8 11:55:59 2008 -0400 usb-storage: implement "soft" unbinding This patch (as1092) implements "soft" unbinding for usb-storage. When the disconnect routine is called, all commands and reset delays are allowed to complete normally until after scsi_remove_host() returns. This means that the commands needed for an orderly shutdown will be sent through to the device. Unlike before, the driver will now execute every command that it accepts. Hence there's no need for special code to catch unexecuted commands and fail them. The new sequence of events when disconnect runs goes as follows: If the device is truly unplugged, set the DISCONNECTING flag so we won't try to access it any more. If the SCSI-scanning thread hasn't started up yet, prevent it from doing anything by setting the new DONT_SCAN flag. Then wake it up and wait for it to terminate. Remove the SCSI host. This unbinds the upper-level drivers, doing an orderly shutdown. Commands sent to quiesce the device will be transmitted normally, unless the device is unplugged. Set the DISCONNECTING flag so that we won't accept any new commands that might get submitted (there aren't supposed to be any) and we won't try to access the device for resets. Tell the control thread to exit by waking it up with no pending command, and wait for it to terminate. Go on to do all the other normal stuff: releasing resources, freeing memory, and so on. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9da82bd4649334817ef0e752a69eb99051645dad Author: Alan Stern Date: Thu May 8 11:54:37 2008 -0400 USB: implement "soft" unbinding This patch (as1091) changes the way usbcore handles interface unbinding. If the interface's driver supports "soft" unbinding (a new flag in the driver structure) then in-flight URBs are not cancelled and endpoints are not disabled. Instead the driver is allowed to continue communicating with the device (although of course it should stop before its disconnect routine returns). The purpose of this change is to allow drivers to do a clean shutdown when they get unbound from a device that is still plugged in. Killing all the URBs and disabling the endpoints before calling the driver's disconnect method doesn't give the driver any control over what happens, and it can leave devices in indeterminate states. For example, when usb-storage unbinds it doesn't want to stop while in the middle of transmitting a SCSI command. The soft_unbind flag is added because in the past, a number of drivers have experienced problems related to ongoing I/O after their disconnect routine returned. Hence "soft" unbinding is made available only to drivers that claim to support it. The patch also replaces "interface_to_usbdev(intf)" with "udev" in a couple of places, a minor simplification. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 473bca94ba432b3c194e6fa315d81d8ac7670a4f Author: Adrian Bunk Date: Mon May 5 21:25:33 2008 +0300 USB: isp1760-hcd.c: make 2 functions static This patch makes the following needlessly global functions static: - enqueue_an_ATL_packet() - enqueue_an_INT_packet() Signed-off-by: Adrian Bunk Acked-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit 7119e3c37fbf7c27adb5929f344c826ecb8c7859 Author: Alan Stern Date: Thu May 1 15:36:13 2008 -0400 usb-storage: change remaining semaphore to completion This patch (as1090) converts the one remaining semaphore in usb-storage into a completion. Signed-off-by: Alan Stern Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 7e4d6c387994294ac8198b624ee71e75de60dfd2 Author: Alan Stern Date: Thu May 1 15:35:18 2008 -0400 usb-storage: separate dynamic flags from fixed flags This patch (as1089) separates out the dynamic atomic bitflags and the static bitfields in usb-storage. Until now the two sorts of flags have been sharing the same word; this has always been awkward. To help prevent possible confusion, the two new fields each have a different name from the original. us->fflags contains the fixed bitfields (mostly taken from the USB ID table in unusual_devs.h), and us->dflags contains the dynamic atomic bitflags (used with set_bit, test_bit, and so on). Signed-off-by: Alan Stern Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 2742fd8899328345d97a3443fb787b051b79ebae Author: Alan Cox Date: Tue Apr 29 14:45:15 2008 +0100 USB: io_ti: FIrst cut at a big clean up Sort out the insane naming like "OperationalFirmwareVersion" which seems designed to cause formatting problems and RSI Merge various common code together Clean up the pointlessly complex and spread about MCR handling This is really just the low hanging fruit. Needs lots of testing before it goes upstream so testers and reports appreciated Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4330354f7660828d97834598633054b413f6264d Author: Alan Stern Date: Mon Apr 28 11:07:31 2008 -0400 USB: combine hub_quiesce and hub_stop This patch (as1083) combines hub_quiesce() and hub_stop() into a single routine. There's no point keeping them separate since they are usually called together. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f2835219ed5e29ec959a0e635af4339d6174b2a7 Author: Alan Stern Date: Mon Apr 28 11:07:17 2008 -0400 USB: combine hub_activate and hub_restart This patch (as1071) combines hub_activate() and hub_restart() into a single routine. There's no point keeping them separate, since they are always called together. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 948fea37dcebfef8f0f2faf00930e7ec7e756e07 Author: Alan Stern Date: Mon Apr 28 11:07:07 2008 -0400 USB: optimize port debouncing during hub activation This patch (as1082) makes a small optimization to the way the hub driver carries out port debouncing immediately after a hub is activated (i.e., initialized, reset, or resumed). If any port-change statuses are observed, the code will delay for a minimal debounce period -- thereby making a good start at debouncing all the ports at once. If this wasn't sufficient then khubd will debounce any port that still requires attention. But in most cases it should suffice; it's rare for a device to need more than a minimal debounce delay. (In the cases of hub initialization or reset even that is most likely not needed, since any devices plugged in at such times have probably been attached for a while.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8808f00c7adfc8dc0b797c34ec03490b237fce4e Author: Alan Stern Date: Mon Apr 28 11:06:55 2008 -0400 USB: try to salvage lost power sessions This patch (as1073) adds to khubd a way to recover from power-session interruption caused by transient connect-change or enable-change events. After the debouncing period, khubd attempts to do a USB-Persist-style reset or reset-resume. If it works, the connection will remain unscathed. The upshot is that we will be more immune to noise caused by EMI. The grace period is on the order of 100 ms, so this won't permit recovery from the "accidentally knocked the USB cable out of its socket" type of event, but it's a start. As an added bonus, if a device was suspended when the system goes to sleep then we no longer need to check for power-session interruptions when the system wakes up. Khubd will naturally see the status change while processing the device's parent hub and will do the right thing. The remote_wakeup() routine is changed; now it expects the caller to acquire the device lock rather than acquiring the lock itself. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6ee0b270c733027b2b716b1c80b9aced41e08d20 Author: Alan Stern Date: Mon Apr 28 11:06:42 2008 -0400 USB: simplify hub_restart() logic This patch (as1081) straightens out the logic of the hub_restart() routine. Each port of the hub is scanned and the driver makes sure that ports which are supposed to be disabled really _are_ disabled. Any ports with a significant change in status are flagged in hub->change_bits, so that khubd can focus on them without the need to scan all the ports a second time -- which means the hub->activating flag is no longer needed. Also, it is now recognized explicitly that the only reason for resuming a port which was not suspended is to carry out a reset-resume operation, which happens only in a non-CONFIG_USB_SUSPEND setting. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9e5eace734a7b4e96a4ba4cf1f85622446e95e17 Author: Greg Kroah-Hartman Date: Tue Jun 10 14:59:43 2008 -0400 USB: revert "don't use reset-resume if drivers don't support it" This reverts Linus's previous patch that is in mainline to make it easier for the USB hub.c patches that follow this to apply cleanly. The functionality will be added back in a followon patch in this series. Signed-off-by: Greg Kroah-Hartman commit 24618b0cd42f936cda461bdf6144670a5c925178 Author: Alan Stern Date: Mon Apr 28 11:06:28 2008 -0400 USB: debounce before unregistering This patch (as1080) makes a significant change to the way khubd handles port connect-change and enable-change events. Both types of event are now debounced, and the debouncing is carried out _before_ an existing usb_device is unregistered, instead of afterward. This means that drivers will have to deal with longer runs of errors when a device is unplugged, but they are supposed to be prepared for that in any case. The advantage is that when an enable-change occurs (caused for example by electromagnetic interference), the debouncing period will provide time for the cause of the problem to die away. A simple port reset (added in a forthcoming patch) will then allow us to recover from the fault. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b01b03f3ad82b4293f6ca4da9b2692b6a377c609 Author: Alan Stern Date: Mon Apr 28 11:06:11 2008 -0400 USB: add new routine for checking port-resume type This patch (as1070) creates a new subroutine to check whether a device can be resumed. This code is needed even when CONFIG_USB_SUSPEND isn't set, because devices do suspend themselves when the root hub (and hence the entire bus) is suspended, and power sessions can get lost during a system sleep even without individual port suspends. The patch also fixes a loose end in USB-Persist reset-resume handling. When a low- or full-speed device is attached to an EHCI's companion controller, the port handoff during resume will cause the companion port's connect-status-change feature to be set. If that flag isn't cleared, the port-reset code will think it indicates that the device has been unplugged and the reset-resume will fail. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit bd2c784595e3dd551c2b3aa4167657bcc802f598 Author: Harvey Harrison Date: Thu May 1 20:52:57 2008 -0700 USB: use get_unaligned_* helpers for kl5kusb105 driver Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 0031a06e2f07ab0d1bc98c31dbb6801f95f4bf01 Author: Kay Sievers Date: Fri May 2 06:02:41 2008 +0200 USB: usb dev_set_name() instead of dev->bus_id The bus_id field is going away, use the dev_set_name() function to set it properly. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7071a3ce0ca058ad2a9e3e8c33f30fb0bce62005 Author: Kay Sievers Date: Fri May 2 06:02:41 2008 +0200 USB: usb dev_name() instead of dev->bus_id The bus_id field is going away, use the dev_name() function instead. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36aa81172edba8a3a8ecedbd1f56d41774ce2e08 Author: Greg Kroah-Hartman Date: Tue Jul 1 10:45:51 2008 -0400 USB: revert "don't lose disconnections during suspend" This reverts Alan's previous patch so that the recent Hub changes will apply cleanly. The above mentioned patch was needed for 2.6.26 to work properly. Cc: Alan Stern Cc: Lukas Hejtmanek Signed-off-by: Greg Kroah-Hartman commit 1b26da1510c02a2dac33c0ea48904256dcec4617 Author: Greg Kroah-Hartman Date: Wed Jul 2 12:46:22 2008 -0700 USB: handle pci_name() being const This changes usb_create_hcd() to be able to handle the fact that pci_name() has changed to a constant string. Signed-off-by: Greg Kroah-Hartman commit c5e46007e9737b77a79ec79ed95262c0ce996d6a Author: Andrew Lunn Date: Thu Apr 24 19:36:39 2008 +0200 USB: storage: UNUSUAL_DEVS() for PanDigital Picture frame. Signed-off-by: Andrew Lunn Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 6d52dcbe56ca8464bcad56d98a64bcd781596663 Merge: eb4225b... 48adcf1... Author: Linus Torvalds Date: Mon Jul 21 15:10:37 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] cpufreq: remove CVS keywords [CPUFREQ] change cpu freq arrays to per_cpu variables commit eb4225b2da2b9f3c1ee43efe58ed1415cc1d4c47 Merge: 807677f... 4cddb88... Author: Linus Torvalds Date: Mon Jul 21 14:55:23 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (25 commits) mmtimer: Push BKL down into the ioctl handler [IA64] Remove experimental status of kdump [IA64] Update ia64 mmr list for SGI uv [IA64] Avoid overflowing ia64_cpu_to_sapicid in acpi_map_lsapic() [IA64] adding parameter check to module_free() [IA64] improper printk format in acpi-cpufreq [IA64] pv_ops: move some functions in ivt.S to avoid lack of space. [IA64] pvops: documentation on ia64/pv_ops [IA64] pvops: add to hooks, pv_time_ops, for steal time accounting. [IA64] pvops: add hooks, pv_irq_ops, to paravirtualized irq related operations. [IA64] pvops: add hooks, pv_iosapic_ops, to paravirtualize iosapic. [IA64] pvops: define initialization hooks, pv_init_ops, for paravirtualized environment. [IA64] pvops: paravirtualize NR_IRQS [IA64] pvops: paravirtualize entry.S [IA64] pvops: paravirtualize ivt.S [IA64] pvops: paravirtualize minstate.h. [IA64] pvops: define paravirtualized instructions for native. [IA64] pvops: preparation for paravirtulization of hand written assembly code. [IA64] pvops: introduce pv_cpu_ops to paravirtualize privileged instructions. [IA64] pvops: add an early setup hook for pv_ops. ... commit ebb36a978131810c98e7198b1187090c697cf99f Author: David S. Miller Date: Mon Jul 21 13:41:16 2008 -0700 ipv6: __KERNEL__ ifdef struct ipv6_devconf Based upon a report by Olaf Hering. Signed-off-by: David S. Miller commit 47112e25da41d9059626033986dc3353e101f815 Author: Gerrit Renker Date: Mon Jul 21 13:35:08 2008 -0700 udplite: Protection against coverage value wrap-around This patch clamps the cscov setsockopt values to a maximum of 0xFFFF. Setsockopt values greater than 0xffff can cause an unwanted wrap-around. Further, IPv6 jumbograms are not supported (RFC 3838, 3.5), so that values greater than 0xffff are not even useful. Further changes: fixed a typo in the documentation. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6579e57b31d79d31d9b806e41ba48774e73257dc Author: Arjan van de Ven Date: Mon Jul 21 13:31:48 2008 -0700 net: Print the module name as part of the watchdog message As suggested by Dave: This patch adds a function to get the driver name from a struct net_device, and consequently uses this in the watchdog timeout handler to print as part of the message. Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller commit 7943986ca1138ac99597b1aa4dc893012dcfdc08 Author: Stephen Hemminger Date: Mon Jul 21 13:28:44 2008 -0700 net: use kcalloc in netdev_queue alloc Minor nit, use size_t for allocation size and kcalloc to allocate an array. Probably makes no actual code difference. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 847499ce71bdcc8fc542062df6ebed3e596608dd Author: Stephen Hemminger Date: Mon Jul 21 13:21:35 2008 -0700 ipv6: use timer pending This fixes the bridge reference count problem and cleanups ipv6 FIB timer management. Don't use expires field, because it is not a proper way to test, instead use timer_pending(). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3a33cc108d11fab2a2544e2601066ba4924736aa Author: Ian Schram Date: Mon Jul 21 13:19:35 2008 -0700 mac80211_hwsim.c: fix: BUG: unable to handle kernel NULL pointer dereference at 0000000000000370 I was looking at this out of interest, but I'm in no way familiar with the code. Looks to me that the error handling code in mac80211_hwsim is awkward. Which leads to it calling ieee80211_unregister_hw even when ieee80211_register_hw failed. The function has a for loop where it generates all simulated radios. when something fails, the error handling will call mac80211_hwsim_free which frees all simulated radios who's pointer isn't zero. However the information stored is insufficient to determine whether or not the call to ieee80211_register_hw succeeded or not for a specific radio. The included patch makes init_mac80211_hwsim clean up the current simulated radio, and then calls into mac80211_hwsim_free to clean up all the radios that did succeed. This however doesn't explain why the rate control registration failed.. build tested this, but had some problems reproducing the original problem. Signed-off-by: Ian Schram Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 74988bd85d1cb97987534fd7ffbc570e81145418 Author: David S. Miller Date: Mon Jul 21 13:17:38 2008 -0700 sparc64: Do not define BIO_VMERGE_BOUNDARY. The IOMMU code and the block layer can split things up using different rules, so this can't work reliably. Signed-off-by: David S. Miller commit 807677f812639bdeeddf86abc66117e124eaedb2 Author: Linus Torvalds Date: Mon Jul 21 13:06:20 2008 -0700 Don't list my old OSDL mailing address in CREDITS file .. it may or may be forwarded, but it's not like I want people to send stuff without knowing or checking first anyway, so delete the address entirely. Signed-off-by: Linus Torvalds commit f2d0f1dea41fd6c7a347e71b505a155096643517 Author: Linus Torvalds Date: Mon Jul 21 13:04:08 2008 -0700 x86: Fix help message for STRICT_DEVMEM config option The message talked about "left on" when it meant to say disabled. Signed-off-by: Linus Torvalds commit 3488007afc139929cfd16ab98670f87749d4f6fd Merge: 47c317a... cfc1b9a... Author: Linus Torvalds Date: Mon Jul 21 13:02:00 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: convert Dprintk to pr_debug commit 5171c3047df9d5b5183b2b179aa797a5aed8369b Author: Thomas Gleixner Date: Mon Jul 21 21:58:34 2008 +0200 x86: move the last Dprintk instance to pr_debug() Signed-off-by: Thomas Gleixner commit 47c317a7aaa2fbac03811a569829fa954e641520 Merge: e89970a... 0ebd652... Author: Linus Torvalds Date: Mon Jul 21 12:40:15 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: dump more data on slab corruption SLUB: simplify re on_each_cpu() commit cfc1b9a6a683c835a20d5b565ade55baf639f72f Author: Thomas Gleixner Date: Mon Jul 21 21:35:38 2008 +0200 x86: convert Dprintk to pr_debug There are a couple of places where (P)Dprintk is used which is an old compile time enabled printk wrapper. Convert it to the generic pr_debug(). Signed-off-by: Thomas Gleixner commit e89970aa93b06d0605a488e74af3b0a2a80e03b5 Merge: 443bd1c... 5547cd0... Author: Linus Torvalds Date: Mon Jul 21 11:29:52 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: netfilter: nf_conntrack_sctp: fix sparse warnings netfilter: nf_nat_sip: c= is optional for session netfilter: xt_TCPMSS: collapse tcpmss_reverse_mtu{4,6} into one function netfilter: nfnetlink_log: send complete hardware header netfilter: xt_time: fix time's time_mt()'s use of do_div() netfilter: accounting rework: ct_extend + 64bit counters (v4) netlink: add NLA_PUT_BE64 macro netfilter: nf_nat_core: eliminate useless find_appropriate_src for IP_NAT_RANGE_PROTO_RANDOM hdlcdrv: Fix CRC calculation. Revert "pkt_sched: Make default qdisc nonshared-multiqueue safe." net: In __netif_schedule() use WARN_ON instead of BUG_ON net: Improve simple_tx_hash(). pkt_sched: Remove unused variable skb in dev_deactivate_queue function. sunhme: Remove stop/wake TX queue calls in set-multicast-list handler. ucc_geth: do not touch net queue in adjust_link phylib callback gianfar: do not touch net queue in adjust_link phylib callback atl1: Do not wake queue before queue has been started. commit 443bd1c4ddab9d2144f4c9b85e0abccf2d93423f Author: Randy Dunlap Date: Mon Jul 21 09:27:18 2008 -0700 pci kernel-doc fatal error Fix kernel-doc comments so that they don't produce errors. Also cut some extraneous copy-paste text. Error(linhead//drivers/pci/pci.c:1133): duplicate section name 'Description' Error(linhead//drivers/pci/pci.c:1189): duplicate section name 'Description' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 72a73693aac5ae82850cedc69fa5d264ca977c13 Merge: b7e6f62... 2e2dcc7... Author: Linus Torvalds Date: Mon Jul 21 10:34:25 2008 -0700 Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (160 commits) x86: remove extra calling to get ext cpuid level x86: use setup_clear_cpu_cap() when disabling the lapic KVM: fix exception entry / build bug, on 64-bit x86: add unknown_nmi_panic kernel parameter x86, VisWS: turn into generic arch, eliminate leftover files x86: add ->pre_time_init to x86_quirks x86: extend and use x86_quirks to clean up NUMAQ code x86: introduce x86_quirks x86: improve debug printout: add target bootmem range in early_res_to_bootmem() Subject: devmem, x86: fix rename of CONFIG_NONPROMISC_DEVMEM x86: remove arch_get_ram_range x86: Add a debugfs interface to dump PAT memtype x86: Add a arch directory for x86 under debugfs x86: i386: reduce boot fixmap space i386/xen: add proper unwind annotations to xen_sysenter_target x86: reduce force_mwait visibility x86: reduce forbid_dac's visibility x86: fix two modpost warnings x86: check function status in EDD boot code x86_64: ia32_signal.c: remove signal number conversion ... commit b7e6f62fe259187f2578d00960ef1b0e6ff6afd5 Merge: 8a39262... d41e26b... Author: Linus Torvalds Date: Mon Jul 21 10:30:10 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 crypt: add merge dm table: remove merge_bvec sector restriction dm: linear add merge dm: introduce merge_bvec_fn dm snapshot: use per device mempools dm snapshot: fix race during exception creation dm snapshot: track snapshot reads dm mpath: fix test for reinstate_path dm mpath: return parameter error dm io: remove struct padding dm log: make dm_dirty_log init and exit static dm mpath: free path selector on invalid args commit 8a392625b665c676a77c62f8608d10ff430bcb83 Merge: 519f014... 4b80991... Author: Linus Torvalds Date: Mon Jul 21 10:29:12 2008 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: (52 commits) md: Protect access to mddev->disks list using RCU md: only count actual openers as access which prevent a 'stop' md: linear: Make array_size sector-based and rename it to array_sectors. md: Make mddev->array_size sector-based. md: Make super_type->rdev_size_change() take sector-based sizes. md: Fix check for overlapping devices. md: Tidy up rdev_size_store a bit: md: Remove some unused macros. md: Turn rdev->sb_offset into a sector-based quantity. md: Make calc_dev_sboffset() return a sector count. md: Replace calc_dev_size() by calc_num_sectors(). md: Make update_size() take the number of sectors. md: Better control of when do_md_stop is allowed to stop the array. md: get_disk_info(): Don't convert between signed and unsigned and back. md: Simplify restart_array(). md: alloc_disk_sb(): Return proper error value. md: Simplify sb_equal(). md: Simplify uuid_equal(). md: sb_equal(): Fix misleading printk. md: Fix a typo in the comment to cmd_match(). ... commit 519f0141f1c42e2b8b59c7dea005cbf6095358e8 Merge: f8b71a3... 908cf4b... Author: Linus Torvalds Date: Mon Jul 21 10:27:31 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: (48 commits) Input: add switch for dock events Input: add microphone insert switch definition Input: i8042 - add Arima-Rioworks HDAMB board to noloop list Input: sgi_btns - add support for SGI Indy volume buttons Input: add option to disable HP SDC driver Input: serio - trivial documentation fix Input: add new serio driver for Xilinx XPS PS2 IP Input: add driver for Tabletkiosk Sahara TouchIT-213 touchscreen Input: new driver for SGI O2 volume buttons Input: yealink - reliably kill urbs Input: q40kbd - make q40kbd_lock static Input: gtco - eliminate early return Input: i8042 - add Dritek quirk for Acer Aspire 5720 Input: usbtouchscreen - ignore eGalax screens supporting HID protocol Input: i8042 - add Medion NAM 2070 to noloop blacklist Input: i8042 - add Gericom Bellagio to nomux blacklist Input: i8042 - add Acer Aspire 1360 to nomux blacklist Input: hp_sdc_mlc.c - make a struct static Input: hil_mlc.c - make code static Input: wistron - generate normal key event if bluetooth or wifi not present ... commit 5547cd0ae8b46db9a084505239294eed9b8c8e2d Author: Patrick McHardy Date: Mon Jul 21 10:03:49 2008 -0700 netfilter: nf_conntrack_sctp: fix sparse warnings Introduced by a258860e (netfilter: ctnetlink: add full support for SCTP to ctnetlink): net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: incorrect type in argument 1 (different base types) net/netfilter/nf_conntrack_proto_sctp.c:483:2: expected unsigned int [unsigned] [usertype] x net/netfilter/nf_conntrack_proto_sctp.c:483:2: got restricted unsigned int const net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:483:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: incorrect type in argument 1 (different base types) net/netfilter/nf_conntrack_proto_sctp.c:487:2: expected unsigned int [unsigned] [usertype] x net/netfilter/nf_conntrack_proto_sctp.c:487:2: got restricted unsigned int const net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:487:2: warning: cast from restricted type net/netfilter/nf_conntrack_proto_sctp.c:532:42: warning: incorrect type in assignment (different base types) net/netfilter/nf_conntrack_proto_sctp.c:532:42: expected restricted unsigned int net/netfilter/nf_conntrack_proto_sctp.c:532:42: got unsigned int net/netfilter/nf_conntrack_proto_sctp.c:534:39: warning: incorrect type in assignment (different base types) net/netfilter/nf_conntrack_proto_sctp.c:534:39: expected restricted unsigned int net/netfilter/nf_conntrack_proto_sctp.c:534:39: got unsigned int Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c71529e42ce39c167dc53430cb8f3d5634af77df Author: Herbert Xu Date: Mon Jul 21 10:03:23 2008 -0700 netfilter: nf_nat_sip: c= is optional for session According to RFC2327, the connection information is optional in the session description since it can be specified in the media description instead. My provider does exactly that and does not provide any connection information in the session description. As a result the new kernel drops all invite responses. This patch makes it optional as documented. Signed-off-by: Herbert Xu Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit db1a75bdcc1766dc7e1fae9201ae287dcbcb6c66 Author: Jan Engelhardt Date: Mon Jul 21 10:02:59 2008 -0700 netfilter: xt_TCPMSS: collapse tcpmss_reverse_mtu{4,6} into one function Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 72961ecf84d67d6359a1b30f9b2a8427f13e1e71 Author: Eric Leblond Date: Mon Jul 21 10:02:35 2008 -0700 netfilter: nfnetlink_log: send complete hardware header This patch adds some fields to NFLOG to be able to send the complete hardware header with all necessary informations. It sends to userspace: * the type of hardware link * the lenght of hardware header * the hardware header Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 280763c053fee297d95b474f2c145990670371e6 Author: David Howells Date: Mon Jul 21 10:02:12 2008 -0700 netfilter: xt_time: fix time's time_mt()'s use of do_div() Fix netfilter xt_time's time_mt()'s use of do_div() on an s64 by using div_s64() instead. This was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f ("[NETFILTER]: x_tables: add xt_time match"). Signed-off-by: David Howells Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 584015727a3b88b46602b20077b46cd04f8b4ab3 Author: Krzysztof Piotr Oledzki Date: Mon Jul 21 10:01:34 2008 -0700 netfilter: accounting rework: ct_extend + 64bit counters (v4) Initially netfilter has had 64bit counters for conntrack-based accounting, but it was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are still required, for example for "connbytes" extension. However, 64bit counters waste a lot of memory and it was not possible to enable/disable it runtime. This patch: - reimplements accounting with respect to the extension infrastructure, - makes one global version of seq_print_acct() instead of two seq_print_counters(), - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS=n), - makes it possible to enable/disable it at runtime by sysctl or sysfs, - extends counters from 32bit to 64bit, - renames ip_conntrack_counter -> nf_conn_counter, - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT), - set initial accounting enable state based on CONFIG_NF_CT_ACCT - removes buggy IPCT_COUNTER_FILLING event handling. If accounting is enabled newly created connections get additional acct extend. Old connections are not changed as it is not possible to add a ct_extend area to confirmed conntrack. Accounting is performed for all connections with acct extend regardless of a current state of "net.netfilter.nf_conntrack_acct". Signed-off-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 07a7c1070ed382ad4562e3a0d453fd2001d92f7b Author: Krzysztof Piotr Oledzki Date: Mon Jul 21 10:01:14 2008 -0700 netlink: add NLA_PUT_BE64 macro Add NLA_PUT_BE64 macro required for 64bit counters in netfilter Signed-off-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0dbff689c2f299e8f63911247925f2728d087688 Author: Changli Gao Date: Mon Jul 21 10:00:51 2008 -0700 netfilter: nf_nat_core: eliminate useless find_appropriate_src for IP_NAT_RANGE_PROTO_RANDOM Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ae6134bdf3197206fba95563d755d2fa50d90ddd Author: Micah Dowty Date: Mon Jul 21 09:59:09 2008 -0700 hdlcdrv: Fix CRC calculation. This is a trivial patch against the hdlcdrv module that fixes its CRC calculation. The finished CRC was overwriting the first two bytes of each packet rather than being appended to the end. I've tested this with 2.6.8 and 2.6.10-rc1, but hdlcdrv hasn't changed much recently so it should work with many other kernel versions. Signed-off-by: Micah Dowty Acked-by: Thomas Sailer Signed-off-by: David S. Miller commit d3678b463df73f5060d7420915080e19baeb379b Author: David S. Miller Date: Mon Jul 21 09:56:13 2008 -0700 Revert "pkt_sched: Make default qdisc nonshared-multiqueue safe." This reverts commit a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d. After discussions with Jamal and Herbert on netdev, we should provide at least minimal prioritization at the qdisc level even in multiqueue situations. Signed-off-by: David S. Miller commit 867d79fb9a4d5929ad8335c896fcfe11c3b2ef14 Author: Linus Torvalds Date: Mon Jul 21 09:54:18 2008 -0700 net: In __netif_schedule() use WARN_ON instead of BUG_ON Signed-off-by: David S. Miller commit b6b2fed1f4802b8fcc9d7548a8f785225d38f9a3 Author: David S. Miller Date: Mon Jul 21 09:48:06 2008 -0700 net: Improve simple_tx_hash(). Based upon feedback from Eric Dumazet and Andi Kleen. Cure several deficiencies in simple_tx_hash() by using jhash + reciprocol multiply. 1) Eliminates expensive modulus operation. 2) Makes hash less attackable by using random seed. 3) Eliminates endianness hash distribution issues. Signed-off-by: David S. Miller commit f8b71a3a92d69cb1c9c2162f9235d3dd550e4aa0 Merge: 42a77a1... e4f2506... Author: Linus Torvalds Date: Mon Jul 21 09:40:26 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: (44 commits) sparc: Remove Sparc's asm-offsets for sclow.S sparc64: Update defconfig. sparc64: Add Niagara2 RNG driver. sparc64: Add missing hypervisor service group numbers. sparc64: Remove 4MB and 512K base page size options. sparc64: Convert to generic helpers for IPI function calls. sparc: Use new '%pS' infrastructure to print symbols. sparc32: fix init.c allnoconfig build error sparc64: Config category "Processor type and features" absent sparc: arch/sparc/kernel/apc.c to unlocked_ioctl sparc: join the remaining header files sparc: merge header files with trivial differences sparc: when header files are equal use asm-sparc version sparc: copy sparc64 specific files to asm-sparc sparc: Merge asm-sparc{,64}/asi.h sparc: export openprom.h to userspace sparc: Merge asm-sparc{,64}/types.h sparc: Merge asm-sparc{,64}/termios.h sparc: Merge asm-sparc{,64}/termbits.h sparc: Merge asm-sparc{,64}/setup.h ... commit 42a77a1b8fe4fd78cf8d8fccbaac918bbe888192 Author: Wang Chen Date: Mon Jul 21 17:48:59 2008 +0800 Fix istallion build failure Commits b02f5ad6a3ff5a1ee2a7b8ec6eee338de553b060 ("istallion: use tty_port") and a352def21a642133758b868c71bee12ab34ad5c5 ("tty: Ldisc revamp") broke the istallion driver. Fix the compile error and silence a warning. Signed-off-by: Wang Chen Signed-off-by: Linus Torvalds commit c3ee84163e5bc0dc2e1ccf1d3fc412debca73bab Author: Daniel Lezcano Date: Mon Jul 21 09:18:07 2008 -0700 pkt_sched: Remove unused variable skb in dev_deactivate_queue function. Removed unused variable 'skb' in the dev_deactivate_queue function Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit fd24c4af6e82231391fa09875ae6378fa1399f0f Author: David S. Miller Date: Mon Jul 21 08:34:49 2008 -0700 sunhme: Remove stop/wake TX queue calls in set-multicast-list handler. Based upon a bug report by Alexander Beregalov and commentary from Ben Hutchings. These are totally unnecessary, in particular because this driver's ->hard_start_xmit() handler takes the same driver spinlock that the set-multicast-list handler uses. Signed-off-by: David S. Miller commit ebbdbd7c02f4f8dea84e2956aa942bd18e1ddf93 Author: Anton Vorontsov Date: Mon Jul 21 08:30:36 2008 -0700 ucc_geth: do not touch net queue in adjust_link phylib callback If the net queue has not been started, we'll get this nice oops and non-working ethernet: ------------[ cut here ]------------ Kernel BUG at c01f4648 [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] MPC836x RDK Modules linked in: NIP: c01f4648 LR: c01c0a10 CTR: c01c08e4 REGS: cf839e40 TRAP: 0700 Not tainted (2.6.26-05254-gc7b9969) MSR: 00021032 CR: 22042044 XER: 00000000 TASK = cf828c30[4] 'events/0' THREAD: cf838000 GPR00: c01c0a10 cf839ef0 cf828c30 c035ceb0 cf8469a0 00000064 00000000 00000000 GPR08: c035ceb0 00000001 00000001 cf99c280 22044044 7ca81020 0fffc000 00000000 GPR16: 0fff2544 0fff63c0 00000000 0fff78e0 0ffa5580 00000004 00000000 00000000 GPR24: 02082000 cf9d0000 d1068000 00009032 cf846800 cf846b80 00000001 00000014 NIP [c01f4648] __netif_schedule+0x28/0x8c LR [c01c0a10] adjust_link+0x12c/0x1e4 Call Trace: [cf839ef0] [c0380f50] 0xc0380f50 (unreliable) [cf839f10] [c01c0a10] adjust_link+0x12c/0x1e4 [cf839f40] [c01c2628] phy_state_machine+0x2e0/0x448 [cf839f60] [c00425e8] run_workqueue+0xc8/0x168 [cf839f90] [c0042c6c] worker_thread+0x70/0xd0 [cf839fd0] [c0046954] kthread+0x48/0x84 [cf839ff0] [c0012488] kernel_thread+0x44/0x60 Instruction dump: 7c0803a6 4e800020 3d20c036 9421ffe0 7c0802a6 7c681b78 3929ceb0 7c694a78 7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028 ---[ end trace a57d367843bd2904 ]--- Since the driver is using phylib (which is doing netif_carrier_on/off()), we should simply remove netif_tx_schedule_all() from adjust_link(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit afc079465e991ffb7fe197d1ad80eb8140e2c341 Author: Anton Vorontsov Date: Mon Jul 21 08:29:54 2008 -0700 gianfar: do not touch net queue in adjust_link phylib callback If the net queue has not been started, we'll get this nice oops and non-working ethernet: PHY: 0:01 - Link is Up - 1000/Full ------------[ cut here ]------------ kernel BUG at net/core/dev.c:1328! Oops: Exception in kernel mode, sig: 5 [#1] MPC837x RDB Modules linked in: NIP: c02544a0 LR: c01a17d0 CTR: c01a16ac REGS: cf837e40 TRAP: 0700 Not tainted (2.6.26-05253-g14b395e) MSR: 00021032 CR: 22042044 XER: 00000000 TASK = cf819400[5] 'events/0' THREAD: cf836000 GPR00: c01a17d0 cf837ef0 cf819400 c03d8d08 cf8469a0 00000064 00000000 00000000 GPR08: c03d8d08 00000001 00000001 cf899ba0 22044044 00000000 0fffd000 00000000 GPR16: 0fff3028 0fff6cf0 00000000 0fff8390 0ff494a0 00000004 00000000 00000000 GPR24: c0361a00 00001058 cf9f6600 00009032 cf846800 cf846b80 00000001 00000014 NIP [c02544a0] __netif_schedule+0x28/0x8c LR [c01a17d0] adjust_link+0x124/0x1cc Call Trace: [cf837ef0] [c03fb3a0] 0xc03fb3a0 (unreliable) [cf837f10] [c01a17d0] adjust_link+0x124/0x1cc [cf837f40] [c01a8e28] phy_state_machine+0x2e0/0x448 [cf837f60] [c0040254] run_workqueue+0xc8/0x168 [cf837f90] [c00408d8] worker_thread+0x70/0xd0 [cf837fd0] [c0044630] kthread+0x48/0x84 [cf837ff0] [c0012610] kernel_thread+0x44/0x60 Instruction dump: 7c0803a6 4e800020 3d20c03e 9421ffe0 7c0802a6 7c681b78 39298d08 7c694a78 7d290034 90010024 bfa10014 5529d97e <0f090000> 39600002 38030024 7d200028 ---[ end trace 13dfd73ee42d0c30 ]--- Since the driver is using phylib (which is doing netif_carrier_on/off()), we should simply remove netif_tx_schedule_all() from adjust_link(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 39d48157ac1a0ff3ec81212e5451bfd1bf5f50db Author: David S. Miller Date: Mon Jul 21 08:28:37 2008 -0700 atl1: Do not wake queue before queue has been started. Based upon a bug report by Alexey Dobriyan, the patch is also tested by him and confirmed to fix the problem. Packet flow during link state events should not be done by waking and stopping the TX queue anyways, that is handled transparently by netif_carrier_{on,off}(). So, remove the netif_{wake,stop}_queue() calls in the link check code, and add the necessary netif_start_queue() call to atl1_up(). Signed-off-by: David S. Miller commit eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0 Merge: c4762ab... 14b395e... Author: Ingo Molnar Date: Mon Jul 21 17:19:50 2008 +0200 Merge branch 'linus' into cpus4096-for-linus Conflicts: net/sunrpc/svc.c Signed-off-by: Ingo Molnar commit 2e2dcc7631e331cf2e8396ce452e7f01e35f1182 Merge: acee709... 1c29dd9... Author: Ingo Molnar Date: Mon Jul 21 16:45:56 2008 +0200 Merge branch 'x86/paravirt-spinlocks' into x86/for-linus commit acee709cab689ec7703770e8b8cb5cc3a4abcb31 Merge: 33a37eb... 5ff4789... 35b6805... c4dc59a... 7edf889... 9781f39... 48fe4a7... be54f9d... 77e4424... caadbdc... 5e5a29b... e3a61b0... fec0962... fab3b58... f2ba939... 48ae744... 3cabf37... 7019cc2... 2ddf9b7... e66d90f... Author: Ingo Molnar Date: Mon Jul 21 16:37:17 2008 +0200 Merge branches 'x86/urgent', 'x86/amd-iommu', 'x86/apic', 'x86/cleanups', 'x86/core', 'x86/cpu', 'x86/fixmap', 'x86/gart', 'x86/kprobes', 'x86/memtest', 'x86/modules', 'x86/nmi', 'x86/pat', 'x86/reboot', 'x86/setup', 'x86/step', 'x86/unify-pci', 'x86/uv', 'x86/xen' and 'xen-64bit' into x86/for-linus commit e66d90fb4abd0a27ee96f57a32fb561221c4d6ae Merge: 55ca089... 14b395e... Author: Ingo Molnar Date: Mon Jul 21 15:06:09 2008 +0200 Merge branch 'linus' into xen-64bit commit 1c29dd9a9e2f83ffb02e50bb3619c3b9db8fd526 Merge: 3217256... 14b395e... Author: Ingo Molnar Date: Mon Jul 21 15:05:58 2008 +0200 Merge branch 'linus' into x86/paravirt-spinlocks commit bf20e740a4bcc686de02e2fd1c1810a58872f46e Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:51 2008 -0300 ACPI: thinkpad-acpi: don't misdetect in get_thinkpad_model_data() on -ENOMEM Explicitly check for memory allocation failures, and return status to indicate that we could not collect data due to errors. This lets the driver have a far more predictable failure mode on ENOMEM in that codepath: it will refuse to load. This is far better than trying to proceed with missing data which is used to detect quirks, etc. Signed-off-by: Henrique de Moraes Holschuh commit 490673dc98adfc7de1703cc88508902bd10f446b Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:51 2008 -0300 ACPI: thinkpad-acpi: bump up version to 0.21 rfkill support deserves a new version checkpoint... Signed-off-by: Henrique de Moraes Holschuh commit 0e74dc2646db04b644faa8ea10ff4f408d55cf90 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:51 2008 -0300 ACPI: thinkpad-acpi: add bluetooth and WWAN rfkill support Add a read/write rfkill interface to the bluetooth radio switch on the bluetooth submodule, and one for the wireless wan radio switch to the wan submodule. Since rfkill does care for when a switch changes state, use WLSW notifications to also check if the WWAN or Bluetooth switches did not change state (due to them being slaves of WLSW in firmware/hardware, but that reality not being always properly exported by the thinkpad firmware). Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: John W. Linville commit 133ec3bd3ae409895eacdce326cdc8d73c249e8a Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:50 2008 -0300 ACPI: thinkpad-acpi: WLSW overrides other rfkill switches On ThinkPads where the WLSW switch exists, the firmware or the hardware ANDs the WLSW state with the device-specific switches (WWAN, Bluetooth). It is downright impossible to enable WWAN or Bluetooth when WLSW is blocking the radios. This reality does not necessarily carry over to the WWAN and Bluetooth firmware interfaces, though... so the state thinkpad-acpi was reporting could be incorrect. Tie the three switches in the driver so that we keep their state sane. When WLSL is off, force the other switches to off as well. Signed-off-by: Henrique de Moraes Holschuh commit 07431ec82bf9dc74b470a1d820b41c92c4d86e6f Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:50 2008 -0300 ACPI: thinkpad-acpi: prepare for bluetooth and wwan rfkill support Get rid of some forward definitions by moving code around, this will make the rfkill conversion of wwan and bluetooth a bit cleaner. Signed-off-by: Henrique de Moraes Holschuh commit 733e27c1cc86afae2d9481838693661b3d839950 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:49 2008 -0300 ACPI: thinkpad-acpi: consolidate wlsw notification function Rename tpacpi_input_send_radiosw() to tpacpi_send_radiosw_update(), and make it a central point to issue "radio switch changed state" notifications by consolidating also the poll() notification in the same function. Signed-off-by: Henrique de Moraes Holschuh commit 3a87208028ef59215a88a143c723ac0b83c11df0 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 09:15:49 2008 -0300 ACPI: thinkpad-acpi: minor refactor on radio switch init Change the code of hotkey_init, wan_init and bluetooth_init a bit to make it much easier to add some Kconfig-selected debugging code later. Signed-off-by: Henrique de Moraes Holschuh commit 7edf8891ad7aef5f4e97991fed6fb0e605e96ea0 Author: Yinghai Lu Date: Mon Jul 21 01:39:03 2008 -0700 x86: remove extra calling to get ext cpuid level Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9175fc06aee79c349790672178d3fd7507d75c86 Author: Yinghai Lu Date: Mon Jul 21 01:38:14 2008 -0700 x86: use setup_clear_cpu_cap() when disabling the lapic ... so don't need to call clear_cpu_cap again in early_identify_cpu, and could use cleared_cpu_caps like other places. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d41e26b901111f4e540aa2c27ec7a1681c782be9 Author: Milan Broz Date: Mon Jul 21 12:00:40 2008 +0100 dm crypt: add merge This patch implements biovec merge function for crypt target. If the underlying device has merge function defined, call it. If not, keep precomputed value. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 9980c638a666ecd88acaf0a7ab91043d4a3f44d1 Author: Milan Broz Date: Mon Jul 21 12:00:39 2008 +0100 dm table: remove merge_bvec sector restriction Remove max_sector restriction - merge function replaced it. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 7bc3447b692185c5ea78bee93d0ef1dee2fd7ce7 Author: Milan Broz Date: Mon Jul 21 12:00:38 2008 +0100 dm: linear add merge This patch implements biovec merge function for linear target. If the underlying device has merge function defined, call it. If not, keep precomputed value. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit f6fccb1213ba3d661baeb2a5eee0a9701dc03e1b Author: Milan Broz Date: Mon Jul 21 12:00:37 2008 +0100 dm: introduce merge_bvec_fn Introduce a bvec merge function for device mapper devices for dynamic size restrictions. This code ensures the requested biovec lies within a single target and then calls a target-specific function to check against any constraints imposed by underlying devices. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 92e868122edf08b9fc06b112e7e0c80ab94c1f93 Author: Mikulas Patocka Date: Mon Jul 21 12:00:35 2008 +0100 dm snapshot: use per device mempools Change snapshot per-module mempool to per-device mempool. Per-module mempools could cause a deadlock if multiple snapshot devices are stacked above each other. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a8d41b59f3f5a7ac19452ef442a7fc1b5fa17366 Author: Mikulas Patocka Date: Mon Jul 21 12:00:34 2008 +0100 dm snapshot: fix race during exception creation Fix a race condition that returns incorrect data when a write causes an exception to be allocated whilst a read is still in flight. The race condition happens as follows: * A read to non-reallocated sector in the snapshot is submitted so that the read is routed to the original device. * A write to the original device is submitted. The write causes an exception that reallocates the block. The write proceeds. * The original read is dequeued and reads the wrong data. This race can be triggered with CFQ scheduler and one thread writing and multiple threads reading simultaneously. (This patch relies upon the earlier dm-kcopyd-per-device.patch to avoid a deadlock.) Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit cd45daffd1f7b53aac0835b23e97f814ec3f10dc Author: Mikulas Patocka Date: Mon Jul 21 12:00:32 2008 +0100 dm snapshot: track snapshot reads Whenever a snapshot read gets mapped through to the origin, track it in a per-snapshot hash table indexed by chunk number, using memory allocated from a new per-snapshot mempool. We need to track these reads to avoid race conditions which will be fixed by patches that follow. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit def052d21c4e77975bb75cf212f018ec913f8e2f Author: Alasdair G Kergon Date: Mon Jul 21 12:00:31 2008 +0100 dm mpath: fix test for reinstate_path Fix test for reinstate_path method before attempting to use it. Signed-off-by: Alasdair G Kergon Cc: Julia Lawall commit 148acff615b403168cdf39e55bfcfaa6e4a7d233 Author: Mikulas Patocka Date: Mon Jul 21 12:00:30 2008 +0100 dm mpath: return parameter error Return a specific error message if there are an invalid number of multipath arguments. This invalid command returns an "Unknown error" because the ti->error field is not set dmsetup create --table '0 2 multipath 0 0 1 1 round-robin 0 1 1 /dev/sdh' mpath0 Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 6ae2fa6718c398290be29ef740873640d25058b6 Author: Richard Kennedy Date: Mon Jul 21 12:00:28 2008 +0100 dm io: remove struct padding Rearrange struct dm_io. Shrinks size from 40 -> 32 allowing more objects/slab. Signed-off-by: Richard Kennedy Signed-off-by: Alasdair G Kergon commit c8da2f8dd86d70559ec4e50251f6a755b42bd5b4 Author: Adrian Bunk Date: Mon Jul 21 12:00:27 2008 +0100 dm log: make dm_dirty_log init and exit static dm_dirty_log_{init,exit}() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit 371b2e348b7731a548b0a7432ca2ba32e90dd16f Author: Mikulas Patocka Date: Mon Jul 21 12:00:24 2008 +0100 dm mpath: free path selector on invalid args Free path selector if the arguments are invalid. This command (note that it is invalid) causes reference leak on module "dm_round_robin" and prevents the module from being removed. dmsetup create --table '0 2 multipath 0 0 1 1 round-robin /dev/sdh' mpath0 Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 33a37eb411d193851c334060780ab834ba534292 Author: Ingo Molnar Date: Mon Jul 21 10:57:15 2008 +0200 KVM: fix exception entry / build bug, on 64-bit -tip testing found this build bug: arch/x86/kvm/built-in.o:(.text.fixup+0x1): relocation truncated to fit: R_X86_64_32 against `.text' arch/x86/kvm/built-in.o:(.text.fixup+0xb): relocation truncated to fit: R_X86_64_32 against `.text' arch/x86/kvm/built-in.o:(.text.fixup+0x15): relocation truncated to fit: R_X86_64_32 against `.text' arch/x86/kvm/built-in.o:(.text.fixup+0x1f): relocation truncated to fit: R_X86_64_32 against `.text' arch/x86/kvm/built-in.o:(.text.fixup+0x29): relocation truncated to fit: R_X86_64_32 against `.text' Introduced by commit 4ecac3fd. The problem is that 'push' will default to 32-bit, which is not wide enough as a fixup address. (and which would crash on any real fixup event even if it was wide enough) Introduce KVM_EX_PUSH to get the proper address push width on 64-bit too. Signed-off-by: Ingo Molnar commit e27772b48df91a954a74b1411b57d83b945a58c7 Merge: d092633... 14b395e... Author: Ingo Molnar Date: Mon Jul 21 11:02:45 2008 +0200 Merge branch 'linus' into x86/urgent commit 4b80991c6cb9efa607bc4fd6f3ecdf5511c31bb0 Author: NeilBrown Date: Mon Jul 21 17:05:25 2008 +1000 md: Protect access to mddev->disks list using RCU All modifications and most access to the mddev->disks list are made under the reconfig_mutex lock. However there are three places where the list is walked without any locking. If a reconfig happens at this time, havoc (and oops) can ensue. So use RCU to protect these accesses: - wrap them in rcu_read_{,un}lock() - use list_for_each_entry_rcu - add to the list with list_add_rcu - delete from the list with list_del_rcu - delay the 'free' with call_rcu rather than schedule_work Note that export_rdev did a list_del_init on this list. In almost all cases the entry was not in the list anymore so it was a no-op and so safe. It is no longer safe as after list_del_rcu we may not touch the list_head. An audit shows that export_rdev is called: - after unbind_rdev_from_array, in which case the delete has already been done, - after bind_rdev_to_array fails, in which case the delete isn't needed. - before the device has been put on a list at all (e.g. in add_new_disk where reading the superblock fails). - and in autorun devices after a failure when the device is on a different list. So remove the list_del_init call from export_rdev, and add it back immediately before the called to export_rdev for that last case. Note also that ->same_set is sometimes used for lists other than mddev->list (e.g. candidates). In these cases rcu is not needed. Signed-off-by: NeilBrown commit f2ea68cf42aafdd93393b6b8b20fc3c2b5f4390c Author: NeilBrown Date: Mon Jul 21 17:05:25 2008 +1000 md: only count actual openers as access which prevent a 'stop' Open isn't the only thing that increments ->active. e.g. reading /proc/mdstat will increment it briefly. So to avoid false positives in testing for concurrent access, introduce a new counter that counts just the number of times the md device it open. Signed-off-by: NeilBrown commit d6e2215052810678bc9782fd980b52706fc71f50 Author: Andre Noll Date: Mon Jul 21 17:05:25 2008 +1000 md: linear: Make array_size sector-based and rename it to array_sectors. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit f233ea5c9e0d8b95e4283bf6a3436b88f6fd3586 Author: Andre Noll Date: Mon Jul 21 17:05:22 2008 +1000 md: Make mddev->array_size sector-based. This patch renames the array_size field of struct mddev_s to array_sectors and converts all instances to use units of 512 byte sectors instead of 1k blocks. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 908cf4b925e419bc74f3297b2f0e51d6f8a81da2 Merge: 92c4989... 14b395e... Author: Dmitry Torokhov Date: Mon Jul 21 00:55:14 2008 -0400 Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next commit 15f4a5fdf3aa07b53f6a7969664741db5882e485 Author: Andre Noll Date: Mon Jul 21 14:42:12 2008 +1000 md: Make super_type->rdev_size_change() take sector-based sizes. Also, change the type of the size parameter from unsigned long long to sector_t and rename it to num_sectors. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit d07bd3bcc456228b56a790897162a634691fed9b Author: Andre Noll Date: Mon Jul 21 14:42:07 2008 +1000 md: Fix check for overlapping devices. The checks in overlaps() expect all parameters either in block-based or sector-based quantities. However, its single caller passes two rdev->data_offset arguments as well as two rdev->size arguments, the former being sector counts while the latter are measured in 1K blocks. This could cause rdev_size_store() to accept an invalid size from user space. Fix it by passing only sector-based quantities to overlaps(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit d7027458d68b2f1752a28016dcf2ffd0a7e8f567 Author: Neil Brown Date: Sat Jul 12 10:37:50 2008 +1000 md: Tidy up rdev_size_store a bit: - used strict_strtoull in place of simple_strtoull - use my_mddev in place of rdev->mddev (they have the same value) and more significantly, - don't adjust mddev->size to fit, rather reject changes which make rdev->size smaller than mddev->size Adjusting mddev->size is a hangover from bind_rdev_to_array which does a similar thing. But it really is a better design to insist that mddev->size is set as required, then the rdev->sizes are set to allow for that. The previous way invites confusion. Signed-off-by: NeilBrown commit 14b395e35d1afdd8019d11b92e28041fad591b71 Merge: 734b397... 5108b27... Author: Linus Torvalds Date: Sun Jul 20 21:21:46 2008 -0700 Merge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux * 'for-2.6.27' of git://linux-nfs.org/~bfields/linux: (51 commits) nfsd: nfs4xdr.c do-while is not a compound statement nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c lockd: Pass "struct sockaddr *" to new failover-by-IP function lockd: get host reference in nlmsvc_create_block() instead of callers lockd: minor svclock.c style fixes lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock lockd: nlm_release_host() checks for NULL, caller needn't file lock: reorder struct file_lock to save space on 64 bit builds nfsd: take file and mnt write in nfs4_upgrade_open nfsd: document open share bit tracking nfsd: tabulate nfs4 xdr encoding functions nfsd: dprint operation names svcrdma: Change WR context get/put to use the kmem cache svcrdma: Create a kmem cache for the WR contexts svcrdma: Add flush_scheduled_work to module exit function svcrdma: Limit ORD based on client's advertised IRD svcrdma: Remove unused wait q from svcrdma_xprt structure svcrdma: Remove unneeded spin locks from __svc_rdma_free svcrdma: Add dma map count and WARN_ON ... commit 734b397cd14f3340394a8dd3266bec97d01f034b Merge: 702beb8... e6b5163... Author: Linus Torvalds Date: Sun Jul 20 21:19:17 2008 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: gpu: re-order GPU subdirectory vs char for AGP vs DRM startup. commit 702beb87d6b4e08cca394b210679e5d7c2ac9383 Author: David Miller Date: Sun Jul 20 18:17:02 2008 -0700 ipv6: Fix warning in addrconf code. Reported by Linus. Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit d1671a9c15f55a1475d41269494518e348880c33 Merge: ae0645a... 3a682fb... Author: Linus Torvalds Date: Sun Jul 20 21:17:20 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: pkt_sched: Fix build with NET_SCHED disabled. commit ae0645a451b02ad35c520b01177b70ebd59c91ab Merge: f894d18... 99cdb0c... Author: Linus Torvalds Date: Sun Jul 20 21:16:27 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd * 'for-linus' of git://git.o-hand.com/linux-mfd: mfd: let asic3 use mem resource instead of bus_shift mfd: remove DS1WM register definitions from asic3.h mfd: add ASIC3_CONFIG_GPIO templates mfd: fix the asic3 irq demux code mfd: asic3 should depend on gpiolib mfd: fix asic3 config array initialisation mfd: move asic3 probe functions into __init section mfd: Use uppercase only for asic3 macros and defines mfd: use dev_* macros for asic3 debugging mfd: New asic3 gpio configuration code mfd: asic3 children platform data removal mfd: asic3 gpiolib support commit f894d18380e7e7ff05f6622ccb75d2881922c6e9 Merge: d13ff05... d20b274... Author: Linus Torvalds Date: Sun Jul 20 21:14:42 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (277 commits) V4L/DVB (8415): gspca: Infinite loop in i2c_w() of etoms. V4L/DVB (8414): videodev/cx18: fix get_index bug and error-handling lock-ups V4L/DVB (8411): videobuf-dma-contig.c: fix 64-bit build for pre-2.6.24 kernels V4L/DVB (8410): sh_mobile_ceu_camera: fix 64-bit compiler warnings V4L/DVB (8397): video: convert select VIDEO_ZORAN_ZR36060 into depends on V4L/DVB (8396): video: Fix Kbuild dependency for VIDEO_IR_I2C V4L/DVB (8395): saa7134: Fix Kbuild dependency of ir-kbd-i2c V4L/DVB (8394): ir-common: CodingStyle fix: move EXPORT_SYMBOL_GPL to their proper places V4L/DVB (8393): media/video: Fix depencencies for VIDEOBUF V4L/DVB (8392): media/Kconfig: Convert V4L1_COMPAT select into "depends on" V4L/DVB (8390): videodev: add comment and remove magic number. V4L/DVB (8389): videodev: simplify get_index() V4L/DVB (8387): Some cosmetic changes V4L/DVB (8381): ov7670: fix compile warnings V4L/DVB (8380): saa7115: use saa7115_auto instead of saa711x as the autodetect driver name. V4L/DVB (8379): saa7127: Make device detection optional V4L/DVB (8378): cx18: move cx18_av_vbi_setup to av-core.c and rename to cx18_av_std_setup V4L/DVB (8377): ivtv/cx18: ensure the default control values are correct V4L/DVB (8376): cx25840: move cx25840_vbi_setup to core.c and rename to cx25840_std_setup V4L/DVB (8374): gspca: No conflict of 0c45:6011 with the sn9c102 driver. ... commit d13ff0559fea73f237a01669887d2c10e11d7662 Merge: f076ab8... cb7f39d... Author: Linus Torvalds Date: Sun Jul 20 21:14:00 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: (21 commits) [MIPS] Remove unused maltasmp.h. [MIPS] Remove unused saa9730_uart.h. [MIPS] Rename MIPS sys_pipe syscall entry point to something MIPS-specific. [MIPS] 32-bit compat: Delete unused sys_truncate64 and sys_ftruncate64. [MIPS] TXx9: Fix some sparse warnings [MIPS] TXx9: Add 64-bit support [MIPS] TXx9: Cleanups for 64-bit support [MIPS] Cobalt: Fix I/O port resource range [MIPS] don't leak setup_early_printk() in userspace header [MIPS] Remove include/asm-mips/mips-boards/sead{,int}.h [MIPS] Remove asm-mips/mips-boards/atlas{,int}.h [MIPS] mips/sgi-ip22/ip28-berr.c: fix the build [MIPS] TXx9: Miscellaneous build fixes [MIPS] Routerboard 532: Support for base system [MIPS] IP32: Use common SGI button driver [MIPS] IP22: Use common SGI button driver [MIPS] IP22, IP28: Fix merge bug [MIPS] Tinker with constraints in to fix build error. [MIPS] Add missing prototypes to asm/page.h [MIPS] Fix missing prototypes in asm/fpu.h ... commit f076ab8d048f152b968bb1c6313fed88abb037fe Merge: db6d8c7... 597a5f5... Author: Linus Torvalds Date: Sun Jul 20 21:13:26 2008 -0700 Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (70 commits) KVM: Adjust smp_call_function_mask() callers to new requirements KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts KVM: x86 emulator: emulate clflush KVM: MMU: improve invalid shadow root page handling KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction KVM: Prefix some x86 low level function with kvm_, to avoid namespace issues KVM: check injected pic irq within valid pic irqs KVM: x86 emulator: Fix HLT instruction KVM: Apply the kernel sigmask to vcpus blocked due to being uninitialized KVM: VMX: Add ept_sync_context in flush_tlb KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held x86: KVM guest: make kvm_smp_prepare_boot_cpu() static KVM: SVM: fix suspend/resume support KVM: s390: rename private structures KVM: s390: Set guest storage limit and offset to sane values KVM: Fix memory leak on guest exit KVM: s390: dont allocate dirty bitmap KVM: move slots_lock acquision down to vapic_exit KVM: VMX: Fake emulate Intel perfctr MSRs KVM: VMX: Fix a wrong usage of vmcs_config ... commit 3a682fbd732d3d27bec722a923952b0938e8a404 Author: David S. Miller Date: Sun Jul 20 18:13:01 2008 -0700 pkt_sched: Fix build with NET_SCHED disabled. The stab bits can't be referenced uniless the full packet scheduler layer is enabled. Reported by Stephen Rothwell. Signed-off-by: David S. Miller commit db6d8c7a4027b48d797b369a53f8470aaeed7063 Merge: 3a53337... fb65a7c... Author: Linus Torvalds Date: Sun Jul 20 17:43:29 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: (1232 commits) iucv: Fix bad merging. net_sched: Add size table for qdiscs net_sched: Add accessor function for packet length for qdiscs net_sched: Add qdisc_enqueue wrapper highmem: Export totalhigh_pages. ipv6 mcast: Omit redundant address family checks in ip6_mc_source(). net: Use standard structures for generic socket address structures. ipv6 netns: Make several "global" sysctl variables namespace aware. netns: Use net_eq() to compare net-namespaces for optimization. ipv6: remove unused macros from net/ipv6.h ipv6: remove unused parameter from ip6_ra_control tcp: fix kernel panic with listening_get_next tcp: Remove redundant checks when setting eff_sacks tcp: options clean up tcp: Fix MD5 signatures for non-linear skbs sctp: Update sctp global memory limit allocations. sctp: remove unnecessary byteshifting, calculate directly in big-endian sctp: Allow only 1 listening socket with SO_REUSEADDR sctp: Do not leak memory on multiple listen() calls sctp: Support ipv6only AF_INET6 sockets. ... commit 3a533374283aea50eab3976d8a6d30532175f009 Merge: fb6624e... d17ffb4... Author: Linus Torvalds Date: Sun Jul 20 17:37:46 2008 -0700 Merge branch 'for-linus' of git://www.jni.nu/cris * 'for-linus' of git://www.jni.nu/cris: [CRISv10] Clean up compressed/misc.c [CRISv10] Correct whitespace damage. [CRIS] Correct definition of subdirs for install_headers. [CRIS] Correct image makefiles to allow using a separate OBJ-directory. [CRIS] Build fixes for compressed and rescue images for v10 and v32: It looks at least odd to apply spin_unlock to a mutex. cris: compile fixes for 2.6.26-rc5 commit fb6624ebd912e3d6907ca6490248e73368223da9 Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:36 2008 +0200 initrd: Fix virtual/physical mix-up in overwrite test On recent kernels, I get the following error when using an initrd: | initrd overwritten (0x00b78000 < 0x07668000) - disabling it. My Amiga 4000 has 12 MiB of RAM at physical address 0x07400000 (virtual 0x00000000). The initrd is located at the end of RAM: 0x00b78000 - 0x00c00000 (virtual). The overwrite test compares the (virtual) initrd location to the (physical) first available memory location, which fails. This patch converts initrd_start to a page frame number, so it can safely be compared with min_low_pfn. Before the introduction of discontiguous memory support on m68k (12d810c1b8c2b913d48e629e2b5c01d105029839), min_low_pfn was just left untouched by the m68k-specific code (zero, I guess), and everything worked fine. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 18c993629a5a5938a032f04a698d15122550593d Author: Akinobu Mita Date: Thu Jul 17 21:16:35 2008 +0200 dio: use dio_match_device() in dio_bus_match() dio_bus_match() can use dio_match_device(). Signed-off-by: Akinobu Mita Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 93026e217b46b70f9719caf69e716fa3bbe1d20c Author: Julia Lawall Date: Thu Jul 17 21:16:34 2008 +0200 arch/m68k/mm/sun3mmu.c: 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. 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: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 7b6b948fc0d60a704c15b1cd72345a98e759dd62 Author: Julia Lawall Date: Thu Jul 17 21:16:33 2008 +0200 arch/m68k/mm/motorola.c: 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. 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: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3fadd06ebcbff9b0a7c90f68d81250f39bf31db1 Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:32 2008 +0200 m68k/Apollo: remove the unused APOLLO_ELPLUS option Looking at older kernel sources the APOLLO_ELPLUS option was added somewhere during kernel 2.1, but even kernel 2.2.0 does not contain any driver that would be enabled through it... Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 7ccaee5cadd7a771773bbb878e139697511ebdde Author: Adrian Bunk Date: Thu Jul 17 21:16:31 2008 +0200 m68k/Atari: remove the dead ATARI_SCC{,_DMA} options It seems the driver was removed back in kernel 2.3 but the options were forgotten. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 62bc654e794feb5242c31a59dcc36bab64f7d917 Author: Adrian Bunk Date: Thu Jul 17 21:16:30 2008 +0200 m68k/Mac: remove the unused ADB_KEYBOARD option When the driver was removed back in 2002 the option was forgotten. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 635c0a217425f6f37422b85bcc88a7af9efc457c Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:29 2008 +0200 m68k/apollo: Add missing call to apollo_parse_bootinfo() Add the missing call to apollo_parse_bootinfo(), which had been lost from a big Apollo support patch by Peter De Schrijver in 1999. Thanks to Adrian Bunk for noticing! Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a594409a2160070b2185e77b33232cf73a9151a5 Author: Adrian Bunk Date: Thu Jul 17 21:16:28 2008 +0200 m68k: remove stale ARCH_SUN4 #define m68k: remove stale ARCH_SUN4 #define Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 07b8125949de66b6552966de8d4280c3a8620359 Author: Adrian Bunk Date: Thu Jul 17 21:16:27 2008 +0200 m68k/sun3/: possible cleanups This patch contains the following possible cleanups: - make the following needlessly global code static: - config.c: sun3_bootmem_alloc() - config.c: sun3_sched_init() - dvma.c: dvma_page() - idprom.c: struct Sun_Machines[] - mmu_emu.c: struct ctx_alloc[] - sun3dvma.c: iommu_use[] - sun3ints.c: led_pattern[] - remove the unused sbus.c Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 22deb527ce5d13e07652f81a53032aa0214ea8c3 Author: Adrian Bunk Date: Thu Jul 17 21:16:26 2008 +0200 m68k/q40/config.c: make functions static This patch makes the following needlessly global functions static: - q40_reset() - q40_halt() - q40_disable_irqs() - q40_gettimeoffset() - q40_hwclk() - q40_get_ss() - q40_set_clock_mmss() Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8dfbdf4abad6e5a7bbd097bf7e2c0ec41e0c54b4 Author: Adrian Bunk Date: Thu Jul 17 21:16:25 2008 +0200 m68k/mac/: possible cleanups This patch contains the following possible cleanups: - make the following needlessly global code (always) static: - baboon.c: struct baboon - baboon.c: baboon_irq() - config.c: mac_orig_videoaddr - config.c: mac_identify() - config.c: mac_report_hardware() - config.c: mac_debug_console_write() - config.c: mac_sccb_console_write() - config.c: mac_scca_console_write() - config.c: mac_init_scc_port() - oss.c: oss_irq() - oss.c: oss_nubus_irq() - psc.c: psc_debug_dump() - psc.c: psc_dma_die_die_die() - via.c: rbv_clear - remove the unused bootparse.c - #if 0 the following unused functions: - config.c: mac_debugging_short() - config.c: mac_debugging_long() - remove the following unused code: - config.c: mac_bisize - config.c: mac_env - config.c: mac_SCC_init_done - config.c: mac_SCC_reset_done - config.c: mac_init_scca_port() - config.c: mac_init_sccb_port() Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 5575d0a3c9676b2886adad67dd4b2ac126a49f1f Author: Adrian Bunk Date: Thu Jul 17 21:16:24 2008 +0200 m68k/atari/debug.c: possible cleanups This patch contains the following possible cleanups: - make the following needlessly global functions (always) static: - atari_mfp_console_write() - atari_scc_console_write() - atari_midi_console_write() - atari_init_mfp_port() - atari_init_scc_port() - atari_init_midi_port() - #if 0 the following unused functions: - atari_mfp_console_wait_key() - atari_scc_console_wait_key() - atari_midi_console_wait_key() - remove the following unused variables: - atari_MFP_init_done - atari_SCC_init_done Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 0795dbcc4c4c93a929463957993c04cf5fec346c Author: Adrian Bunk Date: Thu Jul 17 21:16:23 2008 +0200 m68k/amiga/: possible cleanups This patch contains the following possible cleanups: - amiints.c: add a proper prototype for amiga_init_IRQ() in include/asm-m68k/amigaints.h - make the following needlessly global code static: - config.c: amiga_model - config.c: amiga_psfreq - config.c: amiga_serial_console_write() - #if 0 the following unused functions: - config.c: amiga_serial_puts() - config.c: amiga_serial_console_wait_key() - config.c: amiga_serial_gets() - remove the following unused variable: - config.c: amiga_masterclock Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 880e5e212ec5ab12411e40c78bd5ac501e9caeed Author: Adrian Bunk Date: Thu Jul 17 21:16:22 2008 +0200 export c2p This patch fixes the following build error: <-- snip --> .. Building modules, stage 2. MODPOST 1203 modules ERROR: "c2p" [drivers/video/amifb.ko] undefined! .. make[2]: *** [__modpost] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8468afc039f03837066132be14cdd9e5fa726f0b Author: Adrian Bunk Date: Thu Jul 17 21:16:21 2008 +0200 export amiga_vblank This patch fixes the following build error: <-- snip --> .. Building modules, stage 2. MODPOST 1203 modules ERROR: "amiga_vblank" [drivers/video/amifb.ko] undefined! .. make[2]: *** [__modpost] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8b54b6135a3e6d6e7c7967de7b408fd89afb0333 Author: Adrian Bunk Date: Thu Jul 17 21:16:20 2008 +0200 drivers/video/c2p.c: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit da8513c9b84317d1a2071644b6ccf734463d4849 Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:19 2008 +0200 atafb: Register Atari-specific video modes with sysfs Register the Atari-specific video modes with sysfs, so you can see them in /sys/class/graphics/fb0/modes and change the video mode by writing to /sys/class/graphics/fb0/mode. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit db3e5289f51b5d02767fa2951d5f0375efdba35c Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:18 2008 +0200 amifb: Register Amiga-specific video modes with sysfs Register the Amiga-specific video modes with sysfs, so you can see them in /sys/class/graphics/fb0/modes and change the video mode by writing to /sys/class/graphics/fb0/mode. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit fa7f28939634c2ea36817a0c3dbd8d84972c1488 Author: akinobu.mita@gmail.com Date: Thu Jul 17 21:16:17 2008 +0200 zorro: use memory_read_from_buffer zorro: use memory_read_from_buffer Signed-off-by: Akinobu Mita Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a6a26a3e652671a783563f1e9697c68bd19c40fc Author: Robert P. J. Day Date: Thu Jul 17 21:16:16 2008 +0200 ZORRO: Replace deprecated __initcall with equivalent device_initcall. ZORRO: Replace deprecated __initcall with equivalent device_initcall. Signed-off-by: Robert P. J. Day Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d33b4432e634246eef00ef4d425939c253f70dd6 Author: Adrian Bunk Date: Thu Jul 17 21:16:15 2008 +0200 m68k: remove AP1000 code Unless I miss something that's code for a sparc machine even the sparc code no longer supports that got copied to m68k when these files were copied. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit b739912efc02f80cc4dc5eaef07e5bc7eafee1b0 Author: Adrian Bunk Date: Thu Jul 17 21:16:14 2008 +0200 m68k: make multi_defconfig the default defconfig It seems to match the intention behind multi_defconfig to make it the default defconfig. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a0c14d28df8fcf939a8efd9332ace164e9f931fb Author: Mathieu Desnoyers Date: Thu Jul 17 21:16:13 2008 +0200 Stringify support commas > This is a no-no for those archs that still use -traditional. > > I dunno if this is a problem for you at the moment and the > > right fix is anyway to nuke -traditional. > > > > Sam Signed-off-by: Mathieu Desnoyers Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit edfd92f67eec1bdd905dd7841416eaf945a5b92f Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:12 2008 +0200 m68k: Allow no CPU/platform type for allnoconfig Allow no CPU/platform type for allnoconfig - Provide a dummy value for FPSTATESIZE if no CPU type was selected - Provide a dummy value for NR_IRQS if no platform type was selected - Warn the user if no CPU or platform type was selected Note: you still cannot build an allnoconfig kernel, as CONFIG_SWAP=n doesn't build and we cannot easily fix that (http://groups.google.com/group/linux.kernel/browse_thread/thread/d430c78b07e1827b) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 97d26e73d729c8d967bc5eb9086321956c444dd4 Author: Cyrill Gorcunov Date: Thu Jul 17 21:16:11 2008 +0200 m68k: vmlinux-std/sun3.lds.S cleanup - use PAGE_SIZE macro This patch includes page.h header into linker script that allow us to use PAGE_SIZE macro instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit e945b568e28b42de893ef24989372f0219501d32 Author: Geert Uytterhoeven Date: Thu Jul 17 21:16:10 2008 +0200 m68k: Return -ENODEV if no device is found According to the tests in do_initcalls(), the proper error code in case no device is found is -ENODEV, not -ENXIO or -EIO. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 038eddd9acf34e8202b31af3ee9eb48179114323 Author: Paulius Zaleckas Date: Thu Jul 17 21:16:09 2008 +0200 ariadne: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Geert Uytterhoeven Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit f30828a6745281edda735f642b5f814e1123ecd3 Author: Adrian Bunk Date: Thu Jul 17 21:16:08 2008 +0200 m68k: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit f7df406dce01dfd30d7e0c570a928bcfeff03142 Merge: 5e248ac... a6795e9... Author: Linus Torvalds Date: Sun Jul 20 17:17:52 2008 -0700 Merge branch 'configfs-fixup-ptr-error' of git://oss.oracle.com/git/jlbec/linux-2.6 * 'configfs-fixup-ptr-error' of git://oss.oracle.com/git/jlbec/linux-2.6: configfs: Allow ->make_item() and ->make_group() to return detailed errors. Revert "configfs: Allow ->make_item() and ->make_group() to return detailed errors." commit 5e248ac9a5c465b356b936030d5a2e80887eb266 Author: Thomas Gleixner Date: Fri Jul 18 02:07:02 2008 +0200 APCI: revert another duplicated patch commit d1857056904d5f313f11184fcfa624652ff9620a ("ACPI: don't walk tables if ACPI was disabled") is another superfluous duplicate commit caused by git -> quilt -> git conversion. Revert it. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 392798a17b6afba5928bc577aeb7bc83a1585534 Author: Thomas Gleixner Date: Fri Jul 18 01:11:38 2008 +0200 APCI: revert duplicated patch commit 816c2eda3ce8fa7eb62f22e01e2ec7a3f7d677c0 ("dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled.") was merged between 2.6.26-rc8 and -rc9) Due to rebasing the ACPI tree via quilt the same patch got applied again via commit cc7e51666d82aedfd6b9a033ca1a10d71c21f1ca ("dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled.") Revert it, as it is obviously bogus. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 4e4f64da58bc71a139722bb5013adda0f7ca4e78 Author: Alan Cox Date: Wed Jul 16 21:57:28 2008 +0100 Fix strip driver back up for ldisc/tty changes Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 44b7d1b37f786c61d0e382b6f72f605f73de284b Author: Alan Cox Date: Wed Jul 16 21:57:18 2008 +0100 tty: add more tty_port fields Move more bits into the tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 593573bc55c9e1999b9679da4e477c0220a6fbbd Author: Alan Cox Date: Wed Jul 16 21:57:10 2008 +0100 termios: Termios defines for other platforms Fix up the termios of the people who have not yet got with the program Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 77451e53e0a509a98eda272567869cfe96431ba9 Author: Alan Cox Date: Wed Jul 16 21:57:02 2008 +0100 cyclades: use tty_port Switch cyclades to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ae67751785dae388beb31fc24d14870d0d4669d9 Author: Alan Cox Date: Wed Jul 16 21:56:54 2008 +0100 tty: Clean up tiocmset Reverse the order of one test and it gets much more readable Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8fb06c771399b8d51d724756411108e9abe2a85a Author: Alan Cox Date: Wed Jul 16 21:56:46 2008 +0100 synclink: use tty_port Switch the synclink ports to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f8ae47641611fcdf175ab8bbe89054731b16971d Author: Alan Cox Date: Wed Jul 16 21:56:37 2008 +0100 stallion: use tty_port Switch the stallion driver to use the tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b1d1619b4a53072f19e41b1def71fd223fc5d780 Author: Haavard Skinnemoen Date: Wed Jul 16 21:56:29 2008 +0100 atmel_serial: Fix tty_port breakage The tty pointer has been moved into a tty_port field, so we need to use ->info->port.tty instead of just ->info->tty. Fixes these build errors: David Brownell wrote: > drivers/serial/atmel_serial.c: In function 'atmel_rx_from_ring': > drivers/serial/atmel_serial.c:665: error: 'struct uart_info' has no member named 'tty' > drivers/serial/atmel_serial.c: In function 'atmel_rx_from_dma': > drivers/serial/atmel_serial.c:672: error: 'struct uart_info' has no member named 'tty' > drivers/serial/atmel_serial.c: In function 'atmel_startup': > drivers/serial/atmel_serial.c:797: error: 'struct uart_info' has no member named 'tty' > make[2]: *** [drivers/serial/atmel_serial.o] Error 1 Signed-off-by: Haavard Skinnemoen Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e60a10844879794c7b592acf123cbf9ea0e2c0e7 Author: Alan Cox Date: Wed Jul 16 21:56:18 2008 +0100 rocket: use tty_port Switch the rocketport to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0ad9e7d1d6bf7829912be50d24d4f3f473006326 Author: Alan Cox Date: Wed Jul 16 21:56:10 2008 +0100 mxser: use tty_port Switch mxser to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9de6a51fee08f9e7020074738150441305e83af2 Author: Alan Cox Date: Wed Jul 16 21:56:02 2008 +0100 moxa: use tty_port Switch MOXA to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b02f5ad6a3ff5a1ee2a7b8ec6eee338de553b060 Author: Alan Cox Date: Wed Jul 16 21:55:53 2008 +0100 istallion: use tty_port Switch istallion to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f1d03228ea85877584d41bccf62841e7ca47043c Author: Alan Cox Date: Wed Jul 16 21:55:45 2008 +0100 isicom: use tty_port Switch isicom to use a tty_port structure for some fields Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d99101fda034922d5ecaa735910e9930f076325f Author: Alan Cox Date: Wed Jul 16 21:55:37 2008 +0100 riscom8: remove bogus checks Chris Malley posted a patch removing a NULL check in the riscom8 driver. Further analysis shows that even more of the tests are irrelevant so we can delete lots of stuff Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 85f8f81052eeb3eac1242731a8777caacfef0aa9 Author: Alan Cox Date: Wed Jul 16 21:55:29 2008 +0100 riscom8: use tty_port Switch riscom8 to use the new tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b5391e29f428d11755ca2c91074c6db6f5c69d7c Author: Alan Cox Date: Wed Jul 16 21:55:20 2008 +0100 gs: use tty_port Switch drivers using the old "generic serial" driver to use the tty_port structures Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4982d6b37a5ccebe6c2af79970c7a15c1939243a Author: Alan Cox Date: Wed Jul 16 21:55:11 2008 +0100 esp: use tty_port Switch esp to use the new tty_port structures Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 52d417388d154f68f8ab753de03b1fba1814de81 Author: Alan Cox Date: Wed Jul 16 21:55:02 2008 +0100 epca: use tty_port Switch the EPCA driver to include and begin using a tty_port structure Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7a4d29f426f17479395980ded8fa5e3bdd6d94e4 Author: Alan Cox Date: Wed Jul 16 21:54:54 2008 +0100 tty.h: clean up Coding style clean up and white space tidy Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a88487c79bfefb715030c5baa68fbedc1b8732e8 Author: Takashi Iwai Date: Wed Jul 16 21:54:42 2008 +0100 Fix compile errors in SGI console drivers (linux-next tree) The below is the patch to replace blindly all possible places, including Jack's fixes. Signed-off-by: Takashi Iwai (Reviewed and checked rather than blindly added) Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b1ca7e7a0b35874b2a9cae60f8f5b78df575faa7 Author: Jack Steiner Date: Wed Jul 16 21:54:31 2008 +0100 - Fix compile errors in SGI console drivers (linux-next tree) Fix compile errors in SGI console drivers caused by changes to the tty_port structures in the linux-next tree. Signed-off-by: Jack Steiner Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 87c25ef0a41ad7a8249cd3009bf65deb700d4ee3 Author: Stephen Rothwell Date: Wed Jul 16 21:54:22 2008 +0100 ttydev: fix pamc_zilog for tty pointer move Today's linux-next build (powerpc allyesconfig) failed like this: drivers/serial/pmac_zilog.c: In function 'pmz_receive_chars': drivers/serial/pmac_zilog.c:245: error: 'struct uart_info' has no member named 'tty' drivers/serial/pmac_zilog.c:250: error: 'struct uart_info' has no member named 'tty' I applied the patch below (which builds but may, or may not, be correct). -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ Signed-off-by: Stephen Rothwell Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2f7a697a13a189a7ef43a9b6bfc3fc6e359d96fb Author: Stephen Rothwell Date: Wed Jul 16 21:54:11 2008 +0100 ttydev: fix pamc_zilog for tty pointer move Today's linux-next build (sparc64 defconfig) failed like this: drivers/serial/sunhv.c: In function `receive_chars': drivers/serial/sunhv.c:188: error: structure has no member named `tty' drivers/serial/sunsu.c: In function `receive_chars': drivers/serial/sunsu.c:314: error: structure has no member named `tty' drivers/serial/sunsab.c: In function `receive_chars': drivers/serial/sunsab.c:121: error: structure has no member named `tty' I applied the following patch (which, again, may not be correct). Signed-off-by: Stephen Rothwell Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 34492b5834ede63d896c93ccba9a4657a8435dc2 Author: David Howells Date: Wed Jul 16 21:54:01 2008 +0100 MN10300: Fix MN10300's serial port driver to get at its tty_struct Fix MN10300's serial port driver to get at its tty_struct as this moved from struct uart_info into struct tty_port in patch: Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit df4f4dd429870f435f8d5d9d561db029a29f063b Author: Alan Cox Date: Wed Jul 16 21:53:50 2008 +0100 serial: use tty_port Switch the serial_core based drivers to use the new tty_port structure. We can't quite use all of it yet because of the dynamically allocated extras in the serial_core layer. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6f67048cd010afe19d79d821f16055d9c704c6f0 Author: Alan Cox Date: Wed Jul 16 21:53:41 2008 +0100 tty: Introduce a tty_port common structure Every tty driver has its own concept of a port structure and because they all differ we cannot extract commonality. Begin fixing this by creating a structure drivers can elect to use so that over time we can push fields into this and create commonality and then introduce common methods. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d87a6d951c6c09d191d9c10903deb3cc353fcd2c Author: Adrian Bunk Date: Wed Jul 16 21:53:31 2008 +0100 drivers/serial/: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time in comments, printk's and MODULE_DESCRIPTION's (no printk's or MODULE_DESCRIPTION's are completely removed). While doing this I also found and fixed a missing \n in a printk in m32r_sio.c Signed-off-by: Adrian Bunk Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 59247ca2fdca9691a6a7df532a830e3a133d9962 Author: Adrian Bunk Date: Wed Jul 16 21:53:22 2008 +0100 drivers/char/rio/: remove VCS tags This patch removes ancient VCS tags (either protected by #ifdef SCCS_LABELS or commented out). Signed-off-by: Adrian Bunk Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a352def21a642133758b868c71bee12ab34ad5c5 Author: Alan Cox Date: Wed Jul 16 21:53:12 2008 +0100 tty: Ldisc revamp Move the line disciplines towards a conventional ->ops arrangement. For the moment the actual 'tty_ldisc' struct in the tty is kept as part of the tty struct but this can then be changed if it turns out that when it all settles down we want to refcount ldiscs separately to the tty. Pull the ldisc code out of /proc and put it with our ldisc code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6 Author: Jiri Slaby Date: Wed Jul 16 21:52:56 2008 +0100 tty: isicom, enable/disable pci device Don't forget to enable and disable PCI devices. The device might be unusable without that. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9afd561acabe5059ff16d163a176e2350269aba5 Author: Haavard Skinnemoen Date: Wed Jul 16 21:52:46 2008 +0100 Subject: [PATCH 2/2] atmel_serial: Implement flush_buffer() hook Avoid dumping garbage to the serial port when the tty is flushed. This tends to happen when rebooting from a serial console. Signed-off-by: Haavard Skinnemoen Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 6bb0e3a59a089e23eecc0af3b6f6012b2a9affba Author: Haavard Skinnemoen Date: Wed Jul 16 21:52:36 2008 +0100 Subject: [PATCH 1/2] serial: Add flush_buffer() operation to uart_ops Serial drivers using DMA (like the atmel_serial driver) tend to get very confused when the xmit buffer is flushed and nobody told them. They also tend to spew a lot of garbage since the DMA engine keeps running after the buffer is flushed and possibly refilled with unrelated data. This patch adds a new flush_buffer operation to the uart_ops struct, along with a call to it from uart_flush_buffer() right after the xmit buffer has been cleared. The driver can implement this in order to syncronize its internal DMA state with the xmit buffer when the buffer is flushed. Signed-off-by: Haavard Skinnemoen Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 15648f154a8faea97cbe931e189cf0a57fd066f4 Author: Alan Cox Date: Wed Jul 16 21:52:25 2008 +0100 simserial: Fix up for ldisc changes Noted by Tony Luck although I've done the patches differently and also removed some other bogus oddments. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e6b51632b3579d96ce5aa1b3efdeceedd2921a2c Author: Dave Airlie Date: Mon Jul 21 08:42:36 2008 +1000 gpu: re-order GPU subdirectory vs char for AGP vs DRM startup. Signed-off-by: Dave Airlie commit 99cdb0c8c5e0e43652d25951a85bac82a1231591 Author: Philipp Zabel Date: Thu Jul 10 02:17:02 2008 +0200 mfd: let asic3 use mem resource instead of bus_shift The bus_shift parameter in platform_data is not needed as we can tell the driver with the IOMEM_RESOURCE whether the ASIC is located on a 16bit or 32bit memory bus. The htc-egpio driver uses a more descriptive bus_width parameter, but for drivers where the register map size fixed, we don't even need this. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 279cac484e55317456900fe3567c7cb5bd46fd5f Author: Philipp Zabel Date: Thu Jul 10 02:16:27 2008 +0200 mfd: remove DS1WM register definitions from asic3.h There is a dedicated ds1wm driver, no need to duplicate this information here. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 4a67b528e0be5d855b1a7bb71ec769d954765f6c Author: Philipp Zabel Date: Thu Jul 3 12:27:32 2008 +0200 mfd: add ASIC3_CONFIG_GPIO templates As ASIC3 GPIO alternate function configuration is expected to be similar for several devices, it is convenient to define descriptive macros. This patch is inspired by the PXA MFP configuration, the alternate functions were observed on hx4700 and blueangel. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit de0d23c12c42317c273919b597f6822af2102e55 Author: Philipp Zabel Date: Thu Jul 3 11:08:27 2008 +0200 mfd: fix the asic3 irq demux code Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically). Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 30250b457f30ca655d37ad1a1587221ff6eefc91 Author: Samuel Ortiz Date: Tue Jun 24 23:37:09 2008 +0200 mfd: asic3 should depend on gpiolib Now that asic3 implements the gpiolib API, it should depend on it at build time. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 786bef3768a6ea1070526983b20e316c4eacd854 Author: Philipp Zabel Date: Tue Jun 24 01:31:24 2008 +0200 mfd: fix asic3 config array initialisation Our memset length was incorrect. Tested-by: Philipp Zabel Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 065032f61bd9acdb843766da3149de12eaf87c0b Author: Philipp Zabel Date: Sat Jun 21 00:51:38 2008 +0200 mfd: move asic3 probe functions into __init section Potentially free some memory by moving the _probe functions into __init. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 3b8139f8b1457af7b5295d97050b3f9a2545a17a Author: Samuel Ortiz Date: Fri Jun 20 11:12:21 2008 +0200 mfd: Use uppercase only for asic3 macros and defines Let's be consistent and use uppercase only, for both macro and defines. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 24f4f2eef2714bddd6fdb823be53fc2ee69699e0 Author: Samuel Ortiz Date: Fri Jun 20 11:11:19 2008 +0200 mfd: use dev_* macros for asic3 debugging We replace the various printks, and use the dev_* macros instead. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 3b26bf17226f66bfd6cd4e36ac81f83fe994043a Author: Samuel Ortiz Date: Fri Jun 20 11:09:51 2008 +0200 mfd: New asic3 gpio configuration code The ASIC3 GPIO configuration code is a bit obscure and hardly readable. This patch changes it so that it is now more readable and understandable, by being more explicit. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 1effe5bc6cfbac4506d7944d68dadbd29ad62645 Author: Samuel Ortiz Date: Fri Jun 20 11:07:39 2008 +0200 mfd: asic3 children platform data removal Platform devices should be dynamically allocated, and each supported device should have its own platform data. For now we just remove this buggy code. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 6f2384c4bdd4be3dc1e5d22ed5e6f0c3076fda60 Author: Samuel Ortiz Date: Fri Jun 20 11:02:19 2008 +0200 mfd: asic3 gpiolib support ASIC3 is, among other things, a GPIO extender. We should thus have it supporting the current gpiolib API. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit 77332894c21165404496c56763d7df6c15c4bb09 Author: Marcus Sundberg Date: Thu Jul 10 21:28:08 2008 +0200 r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 The magic write to register 0x82 will often cause PCI config space on my 8168 (PCI ID 10ec:8168, revision 2. mounted in an LG P300 laptop) to be filled with ones during driver load, and thus breaking NIC operation until reboot. If it does not happen on first driver load it can easily be reproduced by unloading and loading the driver a few times. The magic write was added long ago by this commit: Author: François Romieu Date: Sat Jan 10 06:00:46 2004 -0500 [netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one(): - phy capability settings allows lower or equal capability as suggested in Realtek's changes; - I/O voodoo; - no need to s/mdio_write/RTL8169_WRITE_GMII_REG/; - s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/; - rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication of code (yep, the u16 -> int conversions should work as expected); - variable renames and whitepace changes ignored. As the 8168 wasn't supported by that version this patch simply removes the bogus write from mac versions <= RTL_GIGA_MAC_VER_06. [The change above makes sense for the 8101/8102 too -- Ueimor] Signed-off-by: Marcus Sundberg Signed-off-by: Francois Romieu commit f887cce8de019bb32917789379af89ae4c0294ee Author: Francois Romieu Date: Thu Jul 17 22:24:18 2008 +0200 r8169: multicast register update The layout of the 8101 series is identical to that of the 8168 one, thus allowing to pack everything not 8169 related above MAC_VER_06. New 810x and 8168 chipsets should automagically behave correctly. It matches code in Realtek's 1.008.00 8101 and 8.007.00 8168 drivers. Signed-off-by: Francois Romieu commit fb65a7c091529bfffb1262515252c0d0f6241c5c Author: David S. Miller Date: Sun Jul 20 10:18:44 2008 -0700 iucv: Fix bad merging. Noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 9432484110263e9418f380faf05fa9e2e7fb87a0 Author: Marek Vasut Date: Sun Jul 20 17:36:20 2008 +0200 ALSA: soc - wm9712 mono mixer this fixes typo in wm9712 codec which prevents it from registering all audio routes (and thus working correctly). Please consider applying. (Tested and works on palmtx, palmld and palmt5) Signed-off-by: Marek Vasut Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit cb7f39d2bc5a20615d016dd86fca0fd233c13b5d Author: Yoichi Yuasa Date: Sun Jul 20 22:03:32 2008 +0900 [MIPS] Remove unused maltasmp.h. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3d739f2daaed442f5bee9da2164757401ae4a417 Author: Yoichi Yuasa Date: Sun Jul 20 22:01:06 2008 +0900 [MIPS] Remove unused saa9730_uart.h. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 8213bbf9c1c0009872a3278aa7a83ec8f3508195 Author: Ralf Baechle Date: Sun Jul 20 13:16:46 2008 +0100 [MIPS] Rename MIPS sys_pipe syscall entry point to something MIPS-specific. Signed-off-by: Ralf Baechle commit 4914ad4a9f2d484a68422700ba8493db73c7c411 Author: Ralf Baechle Date: Sun Jul 20 11:34:39 2008 +0100 [MIPS] 32-bit compat: Delete unused sys_truncate64 and sys_ftruncate64. Signed-off-by: Ralf Baechle commit e0eb730757665d7e8ec0e79d9042a9311f3edb7e Author: Atsushi Nemoto Date: Sat Jul 19 01:51:52 2008 +0900 [MIPS] TXx9: Fix some sparse warnings Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 94a4c32939dede9328c6e4face335eb8441fc18d Author: Atsushi Nemoto Date: Sat Jul 19 01:51:47 2008 +0900 [MIPS] TXx9: Add 64-bit support SYS_SUPPORTS_64BIT_KERNEL is enabled for RBTX4927/RBTX4938, but actually it was broken for long time (or from the beginning). Now it should work. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 255033a9bb900a06c9a7798908ce12557d24fb66 Author: Atsushi Nemoto Date: Sat Jul 19 01:51:41 2008 +0900 [MIPS] TXx9: Cleanups for 64-bit support * Unify (and fix) mem_tx4938.c and mem_tx4927.c * Simplify prom_init * Kill volatiles and unused definitions for tx4927.h and tx4938.h Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b5d5accc7a2eb41f43ef346f3b258ba2f6342a1c Author: Yoichi Yuasa Date: Fri Jul 18 23:03:15 2008 +0900 [MIPS] Cobalt: Fix I/O port resource range LCD and buttons don't use I/O port space. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5f15d378763e88c361364c0d0ad256d523f2d72f Author: Adrian Bunk Date: Wed Jul 16 19:26:15 2008 +0300 [MIPS] don't leak setup_early_printk() in userspace header Our userspace headers shouldn't contain prototypes of in-kernel functions. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit f113c5eda22c349a163ea17ba11bc64727a0f799 Author: Adrian Bunk Date: Wed Jul 16 19:25:50 2008 +0300 [MIPS] Remove include/asm-mips/mips-boards/sead{,int}.h include/asm-mips/mips-boards/sead{,int}.h are now obsolete. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit e76812eddcebe06403934c868f3a707fd5bc167d Author: Adrian Bunk Date: Wed Jul 16 19:25:44 2008 +0300 [MIPS] Remove asm-mips/mips-boards/atlas{,int}.h asm-mips/mips-boards/atlas{,int}.h are now obsolete. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit fc22c3571c86cc36f4eb29336ce40c04a666ee98 Author: Adrian Bunk Date: Wed Jul 16 19:25:40 2008 +0300 [MIPS] mips/sgi-ip22/ip28-berr.c: fix the build Commit 3e6ea3b0d7a93550a93a265e732413d3a5aaf0d2 (linux-mips.org) / 52f4f6bbcff5510f662a002ec1219660ea25af62 (kernel.org) ([MIPS] Use kernel-supplied ARRAY_SIZE() macro.) causes the following compile error: <-- snip --> ... CC arch/mips/sgi-ip22/ip28-berr.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c: In function 'ip28_be_interrupt': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c:415: error: subscripted value is neither array nor pointer /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c:415: error: subscripted value is neither array nor pointer /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c:415: warning: type defaults to 'int' in declaration of 'type name' /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c:424: error: subscripted value is neither array nor pointer /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c:424: error: subscripted value is neither array nor pointer /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/sgi-ip22/ip28-berr.c:424: warning: type defaults to 'int' in declaration of 'type name' make[2]: *** [arch/mips/sgi-ip22/ip28-berr.o] Error 1 <-- snip --> Using ARRAY_SIZE in these places in arch/mips/sgi-ip22/ip28-berr.c was bogus, and therefore gets reverted by this patch. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 8d795f2a5cf73338a467ac82bdeb73225e987c45 Author: Atsushi Nemoto Date: Fri Jul 18 00:43:48 2008 +0900 [MIPS] TXx9: Miscellaneous build fixes * Fix build if only RBTX4927 or RBTX4938 was selected. * Move gpio helpers to generic part. * Select SOC_TX4938 for RBTX4927/37 board. * Fix parent of rbtx4938_fpga_resource. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 73b4390fb23456964201abda79f1210fe337d01a Author: Ralf Baechle Date: Wed Jul 16 16:12:25 2008 +0100 [MIPS] Routerboard 532: Support for base system Signed-off-by: Phil Sutter Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 36a0a3cd45b49ceff78ac28efef1cbeec413d8c2 Author: Thomas Bogendoerfer Date: Wed Jul 16 15:18:58 2008 +0200 [MIPS] IP32: Use common SGI button driver Use the Indy/O2 button driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 5a334fa9240411121f5dda9605fc7fd98429e8c5 Author: Thomas Bogendoerfer Date: Wed Jul 16 15:18:54 2008 +0200 [MIPS] IP22: Use common SGI button driver Use the Indy/O2 button driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 36e5c21de51e83bfa17c1e7334050edd2eda3d47 Author: Thomas Bogendoerfer Date: Wed Jul 16 14:06:15 2008 +0200 [MIPS] IP22, IP28: Fix merge bug Instead of one SGI_HAS_HAL2 for IP22 and one for IP28, IP28 got two of them... Let's give IP22 some ALSA sound, too. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle [MIPS] IP22, IP28: Fix merge bug Instead of one SGI_HAS_HAL2 for IP22 and one for IP28, IP28 got two of them... Let's give IP22 some ALSA sound, too. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit d6d8a4635a8451ca3c6fa2aaf9bbf934d8e2097b Author: Ralf Baechle Date: Wed Jul 16 12:07:05 2008 +0100 [MIPS] Tinker with constraints in to fix build error. [...] CC init/main.o include/asm/bitops.h: In function `start_kernel': include/asm/bitops.h:76: warning: asm operand 2 probably doesn't match constraints include/asm/bitops.h:76: warning: asm operand 2 probably doesn't match constraints include/asm/bitops.h:76: warning: asm operand 2 probably doesn't match constraints include/asm/bitops.h:76: error: impossible constraint in `asm' include/asm/bitops.h:76: error: impossible constraint in `asm' include/asm/bitops.h:76: error: impossible constraint in `asm' make[1]: *** [init/main.o] Error 1 [...] The build error is caused by the ages old gcc bug where gcc at the time of analyzing the constraints is unable to figure out that an "i" constraint actually can be satisfied and thus will abort unless an "r" is added to the constraint. For the actual code generation gcc will only ever use the "i" constraint. Signed-off-by: Ralf Baechle commit c29d150305f7f655b7002cc31754c605e5c0d1a0 Author: Dmitri Vorobiev Date: Tue Jul 15 19:57:32 2008 +0300 [MIPS] Add missing prototypes to asm/page.h This patch fixes the following sparse warnings: >>>>>>>>>>>>>>>>>> arch/mips/mm/page.c:284:16: warning: symbol 'build_clear_page' was not declared. Should it be static? arch/mips/mm/page.c:426:16: warning: symbol 'build_copy_page' was not declared. Should it be static? >>>>>>>>>>>>>>>>>> The fix is to add appropriate prototypes to the header include/asm-mips/page.h. Build-tested against Malta defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit f028b8605613ade67fda554e30d367911d6c7222 Author: Dmitri Vorobiev Date: Tue Jul 15 19:57:31 2008 +0300 [MIPS] Fix missing prototypes in asm/fpu.h While building the Malta defconfig, sparse spat the following warnings: >>>>>>>>>>>>>>>>>> arch/mips/math-emu/kernel_linkage.c:31:6: warning: symbol 'fpu_emulator_init_fpu' was not declared. Should it be static? arch/mips/math-emu/kernel_linkage.c:54:5: warning: symbol 'fpu_emulator_save_context' was not declared. Should it be static? arch/mips/math-emu/kernel_linkage.c:68:5: warning: symbol 'fpu_emulator_restore_context' was not declared. Should it be static? >>>>>>>>>>>>>>>>>> This patch fixes these errors by adding the proper prototypes to the include/asm-mips/fpu.h header, and actually using this header in the sparse-spotted source file. Build-tested with Malta defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 3450004a8cec8bab246372a1cabb9c2483b1e6c3 Author: Dmitri Vorobiev Date: Tue Jul 15 19:57:30 2008 +0300 [MIPS] PCI: Make the pcibios_max_latency variable static The pcibios_max_latency variable is needlessly defined global, and this patch makes it static. Build-tested using malta_defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit f9543d0ab6392a9a5bff0034622688dc10d9d225 Author: JiSheng Zhang Date: Sat Jul 19 15:35:41 2008 +0800 firewire: queue the right number of data There will be 4 padding bytes in struct fw_cdev_event_response on some platforms The member:__u32 data will point to these padding bytes. While queue the response and data in complete_transaction in fw-cdev.c, it will queue like this: |response(excluding padding bytes)|4 padding bytes|4 padding bytes|data. It queue 4 extra bytes. That is to say it use "&response + sizeof(response)" while other place of kernel and userspace library use "&response + offsetof (typeof(response), data)". So it will lost the last 4 bytes of data. This patch can fix it while not changing the struct definition. Signed-off-by: JiSheng Zhang This fixes responses to outbound block read requests on 64bit architectures. Tested on i686, x86-64, and x86-64 with i686 userland, using firecontrol and gscanbus. Signed-off-by: Stefan Richter commit 597a5f551ec4cd0aa0966e4fff4684ecc8c31c0d Author: Avi Kivity Date: Sun Jul 20 14:24:22 2008 +0300 KVM: Adjust smp_call_function_mask() callers to new requirements smp_call_function_mask() now complains when called in a preemptible context; adjust its callers accordingly. Signed-off-by: Avi Kivity commit d20b27478d6ccf7c4c8de4f09db2bdbaec82a6c0 Author: Jean-Francois Moine Date: Fri Jul 18 05:52:04 2008 -0300 V4L/DVB (8415): gspca: Infinite loop in i2c_w() of etoms. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fac3639d886ae577d74e2da16e6a448620d432c9 Author: Hans Verkuil Date: Fri Jul 18 10:07:10 2008 -0300 V4L/DVB (8414): videodev/cx18: fix get_index bug and error-handling lock-ups Fix a bug in get_index that was introduced earlier. Also fix two error handling lock-ups in videodev and cx18 that where found thanks to that bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f19ad390146e7745cbc529f3bef8469cf21f3a6b Author: Hans Verkuil Date: Fri Jul 18 02:02:50 2008 -0300 V4L/DVB (8411): videobuf-dma-contig.c: fix 64-bit build for pre-2.6.24 kernels Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 86751b016ff4eb4741b602933e5e6d74ac6cc377 Author: Hans Verkuil Date: Fri Jul 18 01:35:14 2008 -0300 V4L/DVB (8410): sh_mobile_ceu_camera: fix 64-bit compiler warnings Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit af8b303e96ed5a6882419c8e632df166bde85d7a Author: Mauro Carvalho Chehab Date: Thu Jul 17 22:36:08 2008 -0300 V4L/DVB (8397): video: convert select VIDEO_ZORAN_ZR36060 into depends on Signed-off-by: Mauro Carvalho Chehab commit 367394ac5cce83d40e605b5c75ee27dbe3d42d92 Author: Mauro Carvalho Chehab Date: Thu Jul 17 22:34:27 2008 -0300 V4L/DVB (8396): video: Fix Kbuild dependency for VIDEO_IR_I2C Instead of letting VIDEO_IR_I2C to be selected by VIDEO_IR, if I2C, convert it into a symbol that depends on both VIDEO_IR and I2C. Signed-off-by: Mauro Carvalho Chehab commit 1c22dad8ab86caef7a1f01cf3e9bb446a448aac5 Author: Mauro Carvalho Chehab Date: Thu Jul 17 22:31:29 2008 -0300 V4L/DVB (8395): saa7134: Fix Kbuild dependency of ir-kbd-i2c Currently, saa7134 is dependent of ir-kbd-i2c, since it uses a symbol that is defined there. However, as this symbol is used only on saa7134, there's no sense on keeping it defined there (or on ir-commons). So, let's move it to saa7134 and remove one symbol for being exported. Signed-off-by: Mauro Carvalho Chehab commit 4db16db4f60ce063435bd08b71c82aad1254cd95 Author: Mauro Carvalho Chehab Date: Thu Jul 17 22:28:56 2008 -0300 V4L/DVB (8394): ir-common: CodingStyle fix: move EXPORT_SYMBOL_GPL to their proper places Signed-off-by: Mauro Carvalho Chehab commit 432aa3b64d08f1453e2742d20c5fe6946ca22549 Author: Mauro Carvalho Chehab Date: Thu Jul 17 22:27:50 2008 -0300 V4L/DVB (8393): media/video: Fix depencencies for VIDEOBUF VIDEOBUF_DVB depends on VIDEOBUF_CORE, not on VIDEOBUF_DMA_SG Signed-off-by: Mauro Carvalho Chehab commit d4216488c0ccf7b659411023903bac7207f0dfb7 Author: Mauro Carvalho Chehab Date: Thu Jul 17 22:25:53 2008 -0300 V4L/DVB (8392): media/Kconfig: Convert V4L1_COMPAT select into "depends on" Signed-off-by: Mauro Carvalho Chehab commit c3fb62bf927cee771c3bcd5053e393e7df518f28 Author: Hans Verkuil Date: Thu Jul 17 17:48:38 2008 -0300 V4L/DVB (8390): videodev: add comment and remove magic number. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8373a3e512c8ea8e93981d42b0d1efb252be17fa Author: Brandon Philips Date: Tue Jun 24 22:58:25 2008 -0300 V4L/DVB (8389): videodev: simplify get_index() Use Hans Verkuil's suggested method of implementing get_index which doesn't depend on class_for_each_device and instead uses the video_device array. This simplifies the code and reduces its memory footprint. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 2bc93aa304f10bf94c377a487b09df75eaf88ab6 Author: Hans Verkuil Date: Thu Jul 17 16:45:00 2008 -0300 V4L/DVB (8387): Some cosmetic changes Those changes, together with some proper patches, will allow out-of-tree compilation for for kernels < 2.6.19 Signed-off-by: Mauro Carvalho Chehab commit e3bf20de33b016ac73424a5574177ed46c754be3 Author: Hans Verkuil Date: Thu Jul 17 13:29:49 2008 -0300 V4L/DVB (8381): ov7670: fix compile warnings Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 9edd350f51a1e81f7f01308a99800cad7770e5cd Author: Hans Verkuil Date: Thu Jul 17 13:22:51 2008 -0300 V4L/DVB (8380): saa7115: use saa7115_auto instead of saa711x as the autodetect driver name. Having an _auto suffix is less ambiguous than a 'saa711x' identifier. It's also used like this in the saa7127 driver. Thanks to Jean Delvare for suggesting this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5daed07401ed27bb2684e803f3f01e3a424ea282 Author: Jean Delvare Date: Thu Jul 17 13:18:31 2008 -0300 V4L/DVB (8379): saa7127: Make device detection optional The saa7127 driver supports all of SAA7126, SAA7127, SAA7128 and SAA1729 devices. Declare all these devices, so that board drivers can tell which device is present, instead of always relying on auto-detection (which needs to write to the chip, eek!). We still need the detection for ivtv, so a special device name "saa7127_auto" can be used when the caller doesn't know exactly which device is present. Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 03b52c36a38eb72548b9408c497ffabd1519eabe Author: Hans Verkuil Date: Thu Jul 17 12:33:08 2008 -0300 V4L/DVB (8378): cx18: move cx18_av_vbi_setup to av-core.c and rename to cx18_av_std_setup Same issue as for cx25840: this function sets up the standard timings and has nothing to do with VBI setup. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ca130eef2ca185739a440b893e69fe36038b87c9 Author: Hans Verkuil Date: Thu Jul 17 12:26:45 2008 -0300 V4L/DVB (8377): ivtv/cx18: ensure the default control values are correct For several MPEG controls and the volume control the default as returned by VIDIOC_QUERYCTRL was incorrect and did not match the actual initial value. This is now fixed for cx18 and ivtv. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cb5aa1c62df81ba2cdbae7f7ce469b231d43aba6 Author: Hans Verkuil Date: Thu Jul 17 11:08:40 2008 -0300 V4L/DVB (8376): cx25840: move cx25840_vbi_setup to core.c and rename to cx25840_std_setup cx25840_vbi_setup has nothing to do with setting up VBI, but everything with setting up the standard. Move to cx25840-core.c and rename. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5de39b2b1f68253d79f3548ef2d103fd5edae563 Author: Hans de Goede Date: Thu Jul 17 10:34:28 2008 -0300 V4L/DVB (8374): gspca: No conflict of 0c45:6011 with the sn9c102 driver. The sn9c102 driver claims to support usb-ID 0x0c45:0x6011, which is a sn9c102 with ov6650 sensor, but the sn9c102 driver does not support the ov6650 sensor (tested). Also the sn9c102 driver claims to support usb-ID 0x0c45:0x603f, which is a sn9c102 with CISVF10 sensor, but the sn9c102 driver does not support the CISVF10 sensor (not tested). Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 12ff91264ce3e2f24013d667d44ba786f947506c Author: Hans de Goede Date: Thu Jul 17 10:30:56 2008 -0300 V4L/DVB (8373): gspca: Hue, saturation and contrast controls added for sn9c10x ovxxxx. (does not work with ov6650) Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 722103e390bb0a526f71440f44bf7f891614e1d6 Author: Hans de Goede Date: Thu Jul 17 10:24:47 2008 -0300 V4L/DVB (8372): gspca: Small ov6650 fixes. 1) Don't change the red and blue pre-gain's from their defaults 2) Actually make the powerline freq ctrl available to userspace Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c91256c27b9509624df2619271cfca9ec5436f8f Author: Jean-Francois Moine Date: Thu Jul 17 10:12:55 2008 -0300 V4L/DVB (8371): gspca: Webcam 08ca:2050 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 100f7f2a34ded88e79ecbeaf9ed46c58fbdf339c Author: Jean-Francois Moine Date: Thu Jul 17 09:41:03 2008 -0300 V4L/DVB (8370): gspca: Webcam 0461:0821 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1ff1e48442188b9ae68aef82b66baef89e988cf6 Author: Jean-Francois Moine Date: Thu Jul 17 09:37:57 2008 -0300 V4L/DVB (8369): gspca: Bad initialization of sn9c102 ov7630. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d87616f5a5af028d399f2c3e14c3115c67e415cf Author: Andoni Zubimendi Date: Thu Jul 17 05:35:52 2008 -0300 V4L/DVB (8367): gspca: Light frequency filter / exposure / clean-up for sn9c103 ov7630. Signed-off-by: Andoni Zubimendi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a975a5279e39b5bc104cc8329d25a36a25136ad9 Author: Hans de Goede Date: Wed Jul 16 15:29:11 2008 -0300 V4L/DVB (8366): gspca: Better code for ov6650 and ov7630. sonixb: Common code between ov6650 and ov7630. Fix brightness oscillation with ov6650 sensor. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 66f358211d4f8bf1a43e3aef9565c5c1454f73b3 Author: Hans de Goede Date: Wed Jul 16 10:16:28 2008 -0300 V4L/DVB (8364): gspca: Support of powerline frequency for ov6650. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5c6644f305650d3d533b67fc74a96e4a2ea0aa89 Author: Hans de Goede Date: Wed Jul 16 10:00:08 2008 -0300 V4L/DVB (8363): gspca: Bad image size with spca501. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c36260ee27dff9a0236ddaaee0e3524ecd389645 Author: Hans de Goede Date: Wed Jul 16 09:56:07 2008 -0300 V4L/DVB (8362): gspca: Bad offset of the brightness sum in sn9c103 packets. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b7474cf9f693a83c9a64c8504a08823a34994a2e Author: Andoni Zubimendi Date: Wed Jul 16 08:40:30 2008 -0300 V4L/DVB (8361): gspca: Bad check of i2c write to sn9c10x. Signed-off-by: Andoni Zubimendi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 794af52a4ce5279c52f1467448b9e672a7db37f0 Author: Andoni Zubimendi Date: Wed Jul 16 08:33:14 2008 -0300 V4L/DVB (8360): gspca: Bad initialization of sn9c103 - ov7630. Signed-off-by: Andoni Zubimendi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9a97a2abe44781a13cd2ffc95069a8fd2678da68 Author: Mauro Carvalho Chehab Date: Tue Jul 15 14:23:08 2008 -0300 V4L/DVB (8359): gspca: Adds register aliases for zc03xx registers Thanks to http://zc0302.sourceforge.net/zc0302.php, we have some hints about what each zc3xx register means. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jean-Francois Moine commit 568788a771ee88cc6b5e311a207c09731a6e47f0 Author: Jean-Francois Moine Date: Tue Jul 15 11:46:06 2008 -0300 V4L/DVB (8358): gspca: Better initialization of sn9c120 - ov7660. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4d520258d229f093bec6937ec3d632eb95600b4 Author: Hans de Goede Date: Tue Jul 15 09:36:42 2008 -0300 V4L/DVB (8357): gspca: Perfect exposure for sn9c10x, sensor ov6650. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3647fea840c94c04f35215cb75b48613c0af310e Author: Hans de Goede Date: Tue Jul 15 05:36:30 2008 -0300 V4L/DVB (8356): gspca: 352x288 mode fix and source clean-up for Sonix bridges. sonixb: Bad initialization of sensor for 352x288 mode. (from Hans de Goede) sonixj: Clean-up source. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ad5ef80dd79851ea683e2d30ca4ebdc0c043a675 Author: Hans de Goede Date: Mon Jul 14 10:11:42 2008 -0300 V4L/DVB (8354): gspca: Better gain for bridge sn9c10x - sensor ov6650. sonixb: Better gain for ov6650. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4b972d29bbccc86877221164c7f39d52694d4a81 Author: Andoni Zubimendi Date: Mon Jul 14 09:50:26 2008 -0300 V4L/DVB (8353): gspca: 640x480 for bridge sn9c103 / sensor ov7630. sonixb: 640x480 mode for sn9c103 - ov7630. Signed-off-by: Andoni Zubimendi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 739570bb218bb4607df1f197282561e97a98e54a Author: Jean-Francois Moine Date: Mon Jul 14 09:38:29 2008 -0300 V4L/DVB (8352): gspca: Buffers for USB exchanges cannot be in the stack. gspca: Protect dq_callback() against simultaneous USB exchanges. Temporary buffer for USB exchanges added in the device struct. (all) Use a temporary buffer for all USB exchanges. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5b77ae7776183d733ec86727bcc34c52a336afd6 Author: Jean-Francois Moine Date: Sat Jul 12 09:28:04 2008 -0300 V4L/DVB (8350): gspca: Conform to v4l2 spec and mutex unlock fix. gspca: Empty the application queues on streamoff ioctl. streamon/off and qbuf ioctls may be done by any application. Don't handle MJPEG pixel format as JPEG. (thanks to Hans de Goede) Authorize reqbufs ioctl when streaming. Bad mutex unlock in poll() when streaming problem. (thanks to Mauro Carvalho Chehab) Don't handle 'webcam disconnected' in stream off. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 51fc8e3bc03aeddc557d3084d08425eb4cb8ed41 Author: Andoni Zubimendi Date: Thu Jul 10 11:12:24 2008 -0300 V4L/DVB (8349): gspca: SN9C103 OV7630 fixes in sonixb. Signed-off-by: Andoni Zubimendi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dcef3237b652e1c02093feac0f443485a144f035 Author: Hans de Goede Date: Thu Jul 10 10:40:53 2008 -0300 V4L/DVB (8348): gspca: Add auto gain/exposure to sonixb and tas5110 / ov6650 sensors. sonixb: Do auto gain for tas5110 / ov6650 sensors. pac207: Move the auto_gain function to gspca. gspca: New function gspca_auto_gain_n_exposure(). Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d0d0e39bc5912793405d3f84ffc982fa400e6cc0 Author: Jean-Francois Moine Date: Thu Jul 10 07:06:44 2008 -0300 V4L/DVB (8346): gspca: Bad pixel format of bridge VC0321. vc032x: Light frequency was not initialized. Change the pixel format of bridge VC0321 to V4L2_PIX_FMT_YUV420 ('YU12'). Set a bridge to all webcams. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 326c986207cb2065b9819107caa31efd2bbc48db Author: Magnus Damm Date: Wed Jul 16 23:02:08 2008 -0300 V4L/DVB (8343): soc_camera_platform: Add SoC Camera Platform driver This patch adds a simple platform camera device. Useful for testing cameras with SoC camera host drivers. Only one single pixel format and resolution combination is supported. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0d3244d6439c8c31d2a29efd587c7aca9042c8aa Author: Magnus Damm Date: Wed Jul 16 22:59:28 2008 -0300 V4L/DVB (8342): sh_mobile_ceu_camera: Add SuperH Mobile CEU driver V3 This is V3 of the SuperH Mobile CEU soc_camera driver. The CEU hardware block is configured in a transparent data fetch mode, frames are captured from the attached camera and written to physically contiguous memory buffers provided by the newly added videobuf-dma-contig queue. Tested on sh7722 and sh7723 processors. Changes since V2: - remove SUPERH Kconfig dependency - move sh_mobile_ceu.h to include/media - add board callback support with enable_camera()/disable_camera() - add support for declare_coherent_memory - rework video memory limit - more verbose error messages Changes since V1: - fixed the CEU driver to work with the newly updated patches Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2cc45cf25a2c14da6d18b7570a23ec09fb8f439a Author: Magnus Damm Date: Wed Jul 16 21:33:39 2008 -0300 V4L/DVB (8341): videobuf: Add physically contiguous queue code V3 This is V3 of the physically contiguous videobuf queues patch. Useful for hardware such as the SuperH Mobile CEU which doesn't support scatter gatter bus mastering. Since it may be difficult to allocate large chunks of physically contiguous memory after some uptime due to fragmentation, this code allocates memory using dma_alloc_coherent(). Architectures supporting dma_declare_coherent_memory() can easily avoid fragmentation issues by using dma_declare_coherent_memory() to force dma_alloc_coherent() to allocate from a certain pre-allocated memory area. Changes since V2 - use dma_handle for physical address - use "scatter gather" instead of "scatter gatter" Changes since V1: - use dev_err() instead of pr_err() - remember size in struct videobuf_dma_contig_memory - keep struct videobuf_dma_contig_memory in .c file - let videobuf_to_dma_contig() return dma_addr_t - implement __videobuf_sync() - return statements, white space and other minor fixes Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5d6aaf50e2986d3289d16fc2859c490c66a1be63 Author: Magnus Damm Date: Wed Jul 16 21:27:49 2008 -0300 V4L/DVB (8340): videobuf: Fix gather spelling Use "scatter gather" instead of "scatter gatter". Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b15cf1fcceb92247051dedb502692d56adaa428d Author: Magnus Damm Date: Fri Jul 11 21:03:25 2008 -0300 V4L/DVB (8339): soc_camera: Add 16-bit bus width support The SuperH Mobile CEU hardware supports 16-bit width bus, so extend the soc_camera code with SOCAM_DATAWIDTH_16. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a034d1b76b173b37f9a3646aa8f50a2c14a0f3ea Author: Magnus Damm Date: Fri Jul 11 20:59:34 2008 -0300 V4L/DVB (8338): soc_camera: Move spinlocks This patch moves the spinlock handling from soc_camera.c to the actual camera host driver. The spinlock_alloc/free callbacks are replaced with code in init_videobuf(). So far all camera host drivers implement their own spinlock_alloc/free methods anyway, and videobuf_queue_core_init() BUGs on a NULL spinlock argument, so, new camera host drivers will not forget to provide a spinlock when initialising their videobuf queues. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 092d3921195c4553a1818e698cee7a281ab361f4 Author: Paulius Zaleckas Date: Fri Jul 11 20:50:31 2008 -0300 V4L/DVB (8337): soc_camera: make videobuf independent Makes SoC camera videobuf independent. Includes all necessary changes for PXA camera driver (currently the only driver using soc_camera in the mainline). These changes are important for the future soc_camera based drivers. Signed-off-by: Paulius Zaleckas Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 439d0e4250b6fc9df3fc9183db38cf8a23d4ad93 Author: Oliver Endriss Date: Tue Jul 15 19:52:22 2008 -0300 V4L/DVB (8335): dvb-ttpci: Fix build with CONFIG_INPUT_EVDEV=n (Bug #11042) Fix build with CONFIG_INPUT_EVDEV=n (Bug #11042). Thanks to Toralf Förster for reporting. Thanks-to: Toralf Förster Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 4ee48c4257d842a29c032a32a19a3fcdd004b83f Author: Oliver Endriss Date: Tue Jul 15 19:36:46 2008 -0300 V4L/DVB (8334): tda10023: Fix typo in tda10023_attach dummy routine Fix compiler warning caused by a typo in the tda10023_attach dummy routine. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 02fa272fcb6edda9059d6dbaab20dfe919f4f4d2 Author: Andy Walls Date: Sun Jul 13 19:30:15 2008 -0300 V4L/DVB (8332): cx18: Suport external reset of the Z8F0811 IR controller on HVR-1600 for lirc cx18: added in cx18_ir_reset_gpio function for lirc_pvr150 like module. Also added the ability to reset the IR chip via ioctl like ivtv. This needs the mutex to protect gpio_dir and gpio_val in struct cx18 as gpio changes can come from a few different asynchronous sources now. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8abdd00dcc6a58cab3afe6a23a0ce819dc08049a Author: Andy Walls Date: Sun Jul 13 19:05:25 2008 -0300 V4L/DVB (8331): cx18: Add locking for struct cx18 GPIO state variables cx18: Add locking for struct cx18 GPIO state variables in anticpation of adding IR microcontroller reset support for use by external IR modules. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2c6a37bb076b9718c6362d4ffa1c7e58fdb1a0e9 Author: Michael Krufky Date: Sat Jul 12 22:58:24 2008 -0300 V4L/DVB (8326): sms1xxx: fix missing #include Fix the build error: smscoreapi.c:689: error: 'uintptr_t' undeclared Thanks to Peter Schlaf for reporting this. Cc: Peter Schlaf Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f1f74aa2cf7f109b2eaf3502b8bd13bf40bf6633 Author: Michael Krufky Date: Sat Jul 12 00:37:08 2008 -0300 V4L/DVB (8322): sms1xxx: fix improper usage of asm/foo.h Fix the following warnings generated by checkpatch.pl: WARNING: Use #include instead of 251: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:30: +#include WARNING: Use #include instead of 1566: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:29: +#include Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0b17d0edbc22eda3d0407f98ce4f16ceefb9a97f Author: Hermann Pitton Date: Sat Jul 12 12:27:59 2008 -0300 V4L/DVB (8319): saa7134: Add support for analog only ASUSTeK P7131 saa7134: add a separate entry for the ASUSTeK P7131 analog only and do some eeprom detection to escape from the TVFM7135 with the same PCI subsystem on auto detection. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit cd257a6f4dd908d94e504d2431710f0fcfe62036 Author: Daniel Drake Date: Mon Jun 30 20:57:39 2008 -0300 V4L/DVB (8318): OV7670: don't reject unsupported settings For VIDIOC_G_FMT/VIDIOC_TRY_FMT, the V4L2 API spec states: "Drivers should not return an error code unless the input is ambiguous" "Very simple, inflexible devices may even ignore all input and always return the default parameters." "When the requested buffer type is not supported drivers return an EINVAL error code." i.e. returning errors for unsupported fields is bad, and it's ok to unconditionally overwrite user-requested settings This patch makes ov7670 meet that behaviour, and brings it in line with other drivers e.g. stk-webcam. It also fixes compatibility with (unpatched) gstreamer. Signed-off-by: Daniel Drake Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 3f8d6f73da4332b4ff4150b9bae8e5f680bcbbde Author: Dean Anderson Date: Mon Jun 30 21:28:34 2008 -0300 V4L/DVB (8317): Sensoray 2255 V4l driver checkpatch fixes This patch fixes some coding style issues. It also fixes a NULL de-reference on driver unload. The permissions for the module parameters were changed to 0644. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 91a1d912f61b91e44336efe100a2bd0821777e24 Author: Jean Delvare Date: Wed Jul 2 16:01:21 2008 -0300 V4L/DVB (8316): bt819: Fix a debug message Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 203c204b39fef2c1c99e4b39e61ba292aa60142a Author: Jean Delvare Date: Wed Jul 2 15:59:29 2008 -0300 V4L/DVB (8315): zr36067: Delete dead code This has been commented out for years, it's about time to get rid of it. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 44f71c3fcefbfea3628cca52c0a177252cf83b60 Author: Michael Krufky Date: Sat Jun 28 23:55:36 2008 -0300 V4L/DVB (8313): sms1xxx: add support for Hauppauge WinTV-Nova-T-MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a745f0a12cab631b92f9e13b31997192c7df3823 Author: Michael Krufky Date: Tue Jul 1 04:47:10 2008 -0300 V4L/DVB (8312): sms1xxx: add firmware filenames to board properties for stellar and nova Assign the following firmware filenames: sms1xxx-stellar-dvbt-01.fw sms1xxx-nova-a-dvbt-01.fw sms1xxx-nova-b-dvbt-01.fw Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1fbc3caff47785aca67b4bd5b29c04f3f20c770e Author: Michael Krufky Date: Tue Jul 1 04:35:26 2008 -0300 V4L/DVB (8311): sms1xxx: support device-specific firmware filenames on stellar usb1 sticks Add the capability to define device-specific firmware filenames for the SMS1010, with a mechanism to fall back to the generic firmware if the device-specific firmware is not present. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b1d8f9f5b8036b61a7ec562dfb86361f5b18e8f2 Author: Michael Krufky Date: Sun Jun 29 15:15:19 2008 -0300 V4L/DVB (8310): sms1xxx: remove kmutex_t typedef remove typedef struct mutex kmutex_t fix one line > 80 columns Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4411d29165d83a4a73ea351ffccfdc0fd8baeb1e Author: Michael Krufky Date: Sun Jun 29 14:45:37 2008 -0300 V4L/DVB (8309): sms1xxx: fix OOPS on 64 bit kernels due to a bad cast Fix the following build warning: smscoreapi.c: In function 'smscore_detect_mode': smscoreapi.c:689: warning: cast from pointer to integer of different size smscoreapi.c:689: warning: cast to pointer from integer of different size smscoreapi.c: In function 'smscore_set_device_mode': smscoreapi.c:820: warning: cast from pointer to integer of different size smscoreapi.c:820: warning: cast to pointer from integer of different size ...and fix the following OOPS on 64bit kernels: [ 717.263667] usb 6-4: new high speed USB device using ehci_hcd and address 2 [ 717.396386] usb 6-4: configuration #1 chosen from 1 choice [ 717.473650] Unable to handle kernel paging request at 0000000000c02000 RIP: [ 717.473657] [] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0 [ 717.473669] PGD 3c6f7067 PUD 3d484067 PMD 0 [ 717.473674] Oops: 0002 [1] SMP [ 717.473678] CPU 0 [Modules linked in snipped] [ 717.473773] Pid: 8380, comm: modprobe Tainted: P 2.6.24-16-generic #1 [ 717.473776] RIP: 0010:[] [] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0 [ 717.473784] RSP: 0018:ffff81003d495ba8 EFLAGS: 00010206 [ 717.473786] RAX: ffff81003d8cd8d0 RBX: ffff81003d8cd800 RCX: ffff81003d8cd8d0 [ 717.473788] RDX: 0000000000000008 RSI: ffff81003f080070 RDI: ffff81003d8cd800 [ 717.473791] RBP: 0000000000000004 R08: ffff81003ec0104b R09: ffffffffffffffff [ 717.473793] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000c02000 [ 717.473796] R13: 00000000fffffff4 R14: ffff810000c02000 R15: ffff81003d8cd878 [ 717.473799] FS: 00007f70a680f6e0(0000) GS:ffffffff805b0000(0000) knlGS:0000000000000000 [ 717.473801] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 717.473804] CR2: 0000000000c02000 CR3: 000000003c68b000 CR4: 00000000000006e0 [ 717.473806] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 717.473809] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 717.473812] Process modprobe (pid: 8380, threadinfo ffff81003d494000, task ffff81003d2fc000) [ 717.473814] Stack: ffff81003d8cd800 ffff81003d8cd800 0000000000000000 ffff81003c6d8000 [ 717.473820] ffff81003dcac800 0000000000000008 ffffc20000787bb0 ffffffff88dba16c [ 717.473825] ffff81003dcac800 000000000000000a 0000000000000000 ffffffff88dbb2fa [ 717.473829] Call Trace: [ 717.473866] [] :sms1xxx:smscore_start_device+0x1c/0xb0 [ 717.473885] [] :sms1xxx:smsusb_probe+0x29a/0x670 [ 717.473929] [] :sms1xxx:smsusb_sendrequest+0x0/0x30 [ 717.473965] [] mutex_lock+0x9/0x20 [ 717.473998] [] :usbcore:usb_autopm_do_device+0x8e/0x130 [ 717.474040] [] :usbcore:usb_probe_interface+0xda/0x160 [ 717.474067] [] driver_probe_device+0x9c/0x1b0 [ 717.474091] [] __driver_attach+0xc9/0xd0 [ 717.474107] [] __driver_attach+0x0/0xd0 [ 717.474115] [] bus_for_each_dev+0x4d/0x80 [ 717.474156] [] bus_add_driver+0xac/0x220 [ 717.474203] [] :usbcore:usb_register_driver+0xa9/0x120 [ 717.474232] [] :sms1xxx:smsusb_register+0x1b/0x70 [ 717.474243] [] :sms1xxx:smscore_module_init+0x7c/0xb0 [ 717.474253] [] sys_init_module+0x18e/0x1a90 [ 717.474426] [] system_call+0x7e/0x83 [ 717.474490] [ 717.474491] [ 717.474492] Code: 66 41 c7 04 24 9c 02 41 c6 44 24 02 00 4c 89 e6 41 c6 44 24 [ 717.474506] RIP [] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0 [ 717.474513] RSP [ 717.474515] CR2: 0000000000c02000 [ 717.474521] ---[ end trace 52d9c6f207be106a ]--- Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 14a638cd3b6031c27b33560506244b9bf1913ad9 Author: Michael Krufky Date: Sat Jun 28 23:53:51 2008 -0300 V4L/DVB (8308): sms1xxx: Provide option to support Siano default usb ids Provide an option to enable / disable support for Siano's default usb ids. This allows the support for Siano's USB IDs to be disabled, so that Siano's external driver can be used, instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit eb383bddc5ec52087ccfad4cccd8c6cc57c846d8 Author: Michael Krufky Date: Sun Jun 29 01:33:23 2008 -0300 V4L/DVB (8307): sms1xxx: change smsusb_driver.name to sms1xxx Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5068b7a449293ced0ea963f3c944189d78fe1b1e Author: Michael Krufky Date: Sat Jun 28 23:27:19 2008 -0300 V4L/DVB (8306): sms1xxx: log firmware download process by default Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0f2a1ee112a4709a3b1a3c3c64b5d11752da1eef Author: Michael Krufky Date: Sat Jun 28 20:53:45 2008 -0300 V4L/DVB (8305): sms1xxx: fix warning: format '%d' expects type 'int', but argument x has type 'size_t' Fix the following 64bit build warning: make[2]: Entering directory `/usr/src/linux-headers-2.6.24-16-generic' CC [M] smscoreapi.o smscoreapi.c: In function 'smscore_load_firmware_from_file': smscoreapi.c:604: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' CC [M] smsusb.o smsusb.c: In function 'smsusb1_load_firmware': smsusb.c:216: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' smsusb.c:223: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8f37356b065206316e0b66dbee2718c82329684c Author: Michael Krufky Date: Sat Jun 28 17:09:28 2008 -0300 V4L/DVB (8303): sms1xxx: update MODULE_DESCRIPTION set MODULE_DESCRIPTION to "Driver for the Siano SMS1XXX USB dongle" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cf1cfe1ba70952093a46bb0e21b58357f36f2e8f Author: Michael Krufky Date: Sat Jun 28 16:45:36 2008 -0300 V4L/DVB (8302): sms1xxx: fix Siano board names Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 02aea4fb640cdc4018e0a6d34e235eb63e4482d7 Author: Michael Krufky Date: Thu Jun 26 04:58:30 2008 -0300 V4L/DVB (8301): sms1xxx: add capability to define device-specific firmware filenames Add the capability to define device-specific firmware filenames for the SMS1150, with a mechanism to fall back to the generic firmware if the device-specific firmware is not present. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2708e888c57904f78649dcd91dcda9768d580ecf Author: Michael Krufky Date: Sat Jun 21 05:24:38 2008 -0300 V4L/DVB (8300): sms1xxx: simplify smsusb_init_device switch..case block Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0c071f374f66f05aded3be970f683d54fd918806 Author: Michael Krufky Date: Sat Jun 21 02:44:02 2008 -0300 V4L/DVB (8299): sms1xxx: mark functions static Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c65c7a652ff10b86d33eda36f9c4200027bd8dd4 Author: Michael Krufky Date: Thu Jun 19 22:20:49 2008 -0300 V4L/DVB (8298): sms1xxx: remove redundant __func__ in sms_err macro Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2522dc13245073f75399ada8e7f6acecde834953 Author: Michael Krufky Date: Thu Jun 19 22:15:38 2008 -0300 V4L/DVB (8297): sms1xxx: remove old printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit eb250942fe3cf2a129ab55d65161bc66b7009853 Author: Michael Krufky Date: Thu Jun 19 22:07:23 2008 -0300 V4L/DVB (8296): sms1xxx: always show error messages Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f14d56a99bddb779f6f7ec028bcd9d142536589e Author: Michael Krufky Date: Thu Jun 19 20:59:08 2008 -0300 V4L/DVB (8295): sms1xxx: add debug module option, to enable debug messages All dmesg spam turned off by default, for now. Values for debug: (info=1, adv=2 (or-able) Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a0c0abcb1fdb316dee3a38cff9843d7d094c327c Author: Michael Krufky Date: Thu Jun 19 20:35:21 2008 -0300 V4L/DVB (8294): sms1xxx: move message formatting into printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 068d6c0f5d6c67d0e93f8e214897ddd64746be4e Author: Michael Krufky Date: Thu Jun 19 01:15:46 2008 -0300 V4L/DVB (8293): sms1xxx: create printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1c11d546b6c31399ac60f42d3103227cc1164d80 Author: Michael Krufky Date: Wed Jun 18 22:09:55 2008 -0300 V4L/DVB (8292): sms1xxx: add code to allow device-specific functionality Set board ID in the usb_device_id table's driver_info field. Use board name when registering the dvb adapter. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dd5b2a5c2a6c793d855910864593ad26dd844154 Author: Michael Krufky Date: Wed Jun 18 20:25:25 2008 -0300 V4L/DVB (8291): sms1xxx: change default_mode to 4 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d3e72fe75ef7651e49e50f6a5f2c1c6453749e33 Author: Michael Krufky Date: Mon Jun 16 12:37:05 2008 -0300 V4L/DVB (8290): sms1xxx: small cleanup Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit df0462e77e9aa19d50dbfd540e78f1803e992c25 Author: Michael Krufky Date: Sun Jun 15 19:39:55 2008 -0300 V4L/DVB (8289): sms1xxx: remove #if LINUX_VERSION_CODE checks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fbd05c8213e7cddca3041c280e5fca5eff0956f9 Author: Michael Krufky Date: Sun Jun 15 19:27:35 2008 -0300 V4L/DVB (8288): sms1xxx: more cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e080842c6c31249010adb184f9efbbc5cb40bd2b Author: Michael Krufky Date: Sun Jun 15 19:11:37 2008 -0300 V4L/DVB (8287): sms1xxx: fix WARNING: unnecessary cast may hide bugs fix the following checkpatch.pl warning: WARNING: unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html 596: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:540: + msg = (struct SmsMsgHdr_ST *) kmalloc(PAGE_SIZE, GFP_KERNEL | GFP_DMA); Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 18245e18eeae15e928b46c1ae0f3a19bdc50419d Author: Michael Krufky Date: Sun Jun 15 17:52:24 2008 -0300 V4L/DVB (8286): sms1xxx: remove typedefs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ca78373687bddcd436e1bf2d9b6806cfd9cad8b8 Author: Michael Krufky Date: Sun Jun 15 17:36:00 2008 -0300 V4L/DVB (8285): sms1xxx: more 80-column cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9f2113975a7898c913c668bb709e95c27e51617b Author: Michael Krufky Date: Sun Jun 15 17:26:42 2008 -0300 V4L/DVB (8284): sms1xxx: fix WARNING: printk() should include KERN_ facility level Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 59bf6b8e85209f4b875e319b42e8f13af7797826 Author: Michael Krufky Date: Sun Jun 15 16:50:11 2008 -0300 V4L/DVB (8283): sms1xxx: 80-column cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fa830e8a014a206103d06a7600ed8c661b427db3 Author: Michael Krufky Date: Sun Jun 15 15:52:43 2008 -0300 V4L/DVB (8282): sms1xxx: more codingstyle cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f0333e3de0e06fb9a6662a6df7d3d1cc8e5dbeca Author: Michael Krufky Date: Sun Jun 15 15:32:00 2008 -0300 V4L/DVB (8281): sms1xxx: remove INT / UINT typedefs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 822374165d6b11733467cfa2fa18234319198233 Author: Michael Krufky Date: Sun Jun 15 15:14:13 2008 -0300 V4L/DVB (8280): sms1xxx: more codingstyle cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 73104fb3e4e692cb1f9505b548ab073b0859b256 Author: Michael Krufky Date: Sat Jun 14 18:27:18 2008 -0300 V4L/DVB (8279): sms1xxx: #define usb vid:pid's Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 494d24c527e5ab43aecb8e77bfdc7e939466b134 Author: Michael Krufky Date: Sat Jun 14 07:40:41 2008 -0300 V4L/DVB (8278): sms1xxx: more codingstyle cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f17407a85db3b86526d54e65698348873a6df617 Author: Michael Krufky Date: Sat Jun 14 00:43:26 2008 -0300 V4L/DVB (8277): sms1xxx: update latest siano drop to 1.2.17 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 55ad310c2f21281f50fa040b7765a4a1151bd420 Author: Michael Krufky Date: Tue May 6 03:52:44 2008 -0300 V4L/DVB (8276): sms1xxx: codingstyle cleanup: "(foo*)" should be "(foo *)" ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a83ccdd6a952eb25d3f51dfdc175c1e9bf8f7cae Author: Michael Krufky Date: Tue May 6 03:11:51 2008 -0300 V4L/DVB (8275): sms1xxx: codingstyle cleanup: "foo* bar"/"foo * bar" should be "foo *bar" ERROR: "foo* bar" should be "foo *bar" ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3617691fb98b81850640a9b61fb932b798ad4504 Author: Michael Krufky Date: Thu May 22 18:32:40 2008 -0300 V4L/DVB (8274): sms1xxx: build cleanup after driver relocation Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 18658117ff844e8117f6b363cb7fa8c5f8ad2cb8 Author: Michael Krufky Date: Thu May 22 18:30:17 2008 -0300 V4L/DVB (8273): sms1xxx: replace __FUNCTION__ with __func__ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 854470606070d91955f03a7dca3a8024fc2a2540 Author: Michael Krufky Date: Thu May 22 18:29:20 2008 -0300 V4L/DVB (8272): sms1xxx: move driver from media/mdtv/ to media/dvb/siano/ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d18d2e91b5495ed0b99c83d595a56e25521a111 Author: Steven Toth Date: Thu May 22 18:07:39 2008 -0300 V4L/DVB (8271): sms1xxx: usbvid table Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19d703da05de6495adfc0ec9aec927d2fce99af6 Author: Steven Toth Date: Thu May 22 18:06:41 2008 -0300 V4L/DVB (8270): sms1xxx: header include cleanups and unexport symbols Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8d4f9d0e0bb8b8191b525bd41eddadaf831e47ef Author: Steven Toth Date: Thu May 22 18:05:26 2008 -0300 V4L/DVB (8269): sms1xxx: copyrights Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit eae55660fc4a7f17f0f87458d8ada2b51b1833c1 Author: Steven Toth Date: Thu May 22 18:04:36 2008 -0300 V4L/DVB (8268): sms1xxx: usb cleanup Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 159ed4bbc394bb3e547eb64fdd3a59141ced131a Author: Steven Toth Date: Thu May 22 18:01:42 2008 -0300 V4L/DVB (8267): sms1xxx: Makefile cleanup Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3dd243787017e40c66ae54cf590ea513a110c51d Author: Steven Toth Date: Thu May 22 18:01:02 2008 -0300 V4L/DVB (8266): sms1xxx: merge modules Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a19598c75660b6d4464d291f8e99a91fd7afc4a Author: Steven Toth Date: Thu May 22 16:43:04 2008 -0300 V4L/DVB (8265): sms1xxx: Kconfig / Makefile cleanups Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9e4fb5e7122ce67769719e715159baed5e5d7247 Author: Steven Toth Date: Thu May 22 15:48:54 2008 -0300 V4L/DVB (8264): sms1xxx: remove smstypes.h Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 955e9ca3cdeae62e8067ede204b5a02dcde6813e Author: Steven Toth Date: Thu May 22 15:46:32 2008 -0300 V4L/DVB (8263): sms1xxx: merge ksyms Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c6465799c38762b963bb819e033d2a56a3d3c233 Author: Steven Toth Date: Mon May 19 19:09:21 2008 -0300 V4L/DVB (8262): sms1xxx: remove smschar.o Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 464a77dd8845fc8f3beeaad24478081576c4b83a Author: Steven Toth Date: Mon May 19 19:01:25 2008 -0300 V4L/DVB (8261): sms1xxx: remove smsnet.o Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7315b082e333191f7606dbb23dbcbdba98a79c11 Author: Michael Krufky Date: Mon May 19 18:58:40 2008 -0300 V4L/DVB (8260): sms1xxx: build fixes Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9c59f968a9960bbb3402c8a8ea8004c798f4f383 Author: Michael Krufky Date: Mon May 19 18:57:12 2008 -0300 V4L/DVB (8259): sms1xxx: pass adapter_nr into dvb_register_adapter Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e5c1ec8865abd81e24a394918c7ba315e0b7b70 Author: Michael Krufky Date: Mon May 19 18:56:13 2008 -0300 V4L/DVB (8258): add support for SMS1010 and SMS1150 based digital television devices initial driver drop, provided by Siano Mobile Silicon, Inc. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a9e285856112e5e721b6a341d15437a164128b30 Author: Laurent Pinchart Date: Fri Jul 11 19:32:15 2008 -0300 V4L/DVB (8257): uvcvideo: Fix possible AB-BA deadlock with videodev_lock and open_mutex The uvcvideo driver's uvc_v4l2_open() method is called from videodev's video_open() function, which means it is called with the videodev_lock mutex held. uvc_v4l2_open() then takes uvc_driver.open_mutex to check dev->state and avoid racing against a device disconnect, which means that open_mutex must nest inside videodev_lock. However uvc_disconnect() takes the open_mutex around setting dev->state and also around putting its device reference. However, if uvc_disconnect() ends up dropping the last reference, it will call uvc_delete(), which calls into the videodev code to unregister its device, and this will end up taking videodev_lock. This opens a (unlikely in practice) window for an AB-BA deadlock and also causes a lockdep warning because of the lock misordering. Fortunately there is no apparent reason to hold open_mutex when doing kref_put() in uvc_disconnect(): if uvc_v4l2_open() runs before the state is set to UVC_DEV_DISCONNECTED, then it will take another reference to the device and kref_put() won't call uvc_delete; if uvc_v4l2_open() runs after the state is set, it will run before uvc_delete(), see the state, and return immediately -- uvc_delete() does uvc_unregister_video() (and hence video_unregister_device(), which is synchronized with videodev_lock) as its first thing, so there is no risk of use-after-free in uvc_v4l2_open(). Bug diagnosed based on a lockdep warning reported by Romano Giannetti . Signed-off-by: Roland Dreier Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6f80e1b4cda7e184e369c84a8b388882b0233d53 Author: Andrew Morton Date: Fri Jul 4 06:33:23 2008 -0300 V4L/DVB (8256): uvc/uvc_v4l2.c: suppress uninitialized var warning drivers/media/video/uvc/uvc_v4l2.c: In function `uvc_v4l2_mmap': drivers/media/video/uvc/uvc_v4l2.c:1035: warning: 'buffer' might be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 25e69850d1bb315f251c91183b89da44d4f9be23 Author: Laurent Pinchart Date: Wed Jul 9 18:29:59 2008 -0300 V4L/DVB (8254): uvcvideo : Add support for Asus F9GS integrated webcam Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit a9e1113483f110723e4c0277a05d08f51da232aa Author: Mauro Carvalho Chehab Date: Wed Jul 9 05:26:26 2008 -0300 V4L/DVB (8253): gspca: fix warnings on x86_64 /home/v4l/master/v4l/gspca.c: In function 'gspca_frame_add': /home/v4l/master/v4l/gspca.c:222: warning: format '%d' expects type 'int', but argument 2 has type 'long int' /home/v4l/master/v4l/gspca.c: In function 'dev_read': /home/v4l/master/v4l/gspca.c:1568: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' /home/v4l/master/v4l/gspca.c:1618: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a47cacbd869b67ce16981ad5a0b06e4eac2efaff Author: Christophe Jaillet Date: Fri Jul 4 06:33:22 2008 -0300 V4L/DVB (8252): buf-dma-sg.c: avoid clearing memory twice 1) Remove a useless initialisation of 'i' 2) Avoid clearing the memory allocated twice (once in 'kcalloc', once in 'sg_init_table') 3) Remove a test that can never trigger. The function returns NULL in such a case, so we know that at this point 'pages[0]' != NULL Signed-off-by: Christophe Jaillet Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit a8a89b7f60f18c2517c3b950f5ecede0626363eb Author: Akinobu Mita Date: Fri Jul 4 06:33:20 2008 -0300 V4L/DVB (8251): ttusb: use simple_read_from_buffer()() Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 3fce3fb0592841857ae01334d0c6934c1ad32faf Author: David Howells Date: Tue Jul 8 16:04:38 2008 -0300 V4L/DVB (8249): Fix pointer cast warnings in the ivtv framebuffer driver Fix casts of pointers to integers of different sizes in the ivtv framebuffer driver. These were introduced in patch 38eb6ba5b8487d15b020fe391d324edd2b659b03. Signed-off-by: David Howells Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5a367dfb739831d54caf226ce0bc4c75ef264d8d Author: Jean Delvare Date: Thu Jul 10 11:23:37 2008 -0300 V4L/DVB (8246): tvaudio: Stop I2C driver ID abuse The tvaudio driver is using "official" I2C device IDs for internal purpose. There must be some historical reason behind this but anyway, it shouldn't do that. As the stored values are never used, the easiest way to fix the problem is simply to remove them altogether. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit be99af6679174e5d0e9f36fc8c18318a8ce34bca Author: Jean Delvare Date: Thu Jul 10 11:04:10 2008 -0300 V4L/DVB (8245): ovcamchip: Delete stray I2C bus ID I2C_HW_SMBUS_OVFX2 is referenced in ovcamchip_core.c, but no bus uses this driver ID, so we can remove the reference. As far as I can see, the Cypress FX2 webcam is handled by a different driver (dvb-usb). Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit e2fc00c21124d9d9a8d4f396e5498ea27ddfc8fd Author: Massimo Piccioni Date: Fri Jul 11 13:48:02 2008 -0300 V4L/DVB (8244): saa7134: add support for AVerMedia M103 The following patch updates saa7134 driver to add support for AVerMedia M103 MiniPCI DVB-T Hybrid card. Signed-off-by: Massimo Piccioni [mchehab@infradead.org: fixed merge conflicts and a small codingstyle] Signed-off-by: Mauro Carvalho Chehab commit 52b5045078b76ee86e210210601d45670eab22f1 Author: Michael Krufky Date: Wed Jul 9 02:18:49 2008 -0300 V4L/DVB (8236): cx23885: add support for new revision of FusionHDTV7 Dual Express The new revision of this board uses the same pci subsystem id as the first revision, but uses a S5H1411 demodulator instead of the S5H1409. In the case of the FusionHDTV7 Dual Express, if s5h1409_attach fails, try s5h1411_attach. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bdf2fe4a0b9d23e69c77eaec76212216c9a957ef Author: Laurent Pinchart Date: Mon Jul 7 23:41:40 2008 -0300 V4L/DVB (8235): uvcvideo : Add support for Medion Akoya Mini E1210 integrated webcam Signed-off-by: Tim Gardner Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6833c917b4de1757febdbf946d709ece6dc7a86f Author: Laurent Pinchart Date: Mon Jul 7 23:04:29 2008 -0300 V4L/DVB (8234): uvcvideo: Make input device support optional UVC devices can report button events. The uvcvideo driver depends on CONFIG_INPUT to report events to the input layer. This patch removes the hard dependency by introducing a new CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV option. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit ac0d6df69bc72eabda944fd14a958074dc08ca0c Author: Jean-Francois Moine Date: Tue Jul 8 06:58:15 2008 -0300 V4L/DVB (8232): gspca: Change the USERPTR mechanism. main: Change the packet copy mechanism for userptr. Cannot do reqbufs ioctl when already done and count != 0. Accept count < frame size in read(). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c41492c89a00630c7482eae25deaf9af91b73c98 Author: Jean-Francois Moine Date: Mon Jul 7 08:31:16 2008 -0300 V4L/DVB (8231): gspca: Do not declare the webcams declared by other drivers. etoms: Do not declare the webcams declared by the driver et61x251. sonixb, sonixj: Do not declare the webcams declared by the driver sn9c102. zc3xx: Do not declare the webcams declared by the driver zc0301. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f87086e302300fdff1bd32049deb7a7f3e3de7da Author: Hans Verkuil Date: Fri Jul 18 00:50:58 2008 -0300 v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 Also remove some blank lines that were used to split compat code at -devel tree. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e01117c81676dc9897f567e32cdc13a26e85280b Author: Laurent Pinchart Date: Fri Jul 4 00:36:21 2008 -0300 V4L/DVB (8209): uvcvideo: Don't free URB buffers on suspend. All submitted URBs must be killed at suspend time, but URB buffers don't have to be freed. Avoiding a free on suspend/reallocate on resume lowers the presure on system memory. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 291358785cde5536d98a4f3cae77efd8ca626486 Author: Laurent Pinchart Date: Fri Jul 4 00:35:26 2008 -0300 V4L/DVB (8208): uvcvideo: Use GFP_NOIO when allocating memory during resume The swap device might still be asleep, so memory allocated in the resume handler must use GFP_NOIO. Thanks to Oliver Neukum for catching and reporting this bug. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 233548a2fd934a0220db8b1521c0bc88c82e5e53 Author: Laurent Pinchart Date: Fri Jul 4 00:34:59 2008 -0300 V4L/DVB (8207): uvcvideo: Fix a buffer overflow in format descriptor parsing Thanks to Oliver Neukum for catching and reporting this bug. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 553b9fa47d67a77f6456bc969891a347bfb323dc Author: Andoni Zubimendi Date: Sun Jul 6 07:27:19 2008 -0300 V4L/DVB (8205): gspca: Size of frame header adjusted according to sn9c10x in sonixb. Signed-off-by: Andoni Zubimendi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 814429501f65e3482adb8e7678660ceb7a2fc2e6 Author: Jean-Francois Moine Date: Sun Jul 6 07:04:39 2008 -0300 V4L/DVB (8204): gspca: Cleanup code. spca508: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 80544d3c7a7ce32084c9137c96488704053772e3 Author: Hans de Goede Date: Sun Jul 6 06:40:55 2008 -0300 V4L/DVB (8202): gspca: PAC207 frames may be not compressed. pac207: Set the sizeimage to the max value for 352x288. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c2446b3eba97243acbe2ad0939a28b5edb97eae7 Author: Jean-Francois Moine Date: Sat Jul 5 11:49:20 2008 -0300 V4L/DVB (8201): gspca: v4l2_pix_format in each subdriver. main: Parameter comp_fac removed. main, pac207: get_buff_size op removed. (all) v4l2_pix_format in each subdriver. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit efab8211db79d20032fa7d09b8a3671e68a9c5b9 Author: Harvey Harrison Date: Sat Jul 5 06:12:47 2008 -0300 V4L/DVB (8199): gspca: Compile warnings about NULL ptr. Signed-off-by: Harvey Harrison Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 46ccdafa71c1c95de002ce7a31e700cf5c8195df Author: Hans de Goede Date: Fri Jul 4 18:39:08 2008 -0300 V4L/DVB (8198): gspca: Frame decoding errors when PAC207 in full daylight. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ab8f12cf8e3d33adec382585f9f60f8686a372c3 Author: Hans de Goede Date: Fri Jul 4 18:29:32 2008 -0300 V4L/DVB (8197): gspca: pac207 frames no more decoded in the subdriver. videodev2: New pixfmt pac207: Remove the specific decoding. main: get_buff_size operation added for the subdriver. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 24c530b4abb979f9e79298f0b4c4e83781a0e4c3 Author: Hans de Goede Date: Fri Jul 4 17:55:18 2008 -0300 V4L/DVB (8196): gspca: Correct sizeimage in vidioc_s/try/g_fmt_cap Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a5ae2062252e697d38e53dbbeb91460252208914 Author: Jean-Francois Moine Date: Fri Jul 4 11:16:16 2008 -0300 V4L/DVB (8195): gspca: Input buffer overwritten in spca561 + cleanup code. spca561: Input buffer may be changed on reg write. (all sd): Cleanup code, 'const' added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 54ab92ca05550550bcec2462de2605f35d079b66 Author: Hans de Goede Date: Thu Jul 3 11:20:58 2008 -0300 V4L/DVB (8194): gspca: Fix the format of the low resolution mode of spca561. The low (half) res modes of the spca561 are not spca561 compressed, but are raw bayer, this patches fixes this and adds a PIX_FMT define for the GBRG bayer format used by the spca561 in low res mode. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit bf7f0b98426b54c29ec8100a3f1963114c2f2ef0 Author: Jean-Francois Moine Date: Thu Jul 3 11:09:12 2008 -0300 V4L/DVB (8193): gspca: Input buffer may be changed on reg write. Done for conex, etoms, pac7311, sonixj, t613 and tv8532. Code cleanup for some other subdrivers. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0d2a722ddae5e736a5c36a1b99ee4ca59a8373bc Author: Hans de Goede Date: Thu Jul 3 08:15:22 2008 -0300 V4L/DVB (8192): Try to fix a reg_w() bug Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d646e701819f994c5cb1507dc859b739b5478d32 Author: Hans de Goede Date: Thu Jul 3 06:48:22 2008 -0300 V4L/DVB (8191): gspca: Make CONFIG_VIDEO_ADV_DEBUG actually work. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0c61621412ca09bd692cef86d4c9f358d5e81b0c Author: Andy Walls Date: Mon Jul 7 10:36:16 2008 -0300 V4L/DVB (8189): cx18: Use correct GPIO pin for resetting Xceive 3028 tuner on Yuan MPC718 Change the Yuan MPC718 cards entry to use the correct GPIO pin for resetting the Xceive 3028 tuner. Thanks to Brian Hope for taking the time and figuring out which pin to use. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 53ad02efe7d5908f0ce73a7dac9530f1180f2514 Author: Andy Walls Date: Sun Jul 6 19:36:52 2008 -0300 V4L/DVB (8188): cx18: Add missing reset recovery delay in cx18-i2c.c cx18: Add a missing reset recovery delay in cx18-i2c.c after the final deassert. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d01eb2dc7d5265ec3bee9ec1b8ab79155e1310d6 Author: Michael Krufky Date: Thu Jul 3 23:43:36 2008 -0300 V4L/DVB (8186): dib0700: add support for Hauppauge Nova-TD Stick 52009 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 69b28b110975abcfac3f7345494e74a771e9b724 Author: Douglas Schilling Landgraf Date: Fri Jul 4 04:40:28 2008 -0300 V4L/DVB (8184): spca508: Add Clone Digital Webcam 11043 Added ID vendor/product for Clone Digital Webcam 11043. Thanks to Ivan Brasil Fuzzer for testing and data collection. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 30b4d355aa02ba274279eae1187539b85bd100ed Author: Michael Krufky Date: Wed Jul 2 12:55:49 2008 -0300 V4L/DVB (8183): cxusb: select MEDIA_TUNER_MXL5005S if !DVB_FE_CUSTOMISE After adding support for AVerTVHD Volar, DVB_USB_CXUSB must select MEDIA_TUNER_MXL5005S if !DVB_FE_CUSTOMISE Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 82643d0e90896fba965e6e43692538b2cc093d34 Author: Jean-Francois Moine Date: Wed Jul 2 09:14:56 2008 -0300 V4L/DVB (8181): gspca: read() did not work (loop in kernel, timeout...) main: Remove some vidioc_xx traces. main: read() did not work (user irq instead of mmap irq). main: Lack of v4l1 compat. main: Process loop inside kernel when no frame arriving. main: Double qbuf in read() when too many buffered frames. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 956e42d28f300f5bb928fb5850b3e3c0a8982d23 Author: Jean-Francois Moine Date: Tue Jul 1 10:03:42 2008 -0300 V4L/DVB (8180): Source cleanup - compile error with VIDEO_ADV_DEBUG. main, etoms, mars, pac207, pac7311, sonixb, sonixj, spca500, spca505: Cleanup source. sunplus: Compilation error when VIDEO_ADV_DEBUG set. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 00528d9c2e9e15625883c161867cba61725ba335 Author: Mike Isely Date: Mon Jun 30 03:35:52 2008 -0300 V4L/DVB (8176): pvrusb2: Update video_gop_size When switching video standard, ensure that video GOP size remains appropriately configured. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ab062fe3b540c157eb66c4acedbedbc200cfd9e2 Author: Mike Isely Date: Mon Jun 30 03:32:35 2008 -0300 V4L/DVB (8175): pvrusb2: Fix misleading source code comment Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7e87218bbfa2697c7df42ac80498a2fd17b276a4 Author: Hans Verkuil Date: Tue Jul 1 18:46:09 2008 -0300 V4L/DVB (8173): saa711x.c: remove obsolete file. saa711x.c is no longer used. Remove. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dc5e42fb20229487ef11fd6fa0cdb7b7d42170f6 Author: Hans Verkuil Date: Mon Jun 30 20:02:47 2008 -0300 V4L/DVB (8171): ivtv: put back full device name, people relied on it in udev rules. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8b934de12989d1704e7df7ebb408a6021f08442 Author: Hans Verkuil Date: Sat Jun 28 20:57:56 2008 -0300 V4L/DVB (8169): cx18: enable TS support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1a3932e0ed9ca46db2b76ce067e4ebaf04d91ea1 Author: Hans Verkuil Date: Sat Jun 28 20:57:30 2008 -0300 V4L/DVB (8168): cx18: Upgrade to newer firmware & update cx18 documentation. Conexant graciously gave us permission to redistribute the firmware. Update the documentation where the firmware can be downloaded. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 86d674a1324cce5708b1b84e4ae162910e201b4f Author: Hans Verkuil Date: Sat Jun 28 14:57:30 2008 -0300 V4L/DVB (8168a): cx18: Update cx18 documentation. Update the documentation, providing an updated list of supported boards. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 81cb727d29eda7692a03be035b7228b4c3f6b610 Author: Hans Verkuil Date: Sat Jun 28 12:49:20 2008 -0300 V4L/DVB (8167): cx18: set correct audio inputs for tuner and line-in 2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f313da113fe083bfb1eb43377f551db4bbe702a6 Author: Hans Verkuil Date: Sat Jun 28 08:03:02 2008 -0300 V4L/DVB (8165): cx18: fix v4l-cx23418-dig.fw firmware load. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c3cb4d95ae778dbc6a4be1e74672d645fc75c8a7 Author: Hans Verkuil Date: Fri Jun 27 23:27:25 2008 -0300 V4L/DVB (8164): cx18/ivtv: choose a better initial TV standard for cards without eeprom. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c1738904d6808a091d7d496b445d20671d513ad4 Author: Hans Verkuil Date: Fri Jun 27 15:33:02 2008 -0300 V4L/DVB (8162): cx18: fix PAL/SECAM support Reverted the 'Fix unintended auto configurations in cx18-av-core' patch, instead disable the auto config completely. Fix a bug in cx18_av_vbi_setup() where the standard tests were done in the wrong order. Tested with NTSC-M, PAL-BG, PAL-I, PAL-DK, PAL-M, PAL-Nc, SECAM-DK, SECAM-L and SECAM-BG. The last one does not work at the moment due to a tda9887.c bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e078770a050aa686f895a965f54222c0f201feb3 Author: Mauro Carvalho Chehab Date: Tue Jul 1 04:06:22 2008 -0300 V4L/DVB (8161): gspca: Fix compilation Some callbacks were renamed. Fix it. Signed-off-by: Mauro Carvalho Chehab commit 50a871fed9c82f01baa40100cd2d262784220953 Author: Jean-Francois Moine Date: Mon Jun 30 19:47:33 2008 -0300 V4L/DVB (8158): gspca: minor changes main: V4L2_PIX_FMT_SPCA501 is compressed (thanks to Hans de Goede) main: return 0 when no change on vidioc_s_fmt_cap (thanks to Hans de Goede) pac207: cleanup Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6a7eba24e4f0ff725d33159f6265e3a79d53a833 Author: Jean-Francois Moine Date: Mon Jun 30 15:50:11 2008 -0300 V4L/DVB (8157): gspca: all subdrivers - remaning subdrivers added - remove the decoding helper and some specific frame decodings Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d43fa32fec442571f10f5d0c3b553413288728de Author: Jean-Francois Moine Date: Thu Jun 12 10:58:58 2008 -0300 V4L/DVB (8156): Many bug fixes, zc3xx added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4aa0d037a6c8e6b37ecfd986a444f83190c32a21 Author: Jean-Francois Moine Date: Sun May 4 06:46:21 2008 -0300 V4L/DVB (8154): Fix protection problems in the main driver. - Protect format change when streaming active. - Protect USB exchanges on close. - Set a timeout in frame wait. - Have only one capture file and free the resources when closing this file. - Simplify the URB buffer. - Don't reset the control values at open time in pac207. - Fix compilation warnings of stk014. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e2997a72ddfafc25bd0c8f1f52bcf41979d5a559 Author: Hans de Goede Date: Wed Apr 23 08:09:12 2008 -0300 V4L/DVB (8153): Subdriver pac207 added and minor changes. pac207 added. Check status on mutex lock. Call back on frame dequeue. Free the resources on last close only. Avoid URB and ISOC errors on close. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 63eb9546dcb5e9dc39ab88a603dede8fdd18e717 Author: Jean-Francois Moine Date: Sat Apr 12 09:58:09 2008 -0300 V4L/DVB (8152): Initial release of gspca with only one driver. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8b53b39d6228cda41b7ddfc9d094a072afca6655 Author: Hans Verkuil Date: Fri Jun 27 21:18:15 2008 -0300 V4L/DVB (8151): saa7134-empress: fix MPEG control support The MPEG controls could not be enumerated and so could not be read or set through the v4l2-ctl utility or shown in control panels. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e5e4cd8df61e602202f588dd545364dba37b4cc7 Author: Tim Farrington Date: Sun Jun 29 11:54:08 2008 -0300 V4L/DVB (8149): Avermedia E506 composite Composite was originally mis-labelled as name_comp1, so it should be simply redone as name_comp, with its now corrected attributes. Signed-off-by: Tim Farrington Signed-off-by: Mauro Carvalho Chehab commit f5376adacc693155c24e4e7be3777bdd0eeb99f7 Author: Daniel Gimpelevich Date: Sat Jun 28 05:01:30 2008 -0300 V4L/DVB (8147): cxusb: add initial support for AVerTVHD Volar Add initial support for this device. The AGC and tracking filter settings for the mxl5003 are known to be wrong, but it generally works. Signed-off-by: Daniel Gimpelevich Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c0f4c0adfdb10747045fcc757a3e60ae1e1558f3 Author: Michael Krufky Date: Sat Jun 28 02:06:50 2008 -0300 V4L/DVB (8146): lgdt330x: add additional FEC control configuration option Allow the following configuration, by passing clock_polarity_flip = 2: Enable FEC automatic reset. Disable spectrum inversion. Enable viterbi resynchronization. Set polarity indicator high. Enable error flag insertion. Thanks to Daniel Gimpelevich, for discovering that this configuration is used on the AVerMedia AVerTVHD Volar. Signed-off-by: Michael Krufky CC: Daniel Gimpelevich Signed-off-by: Mauro Carvalho Chehab commit ecfceef742b816a5c8541a7d58fe215c38d4d859 Author: Mauro Carvalho Chehab Date: Sun Jun 29 08:41:19 2008 -0300 V4L/DVB (8143): Fix compilation for mt9v022 Signed-off-by: Mauro Carvalho Chehab commit 2d5b5a4733b7e32188baa250fbbc4ae11f5e6f69 Author: Mauro Carvalho Chehab Date: Sun Jun 29 08:29:00 2008 -0300 V4L/DVB (8142): ttpci: tda827x.h is at drivers/media/common As reported by Stephen Rothwell : drivers/media/dvb/ttpci/budget-ci.c:50:21: error: tda827x.h: No such file or directory Signed-off-by: Mauro Carvalho Chehab commit 84a9f33614e3cfcc7326629a503d4389c9d84e0f Author: Al Viro Date: Sun Jun 22 14:19:29 2008 -0300 V4L/DVB (8136): xc2028 unaligned access fixes Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 153755a774578dcf921f8145e786ce25f72368d2 Author: Al Viro Date: Sun Jun 22 14:19:39 2008 -0300 V4L/DVB (8135): WRITE_RPS1() converts to le32 itself ... but two ancient drivers had not noticed. Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 9c169df8d6877c618587bf40498f2ef378c97eb8 Author: Al Viro Date: Sun Jun 22 14:19:49 2008 -0300 V4L/DVB (8134): zoran annotations and fixes Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 86ecc02755ea2d00925b344272b49b26d610bbe2 Author: Al Viro Date: Sun Jun 22 14:19:59 2008 -0300 V4L/DVB (8133): cx23885 endianness fixes Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 3aa7110e1c415c38c42ef77be0ef2c7a888b9e16 Author: Al Viro Date: Sun Jun 22 14:20:09 2008 -0300 V4L/DVB (8132): bt8xx endianness annotations and fixes Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 947a080037c6ae47cfe5072eadbd189e3da27ecd Author: Al Viro Date: Sun Jun 22 14:20:19 2008 -0300 V4L/DVB (8131): dmx_write: memcpy from user-supplied pointer ... copy to kernel memory first Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit b0ba0e3ab6f452321771325b7b5578f9a804f69e Author: Al Viro Date: Sun Jun 22 14:20:29 2008 -0300 V4L/DVB (8130): split dvb_ringbuffer dual-use functions split the suckers into kernel-memory and user-memory versions, annotate both properly. Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 67778b322780200ac14e95c8089a0bd679a467d9 Author: Al Viro Date: Sun Jun 22 14:20:39 2008 -0300 V4L/DVB (8129): pluto_set_dma_addr() fix bogus cpu_to_le32() when passing dma address to hardware via writel() - writel() converts itself. Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit a36ef6b1e09d06d4f1ac769eee4bd7e6cf3e0fae Author: Al Viro Date: Sun Jun 22 14:19:19 2008 -0300 V4L/DVB (8128): saa7146: ->cpu_addr and friends are little-endian Annotations + stop saa7146_i2c from playing fast and loose with reuse of ->cpu_addr for host-endian. Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit f51b10ef6520f2bd725dc333e771eabd55d6c04f Author: Al Viro Date: Sun Jun 22 14:20:49 2008 -0300 V4L/DVB (8126): net endianness fix According to RFC 4326 (4.1) D-bit is MSB in net-endian 16bit. dvb_net.c did /* Set D-bit for CRC32 verification, * if it was set originally. */ ulen |= 0x0080; which works of little-endian (htons(1<<15) is 0x0080 there), but breaks on big-endian. Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 38f993ad8b1fe4caf9e989caf6e2a25aff3bbaf7 Author: Dean Anderson Date: Thu Jun 26 23:15:51 2008 -0300 V4L/DVB (8125): This driver adds support for the Sensoray 2255 devices. It was primarily developed by Dean Anderson with only a little bit of guidance and cleanup by Greg. Signed-off-by: Dean Anderson Signed-off-by: Greg Kroah-Hartman [mchehab@infradead.org: fixed renamed callbacks] Signed-off-by: Mauro Carvalho Chehab commit bfda3a0b3276cda7f2da1dcd98bd060b60954cbb Author: Daniel Gimpelevich Date: Sat Jun 28 01:45:26 2008 -0300 V4L/DVB (8124): Add LifeVideo To-Go Cardbus PCI ID Signed-off-by: Daniel Gimpelevich Signed-off-by: Mauro Carvalho Chehab commit a9fc52bcbeb5245b58d23c558f3e3e8f18bebbc3 Author: Devin Heitmueller Date: Sat Jun 28 08:57:06 2008 -0300 V4L/DVB (8123): Add support for em2860 based PointNix Intra-Oral Camera em28xx-cards.c em28xx-input.c em28xx-video.c em28xx.h - Add support for the PointNix Intra-Oral Camera, which required addition of a construct for reading the "snapshot" button (provided on the em2860 and em2880 chips, but this is the first case where I have seen it actually used in a product). The button is wired to pin 56 on the em2880. http://www.pointnix.com/ENG/dental/product_02.asp Thanks to Roberto Mantovani for testing the changes Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 305519c924d8f2f2f85c390c6d456dc41dbe0284 Author: Douglas Schilling Landgraf Date: Fri Jun 27 04:15:38 2008 -0300 V4L/DVB (8120): cx23885-417: Replace cx23885_do_ioctl to use video_ioctl2 Convert cx23885-417 to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9c7ecaf5ace4dba94b4c75afa395440acfb2e36c Author: Dan Taylor Date: Fri Jun 27 13:29:41 2008 -0300 V4L/DVB (8117): saa7134: Avermedia A16D composite input Signed-off-by: Star Trac by Unisen, Inc. Dan Taylor Signed-off-by: Mauro Carvalho Chehab commit 6264c80661eaa2df793dd71d4956f371be955aa2 Author: Hans Verkuil Date: Wed Jun 25 06:54:05 2008 -0300 V4L/DVB (8116): videodev: allow PRIVATE_BASE controls when called through VIDIOC_G/S_CTRL. V4L2_CID_PRIVATE_BASE controls are not allowed when called from VIDIOC_S/G_EXT_CTRL as extended controls use a better mechanism for private controls. But still allow it when called from the VIDIOC_G/S_CTRL to extended control conversion in video_ioctl2() for backwards compatibility. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c5588b5c473c3d496a2f94b80ea8254110866506 Author: Andy Walls Date: Wed Jun 25 00:24:21 2008 -0300 V4L/DVB (8114): cx18: Improve Raptor card audio input routing defintions cx18: Improved Raptor card audio input routing defintions, so that muxer values matched cx18_gpio() values for tuner, line in 1, and radio and added LED indication of selected audio input. Audio line in 2 doesn't work as it uses the not yet supported 2nd I2S port. Tuner/FM Radio AF is mono until SIF support is fixed. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit adb65bc71c8fef53822870cc9018f05b11131233 Author: Hans Verkuil Date: Wed Jun 25 06:32:44 2008 -0300 V4L/DVB (8113): ivtv/cx18: remove s/g_ctrl, now all controls are handled through s/g_ext_ctrl videodev converts old-style controls to an extended control so the ivtv and cx18 drivers no longer have to handle both. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d8799b4699af008290e141804b40c5ebf3d7dc35 Author: Hans Verkuil Date: Wed Jun 25 06:29:01 2008 -0300 V4L/DVB (8112): videodev: improve extended control support in video_ioctl2() - add sanity checks for the extended controls argument. - if the driver only supports extended controls, then convert old-style controls to an extended control callback. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 36ecd4955a5ebee6135e2bcc997712fad4ac9b69 Author: Hans Verkuil Date: Wed Jun 25 06:00:17 2008 -0300 V4L/DVB (8111): ivtv/cx18: fix compile error when CONFIG_VIDEO_ADV_DEBUG is not defined. Thanks to Randy Dunlap for reporting this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1d0a436256dc1aecfad901bcd4432dac1cabe6b2 Author: Mauro Carvalho Chehab Date: Mon Jun 23 12:31:29 2008 -0300 V4L/DVB (8110): bttv: allow debug ioctl's Signed-off-by: Mauro Carvalho Chehab commit f24648e42fd4b7d3ad5af6eaefe0214426933954 Author: Hans Verkuil Date: Sun Jun 22 12:11:13 2008 -0300 V4L/DVB (8107): cx18: improve support for the Raptor board. - add radio definition - reset the audio firmware (required for this board, harmless for the others) Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 156f194b9df243b4c347a62b37258cb088f20297 Author: Hans Verkuil Date: Sun Jun 22 12:08:16 2008 -0300 V4L/DVB (8106): ivtv/cx18: improve tuner std check in card definitions. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e0e31cdb91cddc4cfbf6d5ffa8212f694723269b Author: Hans Verkuil Date: Sun Jun 22 12:03:28 2008 -0300 V4L/DVB (8105): cx2341x: add TS capability The cx18 can support transport streams with newer firmwares. Add a TS capability to the generic cx2341x module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 37f89f9542c3945bddf46efc15a1b1e349af3f88 Author: Hans Verkuil Date: Sun Jun 22 11:57:31 2008 -0300 V4L/DVB (8104): cx18/ivtv: ioctl debugging improvements Completely rely on the video_ioctl2 debugging facilities rather than doing it ourselves. Fill in some missing fields in ivtv with VIDIOC_G_FBUF. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 21575c13125f2ef790e192e2c70e446c6cfe0d7d Author: Hans Verkuil Date: Sun Jun 22 11:55:09 2008 -0300 V4L/DVB (8103): videodev: fix/improve ioctl debugging Various ioctl debugging fixes and improvements: - use %x rather than %d for control IDs and bitmask fields - make two arrays const - show the whole control array for the ext_ctrl ioctls - print pix_fmt for V4L2_BUF_TYPE_VIDEO_OUTPUT - show full type name rather than an integer - fix CROPCAP debugging - fix G/S_TUNER debugging - show error code in case of an error - other small cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7dc1b8844eb3e0a91911f20736db87f4876e14b4 Author: Michael Krufky Date: Sat Jun 21 22:13:42 2008 -0300 V4L/DVB (8098): xc5000: add module option to load firmware during driver attach The xc5000 firmware download process can be slow on certain devices. Add a module option, "init_fw" to perform the firmware download during xc5000_attach(), which would get the firmware download over with well before any tune request is made. When this option is enabled, it will reduce the time it takes to get a signal lock during the first tune after driver load, but will add a few seconds to the driver initialization. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fa1035997cbba4c348a88f8b94eb135222aaba12 Author: Huang Weiyi Date: Sat Jun 21 14:30:33 2008 -0300 V4L/DVB (8095): zoran_driver.c: Removed duplicated include Removed duplicated include file in drivers/media/video/zoran_driver.c. Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit fdea5d69c1d335a639e39e83990de84e10fb2057 Author: Hans Verkuil Date: Sat Jun 21 13:25:36 2008 -0300 V4L/DVB (8093): cx18: fix prefix typo Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3d66c405708ee43b08788e89dbd63ebf3bbb5af1 Author: Hans Verkuil Date: Sat Jun 21 11:19:34 2008 -0300 V4L/DVB (8091): cx18: show GPIO pins when VIDIOC_LOG_STATUS is called. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 42b03fe16fe8cc2cd6575e25ed1872fd6f5da56f Author: Ian Armstrong Date: Sat Jun 21 11:09:46 2008 -0300 V4L/DVB (8090): ivtv: yuv decoder lock fix (2) The IVTV_IOC_DMA_FRAME ioctl fails to correctly 'start' the decoder. Although yuv output will be correct, some functions which should be disabled while the decoder is in use remain enabled. This can result in hardware registers being corrupted, causing problems with the mpeg decoder. This patch ensures the decoder 'start' sequence is called, disabling these functions until the device is closed. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 03c2808503b102971226007070c57410267d0b9d Author: Sri Deevi Date: Sat Jun 21 11:06:44 2008 -0300 V4L/DVB (8089): cx18: add support for Conexant Raptor PAL/SECAM card Patch provided courtesy of Conexant http://www.conexant.com. Signed-off-by: Srinivasa Deevi Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 464e9f3a0cabce9a7cf51f382f129d464483b0d0 Author: Ian Armstrong Date: Sat Jun 21 09:25:23 2008 -0300 V4L/DVB (8088): ivtv: yuv decoder lock fix write() operations to the yuv device may not always 'start' the decoder. Although yuv output will be correct, some functions which should be disabled while the decoder is in use remain enabled. This can result in hardware registers being corrupted, causing problems with the mpeg decoder. This patch simply moves the existing decoder 'start' sequence to earlier in the write() handler. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0b5a30e90ddcb0095a1bfc4b44eb3fd1e8ee9f3c Author: Hans Verkuil Date: Sat Jun 21 09:22:19 2008 -0300 V4L/DVB (8087): cx18: make sure all v4l2_format fields are filled in Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e27bf207db4fc6dd500eb82611f102da85cfe7d0 Author: Hans Verkuil Date: Sat Jun 21 09:21:23 2008 -0300 V4L/DVB (8086): ivtv/cx18: fix video_temporal_filter handling If the capture is scaled, then the video_temporal_filter is set to 0 by the cx2341x.c module since otherwise you would get ghosting. However, this was also done in the VIDIOC_S_FMT ioctl which meant that the video_temporal_filter control was reset to 0 or 8 each time S_FMT was called. This was old code that should have been removed a long time ago. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5cf2cc4803a0415f7048951a727204df414325e6 Author: Hans Verkuil Date: Sat Jun 21 09:06:59 2008 -0300 V4L/DVB (8085): ivtv: fill in all v4l2_framebuffer fields in VIDIOC_G/S_FBUF Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 79afcb10dfdd3287875666de34c23510423058b8 Author: Hans Verkuil Date: Sat Jun 21 09:02:36 2008 -0300 V4L/DVB (8084): ivtv/cx18: remove unnecessary memsets & KERNEL_VERSION tests Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8bfb9b1ce62757b8dea07c239efbbeec7bac811a Author: Hans Verkuil Date: Sat Jun 21 08:57:42 2008 -0300 V4L/DVB (8083): videodev: zero fields for ENCODER_CMD and VIDIOC_G_SLICED_VBI_CAP This avoids the need of memsets in the ivtv/cx18 drivers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3b6fe58f0f18880200969e813d0181d1bdab0966 Author: Andy Walls Date: Sat Jun 21 08:36:31 2008 -0300 V4L/DVB (8082): cx18: convert to video_ioctl2() cx18: convert driver to use video_ioctl2(). Pushed down ioctl debug messages and priority checks as well. Still left serialization lock in place for now. #if 0'ed out sliced vbi ioctl code for now. Patch heavily based on similar changes made to ivtv by Hans Verkuil. Signed-off-by: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1a05221bc45ccb1b5c583a87dc3639bfc10c4f10 Author: Hans Verkuil Date: Sat Jun 21 08:15:37 2008 -0300 V4L/DVB (8081): ivtv: remove obsolete arrays. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e88360c0f306de8535b5072c7c0dcae20f75af62 Author: Hans Verkuil Date: Sat Jun 21 08:00:56 2008 -0300 V4L/DVB (8080): ivtv: make sure all v4l2_format fields are filled in Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3f038d80039f60e4340eaedd13369e0d2c758b80 Author: Hans Verkuil Date: Thu May 29 16:43:54 2008 -0300 V4L/DVB (8079): ivtv: Convert to video_ioctl2. Based on an initial conversion patch from Douglas Landgraf. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 539a7555b31e65e66fb84c881d07d2bf18c974d0 Author: brandon@ifup.org Date: Fri Jun 20 22:58:53 2008 -0300 V4L/DVB (8078): Introduce "index" attribute for persistent video4linux device nodes A number of V4L drivers have a mod param to specify their preferred minors. This is because it is often desirable for applications to have a static /dev name for a particular device. However, using minors has several disadvantages: 1) the requested minor may already be taken 2) using a mod param is driver specific 3) it requires every driver to add a param 4) requires configuration by hand This patch introduces an "index" attribute that when combined with udev rules can create static device paths like this: /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video0 /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video1 /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video2 $ ls -la /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video0 lrwxrwxrwx 1 root root 12 2008-04-28 00:02 /dev/v4l/by-path/pci-0000:00:1d.2-usb-0:1:1.0-video0 -> ../../video1 These paths are steady across reboots and should be resistant to rearranging across Kernel versions. video_register_device_index is available to drivers to request a specific index number. Signed-off-by: Brandon Philips Signed-off-by: Kees Cook Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit bbfc4c234e240b67ccd9cdca72d76267bad0dc96 Author: Oliver Endriss Date: Thu Jun 19 23:36:45 2008 -0300 V4L/DVB (8076): budget-ci: Support the bundled remote control of the TT DVB-C 1501 Support the bundled remote control of the TT DVB-C 1501 Thanks-to: SG Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ccb43646ed574ef0d1ab6ddf73283a3c7caa426d Author: Oliver Endriss Date: Thu Jun 19 22:56:03 2008 -0300 V4L/DVB (8072): av7110: Removed some obsolete definitions and one unused variable Removed some obsolete definitions and one unused variable. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 980b59fb5b4ed4fac91dc57f4e50593faa804f8f Author: Mauro Carvalho Chehab Date: Wed Jun 18 16:23:52 2008 -0300 V4L/DVB (8065): Add missing selects at dvb-usb/Kconfig Add missing auto-selects for MEDIA_TUNER_XC2028 and DVB_TDA1004X at dvb-usb/Kconfig. Signed-off-by: Mauro Carvalho Chehab commit fb733bf52377a2a91d9f85775a2bd1d877927ea0 Author: Michael Krufky Date: Tue Jun 17 15:32:08 2008 -0300 V4L/DVB (8060): Kconfig: MEDIA_TUNER_CUSTOMIZE should be disabled by default The build option, MEDIA_TUNER_CUSTOMIZE, allows us to disable tuner drivers that would have otherwise been selected by default. This is an advanced customization option that should be disabled by default. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 03a0ea11e2db5cf4fb47ca78cb25c4f7b9c8293b Author: Mauro Carvalho Chehab Date: Wed Jun 18 09:27:21 2008 -0300 V4L/DVB (8059): Add missing select for MEDIA_TUNER_TDA827X $ find linux/drivers/media/dvb -exec grep -l tda827x_attach '{}' \; linux/drivers/media/dvb/dvb-usb/m920x.c linux/drivers/media/dvb/ttpci/budget-ci.c Signed-off-by: Mauro Carvalho Chehab commit a046e43dc884e4cd01c682b22db9cc872d7b0e60 Author: Mauro Carvalho Chehab Date: Mon Jun 16 12:35:06 2008 -0300 V4L/DVB (8051): ttpci/Kconfig: Technotrend budget C-1501 needs tda10023 Auto-selects tda10023, for budget-ci, if !DVB_FE_CUSTOMISE. This is needed for Technotrend budget C-1501 dvb board. Signed-off-by: Mauro Carvalho Chehab commit c121ba1f408eb13ff50891ff8d9e5914f993939c Author: Mauro Carvalho Chehab Date: Mon Jun 16 12:31:57 2008 -0300 V4L/DVB (8050): Add register get/set debug ioctls to saa7134 Signed-off-by: Mauro Carvalho Chehab commit 11417daab6d596f8d4851476777ca49fb3b12a87 Author: Sigmund Augdal Date: Sun Jun 15 17:25:46 2008 -0300 V4L/DVB (8049): budget-ci: Add support for Technotrend budget C-1501 dvb-c card The following experimental patch adds support for the technotrend budget C-1501 dvb-c card. The parameters used to configure the tda10023 demod chip are largely determined experimentally, but works quite for me in my initial tests. Signed-off-by: Sigmund Augdal Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit df9b5d4cf636f992276b6b595620d9b2a63095db Author: Jean Delvare Date: Sun Jun 15 12:20:18 2008 -0300 V4L/DVB (8047): bt8xx: i2c structure templates clean-up Clean up the use of structure templates in bttv-i2c. For one thing, a real template is supposed to be read-only. And in some cases it's more efficient to initialize the few fields we need individually. This clean-up shrinks bttv-i2c.o by 29% (x86_64). Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 6275163e3ddbf0f0b34981bf6dc50b803e5a1c67 Author: Jean Delvare Date: Thu Jun 12 13:20:46 2008 -0300 V4L/DVB (8046): zoran: i2c structure templates clean-up Clean up the use of structure templates in zoran_card. For one thing, a real template is supposed to be read-only. And in some cases it's more efficient to initialize the few fields we need individually. Signed-off-by: Jean Delvare Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 9fdd9caf44296213c1e1130e86c2f919f83124da Author: Antti Palosaari Date: Wed Jun 11 11:43:19 2008 -0300 V4L/DVB (8032): Anysee: fix Kconfig - select DVB_PLL - fix typos in comments Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 5ae2fcaee4b0d6bf0fa5d9bd71e1291c9a9a6e60 Author: Antti Palosaari Date: Mon Jun 9 22:58:22 2008 -0300 V4L/DVB (8031): Anysee: support for Anysee E30C Plus rev 0.4 - support for Anysee E30C Plus rev 0.4 - set IO port E - set correct TS mode - change deltaf according to latest Windows driver Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit e75888661a7008503e3d147f92499d9c30ebf6e3 Author: Antti Palosaari Date: Mon Jun 9 22:53:04 2008 -0300 V4L/DVB (8030): TDA10023: make TS output mode configurable - make TS output mode configurable Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 584ce48de9e01838402c8e82c78f166775ea3075 Author: Mauro Carvalho Chehab Date: Tue Jun 10 15:21:49 2008 -0300 V4L/DVB (8024): vivi: rename MODULE_NAME macro to VIVI_MODULE_NAME to avoid namespace conflicts Signed-off-by: Mauro Carvalho Chehab commit 745271aefec602326b1dafded778d1eb94bc50ad Author: Carl Karsten Date: Tue Jun 10 00:02:32 2008 -0300 V4L/DVB (8023): vivi: announce that it is registered as /dev/video%d Signed-off-by: Carl Karsten Signed-off-by: Mauro Carvalho Chehab commit 878cf2a5d86c7045b480f09b56b96a779449b0f6 Author: Dmitry Belimov Date: Tue Jun 10 14:22:00 2008 -0300 V4L/DVB (8021): Beholder's cards description Split the Beholder M6 family to different models. Because M6 hasn`t RDS, M63 has chip with AC3 codec, M6 Extra has other type of HF module. Add correct data for support MPEG encoder. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 37df96d39eefd0c1db69a336895c4691d2bc63a1 Author: Dmitry Belimov Date: Tue Jun 10 12:43:58 2008 -0300 V4L/DVB (8019): New for I2S on for MPEG of saa7134_empress Rework saa7134_enable_i2s function. Remove vendor specific data. Configure I2S output port specific for model of SAA7133/5-SAA7134. I think it is more good. Renamed definition of I2S audio output control register. It`s SAA7133/5 register Start video port after configuring procedure. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit fb49558c3b6b55c0f3378b7e8935c2d9e357f93a Author: Antti Palosaari Date: Wed May 28 22:16:31 2008 -0300 V4L/DVB (8014): gl861: coding style fixes - coding style fixes raised by checkpatch Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 17d9d558e818530cc7d210ffea575a36f48eaa1a Author: Devin Heitmueller Date: Sun Jun 8 10:22:03 2008 -0300 V4L/DVB (8006): em28xx: Split HVR900 into two separate entries - Separate the newer variant of the HVR-900 into its own device profile because it has a Micronas DRX397 instead of the Zarlink demod. This doesn't make the device work, but at least we don't try to initialize it as though it had the Zarlink device. Signed-off-by: Devin Heitmueller [mchehab@infradead.org: avoid compilation breakage at mainstream, where drx397xD.h doesn't exist yet] Signed-off-by: Mauro Carvalho Chehab commit bbc8995f9fa3f9cdd77aeb7c9bbf5bf526feca3c Author: Tobias Lorenz Date: Sat May 31 15:11:32 2008 -0300 V4L/DVB (7997): si470x: hardware frequency seek support This patch brings the following changes: - this now finally adds hardware frequency seek support Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ace7d4bbe6170ef9b72bfa82c3e5769d250fffae Author: Tobias Lorenz Date: Sat May 31 15:09:07 2008 -0300 V4L/DVB (7996): si470x: afc indication This patch brings the following changes: - afc indication: device has no indication whether freq is too low or too high therefore afc always return 1, when freq is wrong Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit a7c850a07eddf0e0f515d57b2ce696a9779c6ed1 Author: Tobias Lorenz Date: Sat May 31 15:07:52 2008 -0300 V4L/DVB (7995): si470x: a lot of small code cleanups This patch brings the following changes: - comment on how to listen to an usb audio device   (i get so many questions about that...) - code cleanup (error handling, more warnings, spacing, ...) Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 6cc72658897ee970e4ecfefaae58f043a98a8e65 Author: Tobias Lorenz Date: Sat May 31 15:06:50 2008 -0300 V4L/DVB (7994): si470x: let si470x_get_freq return errno This patch brings the following changes: - version bumped to 1.0.8 for all the following patches - si470x_get_freq now returns errno Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ce5829e5fc8204af09db5b226a3dce9824e7d596 Author: Tobias Lorenz Date: Sat May 31 15:04:32 2008 -0300 V4L/DVB (7993): si470x: move global lock to device structure this patch brings the following changes: - move the global disconnect lock into the device structure - code cleanup (spaces to tabs, long line splits, ...) Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 4fd305b2a2c4d16e8d4ebc95c84f946edd3385c5 Author: Devin Heitmueller Date: Wed Jun 4 13:43:46 2008 -0300 V4L/DVB (7992): Add support for Pinnacle PCTV HD Pro stick (the older variant 2304:0227) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 72937890f98167cbe626f24df2c16d6b63e3e357 Author: Hans Verkuil Date: Sun Jun 1 10:35:18 2008 -0300 V4L/DVB (7988): soc_camera: missed fmt callback conversion. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 335377b73dd0b0af1fbd283ceae6fcb87a747885 Author: Michael Krufky Date: Wed May 7 01:43:10 2008 -0300 V4L/DVB (7986): cx23885: add initial support for DViCO FusionHDTV7 Dual Express Only one frontend is enabled right now. The second frontend can lock, but transport doesn't work yet. The device will be supported as a single tuner device until the second frontend is working. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26151c32d3d001f64e75871588acd0aff3f216d7 Author: Michael Krufky Date: Tue Jun 3 05:16:37 2008 -0300 V4L/DVB (7984): tda18271: update filename in comments This file was renamed but we forgot to change it in the comments. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f808a9e3cefd577d96d43d308685468c0a03185e Author: Dmitri Belimov Date: Wed May 21 03:16:52 2008 -0300 V4L/DVB (7976): I2S on for MPEG of saa7134_empress Rework saa7134_enable_i2s function. Add vendor specific data. Add definition for I2S audio output control register. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 53af158a901a32dd8639fbe03db5354ab711d8f0 Author: Antti Palosaari Date: Wed May 28 03:57:39 2008 -0300 V4L/DVB (7952): AU6610: various cosmetic changes - update license comments - change MODULE_DESCRIPTION from device specific to chipset specific - correct debug switch from deb_rc to deb_info - correct MPEG2 stream interval from 1.25 to 1 - change frontend_attach error code from -EIO to -ENODEV Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit bbf23af2b10926c0d489d74814d9744cd495c3bc Author: Antti Palosaari Date: Wed May 28 01:01:04 2008 -0300 V4L/DVB (7951): AU6610: remove useless identify_state - remove useless identify_state - device is always warm Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit b6b2d268445ad4f5fac495bbbae6d2922f0becd9 Author: Antti Palosaari Date: Wed May 28 00:53:27 2008 -0300 V4L/DVB (7950): AU6610: coding style fixes - coding style fixes raised by checkpatch Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 78b526a43561d7e5e702ba27948e422dfbc4bea1 Author: Hans Verkuil Date: Wed May 28 12:16:41 2008 -0300 V4L/DVB (7949): videodev: renamed the vidioc_*_fmt_* callbacks The naming for the callbacks that handle the VIDIOC_ENUM_FMT and VIDIOC_S/G/TRY_FMT ioctls was very confusing. Renamed it to match the v4l2_buf_type name. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0e3bd2b9996dfa4105617e2369155823df6b389a Author: Hans Verkuil Date: Tue May 27 22:31:43 2008 -0300 V4L/DVB (7948): videodev: add missing vidioc_try_fmt_sliced_vbi_output and VIDIOC_ENUMOUTPUT handling There was no vidioc_try_fmt_sliced_vbi_output, instead vidioc_try_fmt_vbi_output was reused. The VIDIOC_ENUMOUTPUT handling was missing altogether, even though the callback existed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b2de2313f170c3f7341d3a94365c5139a23067a7 Author: Hans Verkuil Date: Wed May 28 08:27:00 2008 -0300 V4L/DVB (7947): videodev: add vidioc_g_std callback. The default videodev behavior for VIDIOC_G_STD is not correct for all devices. Add a new callback that drivers can use instead. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7bb846afceafdaceb88d2ed2e861585d26e353b9 Author: Hans Verkuil Date: Tue May 27 21:32:08 2008 -0300 V4L/DVB (7946): videodev: small fixes for VIDIOC_G_FREQUENCY and VIDIOC_G_FMT __video_do_ioctl incorrectly zeroed the tuner field of v4l2_frequency and did not zero the full fmt union of v4l2_format. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1d0ba5f3784612fe6e91a12e0dec37c797d4f07c Author: Tobias Lorenz Date: Mon May 26 18:40:46 2008 -0300 V4L/DVB (7942): Hardware frequency seek ioctl interface Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit f90fe7a3f7fcba0abd89ce0978628ef1d86ecbf9 Author: Mike Isely Date: Mon May 26 06:00:47 2008 -0300 V4L/DVB (7939): pvrusb2: Remove sysfs interface hackery Back in the early days of the pvrusb2 driver, the kernel class mechanism in use for the sysfs interface had no means to pass per-attribute information to the show / store functions. This forced me to implement a horrible ugly thunking mechanism (i.e. infer the missing data through the use of dedicated cookie cutter bounce functions). However now we're using a better mechanism which also passes enough additional information to the show / store functions that we no longer need the hack. So eliminate all the crap. Yay! Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fa98e594220b86eb3632de478352e93ebf1201fa Author: Mike Isely Date: Mon May 26 05:54:24 2008 -0300 V4L/DVB (7938): pvrusb2: Increase enforced encoder wait delay to improve reliability The driver enforces a "quiet period" on the encoder in certain situations before attempting to operate it. This seems to help avoid video encoding errors / corruption. The quiet period was 50msec, but through experimentation it has been observed to improve further if the interval is increased to 100msec. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 83ce57aa45a59e25146a32ee9f68edb7eecacd2b Author: Mike Isely Date: Mon May 26 05:51:57 2008 -0300 V4L/DVB (7937): pvrusb2: Change several embedded timer constants to defined values This is primarily a cosmetic change to make it easier to change some of the time constants used in the driver. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 64723b301846636accbfb1539ebda0835f683a72 Author: Mike Isely Date: Sun May 25 17:08:13 2008 -0300 V4L/DVB (7936): pvrusb2: Remove svn Id keyword from all sources Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4451342db5b5b779add112c6b15d676f07c73b33 Author: Hans Verkuil Date: Tue May 20 06:24:04 2008 -0300 V4L/DVB (7927): ivtv: simplify gpio initialization for XCeive tuners. Separate gpio_init field and xceive_pin and combine the two when the gpio is initialized. So there is no longer any need to set the xceive pin in the gpio_init values, simplifying the creation of a new card definition. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d56eebfbdc11d1a3809d8bd793a118da5058ffa8 Author: Hans Verkuil Date: Tue May 20 06:19:47 2008 -0300 V4L/DVB (7926): ivtv: add support for the Buffalo PC-MV5L/PCI card. Thanks to Peter Brandt for doing the necessary tests to fill out the card definition! Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b4ac3c8d8de387366be11c7320693e0b14429a49 Author: Jean Delvare Date: Tue May 13 18:27:15 2008 -0300 V4L/DVB (7924): ivtv/cx18: snprintf fixes snprinf() takes the trailing \0 into account in its length calculations, so there is no need to subtract 1 to the buffer size. Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 54b6550e430aa8739dceb5ba0fe4325c0208d3a7 Author: Michael Krufky Date: Sun May 25 13:28:46 2008 -0300 V4L/DVB (7921): s5h1411.c shouldn't #include "dvb-pll.h" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bbe09cbe3f082b0af8fd83ccdf5ce1cf005da3eb Author: Michael Krufky Date: Sun May 25 13:27:57 2008 -0300 V4L/DVB (7920): s5h1409.c shouldn't #include "dvb-pll.h" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 073204326d8f767e9702257c140ca1cf3071fd46 Author: Michael Krufky Date: Sun May 25 00:25:08 2008 -0300 V4L/DVB (7917): au8522.c shouldn't #include "dvb-pll.h" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a51e34dd6080d8d5c9e95a4e0292cd4cb889a61b Author: Antti Palosaari Date: Sat May 17 23:05:48 2008 -0300 V4L/DVB (7914): Anysee: driver for Anysee DVB-T/C receiver - driver for Anysee DVB-T/C receiver Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 139dfeb2611ce92dec4c6b77297d209748340a21 Author: Antti Palosaari Date: Sat May 17 23:02:00 2008 -0300 V4L/DVB (7913): DVB-PLL: add Samsung DTOS403IH102A tuner - add Samsung DTOS403IH102A tuner Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 4388c3b4fe0362e8bb3fe3a09b312db929b8c730 Author: Antti Palosaari Date: Sat May 17 22:58:04 2008 -0300 V4L/DVB (7912): TDA10023: make few parameters configurable - separate TDA10021 and TDA10023 attach - configurable Xtal settings - configurable input freq offset + baseband conversion type settings Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 34cb61693e204897a6ae37d56a1e07d0cdd8cdbf Author: Sakari Ailus Date: Tue May 13 09:21:06 2008 -0300 V4L/DVB (7897): TCM825x: Include invertation of image mirroring in configuration Add invertation of image mirroring register bits to default configuration. This is useful when the camera module is e.g. mounted upside down. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 4cbeb3711481a7e563fe4c61888986c4aa1cb22e Author: Ian Armstrong Date: Mon May 12 11:53:10 2008 -0300 V4L/DVB (7886): ivtvfb: Use DMA for write() write() operations to the ivtv framebuffer will now attempt to use DMA if the amount of data to copy is >= 4096 bytes. This change effectively depreciates the need for the proprietary IVTVFB_IOC_DMA_FRAME ioctl since a write() of sufficient size will do the same thing. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5a4f5da6552e6c55eff6fbddfee3eab908325c63 Author: Michael Krufky Date: Sun May 11 16:37:50 2008 -0300 V4L/DVB (7883): pvrusb2: make default frequency configurable via modprobe option The pvrusb2 driver initially sets the tuner to known broadcast frequencies in the Chicago area, to ease driver testing for the maintainer. This patch keeps those default frequencies, but allows them to be altered via modprobe option. This allows the same ease and convenience for testing multiple pvrusb2 devices one after another under other conditions and areas. For instance, the default initial frequency, 175.25 MHz, might not necessarily be valid on all cable television networks, but usually will be a valid NTSC broadcast channel. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e9b59f6e2f6686016dfea7625e98fbef1e335c61 Author: Adrian Bunk Date: Sat May 10 04:35:24 2008 -0300 V4L/DVB (7882): pvrusb2: make code static This patch makes the following needlessly global code static: - pvrusb2-devattr.c: struct pvr2_onair_creator_fe_props - pvrusb2-devattr.c: struct pvr2_onair_usb2_fe_props - pvrusb2-devattr.c: struct pvr2_73xxx_dvb_props - pvrusb2-devattr.c: struct pvr2_750xx_dvb_props - pvrusb2-devattr.c: struct pvr2_751xx_dvb_props - pvrusb2-hdw.c:pvr2_led_ctrl_hauppauge() Signed-off-by: Adrian Bunk Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5ad6b816e2227a7daf9569f1dbb8d7af90b387b2 Author: Harvey Harrison Date: Tue Apr 15 22:22:11 2008 -0300 V4L/DVB (7586): radio: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 722c05f2192070bac0208b2c16ce13929b32d92f Author: Avi Kivity Date: Sun Jul 13 11:33:54 2008 +0300 KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts The direct mapped shadow code (used for real mode and two dimensional paging) sets upper-level ptes using direct assignment rather than calling set_shadow_pte(). A nonpae host will split this into two writes, which opens up a race if another vcpu accesses the same memory area. Fix by calling set_shadow_pte() instead of assigning directly. Noticed by Izik Eidus. Signed-off-by: Avi Kivity commit 2a7c5b8b550b1fb1db9eb490420132e637f5dcb4 Author: Glauber Costa Date: Thu Jul 10 17:08:15 2008 -0300 KVM: x86 emulator: emulate clflush If the guest issues a clflush in a mmio address, the instruction can trap into the hypervisor. Currently, we do not decode clflush properly, causing the guest to hang. This patch fixes this emulating clflush (opcode 0f ae). Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 376c53c2b30d4a1955240f59f4ecd959aa118f92 Author: Marcelo Tosatti Date: Thu Jul 10 20:54:29 2008 -0300 KVM: MMU: improve invalid shadow root page handling Harden kvm_mmu_zap_page() against invalid root pages that had been shadowed from memslots that are gone. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 34d4cb8fca1f2a31be152b74797e6cd160ec9de6 Author: Marcelo Tosatti Date: Thu Jul 10 20:49:31 2008 -0300 KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction Flush the shadow mmu before removing regions to avoid stale entries. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d6e88aec07aa8f6c7e4024f5734ec659fd7c5a40 Author: Avi Kivity Date: Thu Jul 10 16:53:33 2008 +0300 KVM: Prefix some x86 low level function with kvm_, to avoid namespace issues Fixes compilation with CONFIG_VMI enabled. Signed-off-by: Avi Kivity commit c65bbfa1d693d375da51f9c8aa9fb26f09fa19ed Author: Ben-Ami Yassour Date: Sun Jul 6 17:15:07 2008 +0300 KVM: check injected pic irq within valid pic irqs Check that an injected pic irq is between 0 and 15. Signed-off-by: Ben-Ami Yassour Signed-off-by: Avi Kivity commit 19fdfa0d133ae216e9d1c69a8333fe63fcf8e584 Author: Mohammed Gamal Date: Sun Jul 6 16:51:26 2008 +0300 KVM: x86 emulator: Fix HLT instruction This patch fixes issue encountered with HLT instruction under FreeDOS's HIMEM XMS Driver. The HLT instruction jumped directly to the done label and skips updating the EIP value, therefore causing the guest to spin endlessly on the same instruction. The patch changes the instruction so that it writes back the updated EIP value. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit ac9f6dc0db0b5582ebf8bb720d7c41c3d2159013 Author: Avi Kivity Date: Sun Jul 6 15:48:31 2008 +0300 KVM: Apply the kernel sigmask to vcpus blocked due to being uninitialized Signed-off-by: Avi Kivity commit 4e1096d27f3d095735c1c69c7b0a26a06a0d454e Author: Sheng Yang Date: Sun Jul 6 19:16:51 2008 +0800 KVM: VMX: Add ept_sync_context in flush_tlb Fix a potention issue caused by kvm_mmu_slot_remove_write_access(). The old behavior don't sync EPT TLB with modified EPT entry, which result in inconsistent content of EPT TLB and EPT table. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5a4c92880493945678315a6df810f7a21f55b985 Author: Marcelo Tosatti Date: Thu Jul 3 18:33:02 2008 -0300 KVM: mmu_shrink: kvm_mmu_zap_page requires slots_lock to be held kvm_mmu_zap_page() needs slots lock held (rmap_remove->gfn_to_memslot, for example). Since kvm_lock spinlock is held in mmu_shrink(), do a non-blocking down_read_trylock(). Untested. Signed-off-by: Avi Kivity commit 7e37c2998a5a0b00134f6227167694b710f57ac0 Author: Adrian Bunk Date: Tue Jul 1 01:19:19 2008 +0300 x86: KVM guest: make kvm_smp_prepare_boot_cpu() static This patch makes the needlessly global kvm_smp_prepare_boot_cpu() static. Signed-off-by: Adrian Bunk Signed-off-by: Avi Kivity commit 0da1db75a2feca54564add30828bab658982481c Author: Joerg Roedel Date: Wed Jul 2 16:02:11 2008 +0200 KVM: SVM: fix suspend/resume support On suspend the svm_hardware_disable function is called which frees all svm_data variables. On resume they are not re-allocated. This patch removes the deallocation of svm_data from the hardware_disable function to the hardware_unsetup function which is not called on suspend. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 180c12fb22bd17c7187ae1bce023d24a42b2980c Author: Christian Borntraeger Date: Fri Jun 27 15:05:40 2008 +0200 KVM: s390: rename private structures While doing some tests with our lcrash implementation I have seen a naming conflict with prefix_info in kvm_host.h vs. addrconf.h To avoid future conflicts lets rename private definitions in asm/kvm_host.h by adding the kvm_s390 prefix. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 4da29e909ea8087de09e27476f91f51a070cabe8 Author: Christian Borntraeger Date: Fri Jun 27 15:05:38 2008 +0200 KVM: s390: Set guest storage limit and offset to sane values Some machines do not accept 16EB as guest storage limit. Lets change the default for the guest storage limit to a sane value. We also should set the guest_origin to what userspace thinks it is. This allows guests starting at an address != 0. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit dfdded7c41e5b68c79a9f8a942d41f56bc265ba4 Author: Carsten Otte Date: Fri Jun 27 15:05:34 2008 +0200 KVM: Fix memory leak on guest exit This patch fixes a memory leak, we want to free the physmem when destroying the vm. Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit eff0114ac3d3a20a5c93b31b00134e59bfc75189 Author: Carsten Otte Date: Fri Jun 27 15:05:31 2008 +0200 KVM: s390: dont allocate dirty bitmap This patch #ifdefs the bitmap array for dirty tracking. We don't have dirty tracking on s390 today, and we'd love to use our storage keys to store the dirty information for migration. Therefore, we won't need this array at all, and due to our limited amount of vmalloc space this limits the amount of guests we can run. Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit f8b78fa3d406f3a2dc038e2b47749013a9295994 Author: Marcelo Tosatti Date: Mon Jun 23 12:04:25 2008 -0300 KVM: move slots_lock acquision down to vapic_exit There is no need to grab slots_lock if the vapic_page will not be touched. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit efa67e0d1f51842393606034051d805ab9948abd Author: Chris Lalancette Date: Fri Jun 20 09:51:30 2008 +0200 KVM: VMX: Fake emulate Intel perfctr MSRs Older linux guests (in this case, 2.6.9) can attempt to access the performance counter MSRs without a fixup section, and injecting a GPF kills the guest. Work around by allowing the guest to write those MSRs. Tested by me on RHEL-4 i386 and x86_64 guests, as well as F-9 guests. Signed-off-by: Chris Lalancette Signed-off-by: Avi Kivity commit 65267ea1b3e768dc54b63cd7fad520d89c27d350 Author: Sheng Yang Date: Wed Jun 18 14:43:38 2008 +0800 KVM: VMX: Fix a wrong usage of vmcs_config The function ept_update_paging_mode_cr0() write to CPU_BASED_VM_EXEC_CONTROL based on vmcs_config.cpu_based_exec_ctrl. That's wrong because the variable may not consistent with the content in the CPU_BASE_VM_EXEC_CONTROL MSR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit db475c39eca0f2e44953d96e768d7ce808ab85bd Author: Avi Kivity Date: Sun Jun 22 16:46:22 2008 +0300 KVM: MMU: Fix printk format Signed-off-by: Avi Kivity commit 6ada8cca79cb971f5da7d1756f4f9292e3ef1e03 Author: Avi Kivity Date: Sun Jun 22 16:45:24 2008 +0300 KVM: MMU: When debug is enabled, make it a run-time parameter Signed-off-by: Avi Kivity commit 7a5b56dfd3a682a51fc84682290d5147872a8e99 Author: Avi Kivity Date: Sun Jun 22 16:22:51 2008 +0300 KVM: x86 emulator: lazily evaluate segment registers Instead of prefetching all segment bases before emulation, read them at the last moment. Since most of them are unneeded, we save some cycles on Intel machines where this is a bit expensive. Signed-off-by: Avi Kivity commit 0adc8675d645940139d12477e5e05b8a0a7a1117 Author: Avi Kivity Date: Sun Jun 15 22:45:54 2008 -0700 KVM: x86 emulator: avoid segment base adjust for lea Signed-off-by: Avi Kivity commit f5b4edcd52e78556800f90d08bfc9126416ac82f Author: Avi Kivity Date: Sun Jun 15 22:09:11 2008 -0700 KVM: x86 emulator: simplify rip relative decoding rip relative decoding is relative to the instruction pointer of the next instruction; by moving address adjustment until after decoding is complete, we remove the need to determine the instruction size. Signed-off-by: Avi Kivity commit 84411d85dacdb6665578608c6a70fc8b819761a8 Author: Avi Kivity Date: Sun Jun 15 21:53:26 2008 -0700 KVM: x86 emulator: simplify r/m decoding Consolidate the duplicated code when not in any special case. Signed-off-by: Avi Kivity commit dc71d0f1620790ec8e54101ca37e7b31e31208a8 Author: Avi Kivity Date: Sun Jun 15 21:23:17 2008 -0700 KVM: x86 emulator: simplify sib decoding Instead of using sparse switches, use simpler if/else sequences. Signed-off-by: Avi Kivity commit 8684c0af0b2bab770c257e2a04e1546eed35fa56 Author: Avi Kivity Date: Sun Jun 15 21:13:41 2008 -0700 KVM: x86 emulator: handle undecoded rex.b with r/m = 5 in certain cases x86_64 does not decode rex.b in certain cases, where the r/m field = 5. Signed-off-by: Avi Kivity commit b13354f8f092884fa8d79472404de4907b25d579 Author: Mohammed Gamal Date: Sun Jun 15 19:37:38 2008 +0300 KVM: x86 emulator: emulate nop and xchg reg, acc (opcodes 0x90 - 0x97) Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit f76c710d759250a43976bcfcab6af6ebb94b7dc2 Author: Avi Kivity Date: Fri Jun 13 22:45:42 2008 +0300 KVM: Use printk_rlimit() instead of reporting emulation failures just once Emulation failure reports are useful, so allow more than one per the lifetime of the module. Signed-off-by: Avi Kivity commit 9ef621d3be56e1188300476a8102ff54f7b6793f Author: Tan, Li Date: Fri May 23 14:54:09 2008 +0800 KVM: Support mixed endian machines Currently kvmtrace is not portable. This will prevent from copying a trace file from big-endian target to little-endian workstation for analysis. In the patch, kernel outputs metadata containing a magic number to trace log, and changes 64-bit words to be u64 instead of a pair of u32s. Signed-off-by: Tan Li Acked-by: Jerone Young Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 25be46080f1a446cb2bda3daadbd22a5682b955e Author: Glauber Costa Date: Tue Jun 10 10:46:53 2008 -0300 KVM: Do not calculate linear rip in emulation failure report If we're not gonna do anything (case in which failure is already reported), we do not need to even bother with calculating the linear rip. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 622395a9e63bf87a16faecf555ed02375cbae5b7 Author: Marcelo Tosatti Date: Wed Jun 11 19:52:53 2008 -0300 KVM: only abort guest entry if timer count goes from 0->1 Only abort guest entry if the timer count went from 0->1, since for 1->2 or larger the bit will either be set already or a timer irq will have been injected. Using atomic_inc_and_test() for it also introduces an SMP barrier to the LAPIC version (thought it was unecessary because of timer migration, but guest can be scheduled to a different pCPU between exit and kvm_vcpu_block(), so there is the possibility for a race). Noticed by Avi. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 7f39f8ac177db258200053074aa7a3d98656b1cf Author: Laurent Vivier Date: Fri May 30 16:05:57 2008 +0200 KVM: Add coalesced MMIO support (ia64 part) This patch enables coalesced MMIO for ia64 architecture. It defines KVM_MMIO_PAGE_OFFSET and KVM_CAP_COALESCED_MMIO. It enables the compilation of coalesced_mmio.c. [akpm: fix compile error on ia64] Signed-off-by: Laurent Vivier Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 588968b6b7d34e6a88f538d1db9aca47b203623e Author: Laurent Vivier Date: Fri May 30 16:05:56 2008 +0200 KVM: Add coalesced MMIO support (powerpc part) This patch enables coalesced MMIO for powerpc architecture. It defines KVM_MMIO_PAGE_OFFSET and KVM_CAP_COALESCED_MMIO. It enables the compilation of coalesced_mmio.c. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 542472b53ea9e0add0ba23976018210191d84754 Author: Laurent Vivier Date: Fri May 30 16:05:55 2008 +0200 KVM: Add coalesced MMIO support (x86 part) This patch enables coalesced MMIO for x86 architecture. It defines KVM_MMIO_PAGE_OFFSET and KVM_CAP_COALESCED_MMIO. It enables the compilation of coalesced_mmio.c. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 5f94c1741bdc7a336553122036e8a779e616ccbf Author: Laurent Vivier Date: Fri May 30 16:05:54 2008 +0200 KVM: Add coalesced MMIO support (common part) This patch adds all needed structures to coalesce MMIOs. Until an architecture uses it, it is not compiled. Coalesced MMIO introduces two ioctl() to define where are the MMIO zones that can be coalesced: - KVM_REGISTER_COALESCED_MMIO registers a coalesced MMIO zone. It requests one parameter (struct kvm_coalesced_mmio_zone) which defines a memory area where MMIOs can be coalesced until the next switch to user space. The maximum number of MMIO zones is KVM_COALESCED_MMIO_ZONE_MAX. - KVM_UNREGISTER_COALESCED_MMIO cancels all registered zones inside the given bounds (bounds are also given by struct kvm_coalesced_mmio_zone). The userspace client can check kernel coalesced MMIO availability by asking ioctl(KVM_CHECK_EXTENSION) for the KVM_CAP_COALESCED_MMIO capability. The ioctl() call to KVM_CAP_COALESCED_MMIO will return 0 if not supported, or the page offset where will be stored the ring buffer. The page offset depends on the architecture. After an ioctl(KVM_RUN), the first page of the KVM memory mapped points to a kvm_run structure. The offset given by KVM_CAP_COALESCED_MMIO is an offset to the coalesced MMIO ring expressed in PAGE_SIZE relatively to the address of the start of th kvm_run structure. The MMIO ring buffer is defined by the structure kvm_coalesced_mmio_ring. [akio: fix oops during guest shutdown] Signed-off-by: Laurent Vivier Signed-off-by: Akio Takebe Signed-off-by: Avi Kivity commit 92760499d01ef91518119908eb9b8798b6c9bd3f Author: Laurent Vivier Date: Fri May 30 16:05:53 2008 +0200 KVM: kvm_io_device: extend in_range() to manage len and write attribute Modify member in_range() of structure kvm_io_device to pass length and the type of the I/O (write or read). This modification allows to use kvm_io_device with coalesced MMIO. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 131d82791b628d4aeafd94ddc74a9b68f3d15a83 Author: Avi Kivity Date: Thu May 29 14:56:28 2008 +0300 KVM: MMU: Avoid page prefetch on SVM SVM cannot benefit from page prefetching since guest page fault bypass cannot by made to work there. Avoid accessing the guest page table in this case. Signed-off-by: Avi Kivity commit d761a501cf9cd4fa08ff35d252ff08b8c31ce677 Author: Avi Kivity Date: Thu May 29 14:55:03 2008 +0300 KVM: MMU: Move nonpaging_prefetch_page() In preparation for next patch. No code change. Signed-off-by: Avi Kivity commit 91ed7a0e15c6f6ff57f5cf70feabdba56a999863 Author: Avi Kivity Date: Thu May 29 14:38:38 2008 +0300 KVM: x86 emulator: implement 'push imm' (opcode 0x68) Encountered in FC6 boot sequence, now that we don't force ss.rpl = 0 during the protected mode transition. Not really necessary, but nice to have. Signed-off-by: Avi Kivity commit 19e43636b5af1c8b9cc8406af674835284abab0c Author: Avi Kivity Date: Thu May 29 14:26:29 2008 +0300 KVM: x86 emulator: simplify push imm8 emulation Instead of fetching the data explicitly, use SrcImmByte. Signed-off-by: Avi Kivity commit eab9f71feb1851b5b700ca12ae614b6a0a441021 Author: Avi Kivity Date: Thu May 29 14:20:16 2008 +0300 KVM: MMU: Optimize prefetch_page() Instead of reading each pte individually, read 256 bytes worth of ptes and batch process them. Signed-off-by: Avi Kivity commit 38d5bc6d50a4368be08b39b02efb9cbbe1dd60d0 Author: Guillaume Thouvenin Date: Tue May 27 15:13:28 2008 +0200 KVM: x86 emulator: Add support for mov r, sreg (0x8c) instruction Add support for mov r, sreg (0x8c) instruction Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 4257198ae2c36e030a0947fef661c8de973778be Author: Guillaume Thouvenin Date: Tue May 27 14:49:15 2008 +0200 KVM: x86 emulator: Add support for mov seg, r (0x8e) instruction Add support for mov r, sreg (0x8c) instruction. [avi: drop the sreg decoding table in favor of 1:1 encoding] Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 615ac125618dc7b40ecb418e8b353d31ccf0e518 Author: Guillaume Thouvenin Date: Tue May 27 10:19:16 2008 +0200 KVM: x86 emulator: adds support to mov r,imm (opcode 0xb8) instruction Add support to mov r, imm (0xb8) instruction. Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 954cd36f7613ac6d084abe33114dd45a8e0dbe92 Author: Guillaume Thouvenin Date: Tue May 27 10:19:08 2008 +0200 KVM: x86 emulator: add support for jmp far 0xea Add support for jmp far (opcode 0xea) instruction. Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 89c696383d6eb493351a89d450d8ad7a55cbe1da Author: Guillaume Thouvenin Date: Tue May 27 10:22:20 2008 +0200 KVM: x86 emulator: Update c->dst.bytes in decode instruction Update c->dst.bytes in decode instruction instead of instruction itself. It's needed because if c->dst.bytes is equal to 0, the instruction is not emulated. Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 3e6e0aab1ba1e8b354ce01f5659336f9aee69437 Author: Guillaume Thouvenin Date: Tue May 27 10:18:46 2008 +0200 KVM: Prefixes segment functions that will be exported with "kvm_" Prefixes functions that will be exported with kvm_. We also prefixed set_segment() even if it still static to be coherent. signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 9ba075a664dff836fd6fb93f90fcc827f7683d91 Author: Avi Kivity Date: Mon May 26 20:06:35 2008 +0300 KVM: MTRR support Add emulation for the memory type range registers, needed by VMware esx 3.5, and by pci device assignment. Signed-off-by: Avi Kivity commit 81609e3e26508840a1b51414376f2541dd191483 Author: Avi Kivity Date: Tue May 27 16:26:01 2008 +0300 KVM: Order segment register constants in the same way as cpu operand encoding This can be used to simplify the x86 instruction decoder. Signed-off-by: Avi Kivity commit f08864b42a45581a64558aa5b6b673c77b97ee5d Author: Sheng Yang Date: Thu May 15 18:23:25 2008 +0800 KVM: VMX: Enable NMI with in-kernel irqchip Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 3419ffc8e45a5344abc87684cbca6cdc5c9c8a01 Author: Sheng Yang Date: Thu May 15 09:52:48 2008 +0800 KVM: IOAPIC/LAPIC: Enable NMI support [avi: fix ia64 build breakage] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 50d40d7fb9b09e68a657c68837fcfa067b70cc42 Author: Avi Kivity Date: Sun May 25 14:38:15 2008 +0300 KVM: Remove unnecessary ->decache_regs() call Since we aren't modifying any register, there's no need to decache the register state. Signed-off-by: Avi Kivity commit 7cc8883074b040aa8c1ebd3a17463b0ea3a9ef16 Author: Avi Kivity Date: Tue May 13 16:29:20 2008 +0300 KVM: Remove decache_vcpus_on_cpu() and related callbacks Obsoleted by the vmx-specific per-cpu list. Signed-off-by: Avi Kivity commit 543e42436643d68ad007d0bae2f485caac9c8a02 Author: Avi Kivity Date: Tue May 13 16:22:47 2008 +0300 KVM: VMX: Add list of potentially locally cached vcpus VMX hardware can cache the contents of a vcpu's vmcs. This cache needs to be flushed when migrating a vcpu to another cpu, or (which is the case that interests us here) when disabling hardware virtualization on a cpu. The current implementation of decaching iterates over the list of all vcpus, picks the ones that are potentially cached on the cpu that is being offlined, and flushes the cache. The problem is that it uses mutex_trylock() to gain exclusive access to the vcpu, which fires off a (benign) warning about using the mutex in an interrupt context. To avoid this, and to make things generally nicer, add a new per-cpu list of potentially cached vcus. This makes the decaching code much simpler. The list is vmx-specific since other hardware doesn't have this issue. [andrea: fix crash on suspend/resume] Signed-off-by: Andrea Arcangeli Signed-off-by: Avi Kivity commit 4ecac3fd6dc2629ad76a658a486f081c44aef10e Author: Avi Kivity Date: Tue May 13 13:23:38 2008 +0300 KVM: Handle virtualization instruction #UD faults during reboot KVM turns off hardware virtualization extensions during reboot, in order to disassociate the memory used by the virtualization extensions from the processor, and in order to have the system in a consistent state. Unfortunately virtual machines may still be running while this goes on, and once virtualization extensions are turned off, any virtulization instruction will #UD on execution. Fix by adding an exception handler to virtualization instructions; if we get an exception during reboot, we simply spin waiting for the reset to complete. If it's a true exception, BUG() so we can have our stack trace. Signed-off-by: Avi Kivity commit 1b7fcd3263e5f12dba43d27b64e1578bec070c28 Author: Avi Kivity Date: Thu May 15 13:51:35 2008 +0300 KVM: MMU: Fix false flooding when a pte points to page table The KVM MMU tries to detect when a speculative pte update is not actually used by demand fault, by checking the accessed bit of the shadow pte. If the shadow pte has not been accessed, we deem that page table flooded and remove the shadow page table, allowing further pte updates to proceed without emulation. However, if the pte itself points at a page table and only used for write operations, the accessed bit will never be set since all access will happen through the emulator. This is exactly what happens with kscand on old (2.4.x) HIGHMEM kernels. The kernel points a kmap_atomic() pte at a page table, and then proceeds with read-modify-write operations to look at the dirty and accessed bits. We get a false flood trigger on the kmap ptes, which results in the mmu spending all its time setting up and tearing down shadows. Fix by setting the shadow accessed bit on emulated accesses. Signed-off-by: Avi Kivity commit 7682f2d0dd3ff5bd2756eac018a5b4e7e30ef16c Author: Avi Kivity Date: Mon May 12 19:25:43 2008 +0300 KVM: VMX: Trivial vmcs_write64() code simplification Signed-off-by: Avi Kivity commit 14ae51b6c068ef7ab52dc2d53fe226e6189f2ab2 Author: Chris Lalancette Date: Mon May 5 13:05:16 2008 -0400 KVM: SVM: Fake MSR_K7 performance counters Attached is a patch that fixes a guest crash when booting older Linux kernels. The problem stems from the fact that we are currently emulating MSR_K7_EVNTSEL[0-3], but not emulating MSR_K7_PERFCTR[0-3]. Because of this, setup_k7_watchdog() in the Linux kernel receives a GPF when it attempts to write into MSR_K7_PERFCTR, which causes an OOPs. The patch fixes it by just "fake" emulating the appropriate MSRs, throwing away the data in the process. This causes the NMI watchdog to not actually work, but it's not such a big deal in a virtualized environment. When we get a write to one of these counters, we printk_ratelimit() a warning. I decided to print it out for all writes, even if the data is 0; it doesn't seem to make sense to me to special case when data == 0. Tested by myself on a RHEL-4 guest, and Joerg Roedel on a Windows XP 64-bit guest. Signed-off-by: Chris Lalancette Signed-off-by: Avi Kivity commit f697554515b06e8d7264f316b25e6da943407142 Author: Aurelien Jarno Date: Fri May 2 17:02:23 2008 +0200 KVM: PIT: support mode 3 The in-kernel PIT emulation ignores pending timers if operating under mode 3, which for example Hurd uses. This mode should output a square wave, high for (N+1)/2 counts and low for (N-1)/2 counts. As we only care about the resulting interrupts, the period is N, and mode 3 is the same as mode 2 with regard to interrupts. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 2e2e3738af33575cba59597acd5e80cdd5ec11ee Author: Anthony Liguori Date: Wed Apr 30 15:37:07 2008 -0500 KVM: Handle vma regions with no backing page This patch allows VMAs that contain no backing page to be used for guest memory. This is useful for assigning mmio regions to a guest. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit d2ebb4103ff349af6dac14955bf93e57487a6694 Author: Joerg Roedel Date: Wed Apr 30 17:56:04 2008 +0200 KVM: SVM: add tracing support for TDP page faults To distinguish between real page faults and nested page faults they should be traced as different events. This is implemented by this patch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit af9ca2d703f4cefbf6441bfe127c4191092ad394 Author: Joerg Roedel Date: Wed Apr 30 17:56:03 2008 +0200 KVM: SVM: add missing kvmtrace markers This patch adds the missing kvmtrace markers to the svm module of kvm. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 54e445ca8411ec892f986d9f8c11b8c1806ecde4 Author: Joerg Roedel Date: Wed Apr 30 17:56:02 2008 +0200 KVM: add missing kvmtrace bits This patch adds some kvmtrace bits to the generic x86 code where it is instrumented from SVM. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit a069805579a390f0fa91694f6963bcc4b2cecc6b Author: Joerg Roedel Date: Wed Apr 30 17:56:01 2008 +0200 KVM: SVM: implement dedicated INTR exit handler With an exit handler for INTR intercepts its possible to account them using kvmtrace. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit c47f098d69ed2bd7343e54095ff4aa2533253bee Author: Joerg Roedel Date: Wed Apr 30 17:56:00 2008 +0200 KVM: SVM: implement dedicated NMI exit handler With an exit handler for NMI intercepts its possible to account them using kvmtrace. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit c7bf23babc959b186335d2640959a1b8633588de Author: Joerg Roedel Date: Wed Apr 30 17:55:59 2008 +0200 KVM: VMX: move APIC_ACCESS trace entry to generic code This patch moves the trace entry for APIC accesses from the VMX code to the generic lapic code. This way APIC accesses from SVM will also be traced. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 8b2cf73cc11cf29a21c51c453a3205f23d888915 Author: Harvey Harrison Date: Sun Apr 27 12:14:13 2008 -0700 KVM: add statics were possible, function definition in lapic.h Noticed by sparse: arch/x86/kvm/vmx.c:1583:6: warning: symbol 'vmx_disable_intercept_for_msr' was not declared. Should it be static? arch/x86/kvm/x86.c:3406:5: warning: symbol 'kvm_task_switch_16' was not declared. Should it be static? arch/x86/kvm/x86.c:3429:5: warning: symbol 'kvm_task_switch_32' was not declared. Should it be static? arch/x86/kvm/mmu.c:1968:6: warning: symbol 'kvm_mmu_remove_one_alloc_mmu_page' was not declared. Should it be static? arch/x86/kvm/mmu.c:2014:6: warning: symbol 'mmu_destroy_caches' was not declared. Should it be static? arch/x86/kvm/lapic.c:862:5: warning: symbol 'kvm_lapic_get_base' was not declared. Should it be static? arch/x86/kvm/i8254.c:94:5: warning: symbol 'pit_get_gate' was not declared. Should it be static? arch/x86/kvm/i8254.c:196:5: warning: symbol '__pit_timer_fn' was not declared. Should it be static? arch/x86/kvm/i8254.c:561:6: warning: symbol '__inject_pit_timer_intr' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 1e1c65e03ec817a64153751150f6691db9842acd Author: Christian Borntraeger Date: Mon Apr 21 13:48:24 2008 +0200 KVM: remove long -> void *user -> long cast kvm_dev_ioctl casts the arg value to void __user *, just to recast it again to long. This seems unnecessary. According to objdump the binary code on x86 is unchanged by this patch. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit ba42059fbd0aa1ac91b582412b5fedb1258f241f Author: Ingo Molnar Date: Sun Jul 20 11:02:06 2008 +0200 sched: hrtick_enabled() should use cpu_active() Peter pointed out that hrtick_enabled() should use cpu_active(). Signed-off-by: Ingo Molnar commit d986434a7d32079cc6cbedcdb04d834aa9b323ff Merge: 1b427c1... 3165651... Author: Ingo Molnar Date: Sun Jul 20 11:01:29 2008 +0200 Merge branch 'sched/urgent' into sched/devel commit 31656519e132f6612584815f128c83976a9aaaef Author: Peter Zijlstra Date: Fri Jul 18 18:01:23 2008 +0200 sched, x86: clean up hrtick implementation random uvesafb failures were reported against Gentoo: http://bugs.gentoo.org/show_bug.cgi?id=222799 and Mihai Moldovan bisected it back to: > 8f4d37ec073c17e2d4aa8851df5837d798606d6f is first bad commit > commit 8f4d37ec073c17e2d4aa8851df5837d798606d6f > Author: Peter Zijlstra > Date: Fri Jan 25 21:08:29 2008 +0100 > > sched: high-res preemption tick Linus suspected it to be hrtick + vm86 interaction and observed: > Btw, Peter, Ingo: I think that commit is doing bad things. They aren't > _incorrect_ per se, but they are definitely bad. > > Why? > > Using random _TIF_WORK_MASK flags is really impolite for doing > "scheduling" work. There's a reason that arch/x86/kernel/entry_32.S > special-cases the _TIF_NEED_RESCHED flag: we don't want to exit out of > vm86 mode unnecessarily. > > See the "work_notifysig_v86" label, and how it does that > "save_v86_state()" thing etc etc. Right, I never liked having to fiddle with those TIF flags. Initially I needed it because the hrtimer base lock could not nest in the rq lock. That however is fixed these days. Currently the only reason left to fiddle with the TIF flags is remote wakeups. We cannot program a remote cpu's hrtimer. I've been thinking about using the new and improved IPI function call stuff to implement hrtimer_start_on(). However that does require that smp_call_function_single(.wait=0) works from interrupt context - /me looks at the latest series from Jens - Yes that does seem to be supported, good. Here's a stab at cleaning this stuff up ... Mihai reported test success as well. Signed-off-by: Peter Zijlstra Tested-by: Mihai Moldovan Cc: Michal Januszewski Cc: Antonino Daplas Signed-off-by: Ingo Molnar commit c4762aba0b1f72659aae9ce37b772ca8bd8f06f4 Author: Mike Travis Date: Fri Jul 18 18:11:34 2008 -0700 NR_CPUS: Replace NR_CPUS in speedstep-centrino.c Some cleanups in speedstep-centrino.c for NR_CPUS=4096. * Use new CPUMASK_PTR (instead of old CPUMASK_VAR). * Replace arrays sized by NR_CPUS with percpu variables. * Cleanup some formatting problems (>80 chars per line) and other checkpatch complaints. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 80422d3431cc990b967da129f9eb8e3e9989f841 Author: Mike Travis Date: Fri Jul 18 18:11:33 2008 -0700 cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP * Rename CPUMASK_VAR --> CPUMASK_PTR (and simplify) * Fix a semantic error in CPUMASK_ALLOC * Add a bit of commentry to cpumask.h Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit b38868aabeeb9c0c76a41ac5fa98c24bf0096f2a Author: Mike Travis Date: Fri Jul 18 18:11:32 2008 -0700 NR_CPUS: Replace NR_CPUS in cpufreq userspace routines * Replace arrays sized by NR_CPUS with percpu variables. Prior reference: http://marc.info/?l=linux-kernel&m=120251421825989&w=4 Subject: [PATCH 1/4] cpufreq: change cpu freq tables to per_cpu variables From: Mike Travis Date: 2008-02-08 23:37:39 Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 94a1e869c7b96a9d30e260084866383a145fd8ae Author: Mike Travis Date: Fri Jul 18 18:11:31 2008 -0700 NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var * Slight optimization when getting one's own cpu_info percpu data. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 1bd9d6b64e1474f1a03f8660e8721d746cffae57 Author: Mike Travis Date: Fri Jul 18 18:11:30 2008 -0700 NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c * nr_cpu_ids should be used to determine if a percpu area is available for a given cpu. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 247bc6ca0f691e4617e7bdb70cbaccc939f754ec Author: Mike Travis Date: Fri Jul 18 18:11:29 2008 -0700 NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c * Replace NR_CPUS loop with for_each_possible_cpu(). * nr_cpu_ids should be used to determine if a percpu area is available for a given cpu. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f2ad47ffeb1d292b7c7d1e2f6aedb37646c391db Author: Mike Travis Date: Fri Jul 18 18:11:28 2008 -0700 NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c * Use nr_cpu_ids instead of NR_CPUS to limit traversal of cpu online map. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 6bca67f951f80b9e61078f8cdf5fb7b3d9e51aa9 Author: Mike Travis Date: Fri Jul 18 18:11:27 2008 -0700 NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c * nr_cpu_ids should be used to allocate arrays based on the number of cpu's present. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit e3a61b0a8c0e342e700a61cd554b01050f333a36 Author: Simon Arlott Date: Sat Jul 19 23:32:54 2008 +0100 x86: add unknown_nmi_panic kernel parameter It's not possible to enable the unknown_nmi_panic sysctl option until init is run. It's useful to be able to panic the kernel during boot too, this adds a parameter to enable this option. Signed-off-by: Simon Arlott Signed-off-by: Ingo Molnar commit c4dc59ae7af8c1c116d2cb4dffba337f032a6bee Author: Ingo Molnar Date: Sun Jul 20 09:31:24 2008 +0200 x86, VisWS: turn into generic arch, eliminate leftover files remove unused leftovers. Signed-off-by: Ingo Molnar commit 63b5d7af2556a7de6bf72c5dd0b85a32fb4c3767 Author: Yinghai Lu Date: Sat Jul 19 18:02:26 2008 -0700 x86: add ->pre_time_init to x86_quirks so NUMAQ can use that to call numaq_pre_time_init() This allows us to remove a NUMAQ special from arch/x86/kernel/setup.c. (and paves the way to remove the NUMAQ subarch) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 64898a8bad8c94ad7a4bd5cc86b66edfbb081f4a Author: Yinghai Lu Date: Sat Jul 19 18:01:16 2008 -0700 x86: extend and use x86_quirks to clean up NUMAQ code add these new x86_quirks methods: int *mpc_record; int (*mpc_apic_id)(struct mpc_config_processor *m); void (*mpc_oem_bus_info)(struct mpc_config_bus *m, char *name); void (*mpc_oem_pci_bus)(struct mpc_config_bus *m); void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable, unsigned short oemsize); ... and move NUMAQ related mps table handling to numaq_32.c. also move the call to smp_read_mpc_oem() to smp_read_mpc() directly. Should not change functionality, albeit it would be nice to get it tested on real NUMAQ as well ... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3c9cb6de1e5ad37d1558fdb0d9d2bed5a7bac0d9 Author: Yinghai Lu Date: Sat Jul 19 02:07:25 2008 -0700 x86: introduce x86_quirks introduce x86_quirks array of boot-time quirk methods. No change in functionality intended. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5f1f2b3d9dbaee82cd532f28da459adcbf611499 Author: Yinghai Lu Date: Fri Jul 18 16:16:23 2008 -0700 x86: improve debug printout: add target bootmem range in early_res_to_bootmem() Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 175f9c1bba9b825d22b142d183c9e175488b260c Author: Jussi Kivilinna Date: Sun Jul 20 00:08:47 2008 -0700 net_sched: Add size table for qdiscs Add size table functions for qdiscs and calculate packet size in qdisc_enqueue(). Based on patch by Patrick McHardy http://marc.info/?l=linux-netdev&m=115201979221729&w=2 Signed-off-by: Jussi Kivilinna Signed-off-by: David S. Miller commit 0abf77e55a2459aa9905be4b226e4729d5b4f0cb Author: Jussi Kivilinna Date: Sun Jul 20 00:08:27 2008 -0700 net_sched: Add accessor function for packet length for qdiscs Signed-off-by: Jussi Kivilinna Signed-off-by: David S. Miller commit 5f86173bdf15981ca49d0434f638b68f70a35644 Author: Jussi Kivilinna Date: Sun Jul 20 00:08:04 2008 -0700 net_sched: Add qdisc_enqueue wrapper Signed-off-by: Jussi Kivilinna Signed-off-by: David S. Miller commit d092633bff3b19faffc480fe9810805e7792a029 Author: Ingo Molnar Date: Fri Jul 18 00:26:59 2008 +0200 Subject: devmem, x86: fix rename of CONFIG_NONPROMISC_DEVMEM From: Arjan van de Ven Date: Sat, 19 Jul 2008 15:47:17 -0700 CONFIG_NONPROMISC_DEVMEM was a rather confusing name - but renaming it to CONFIG_PROMISC_DEVMEM causes problems on architectures that do not support this feature; this patch renames it to CONFIG_STRICT_DEVMEM, so that architectures can opt-in into it. ( the polarity of the option is still the same as it was originally; it needs to be for now to not break architectures that don't have the infastructure yet to support this feature) Signed-off-by: Arjan van de Ven Cc: "V.Radhakrishnan" Signed-off-by: Ingo Molnar --- commit db7a94d60f871ce6a52e97d82dea476cee0c4ea0 Author: David S. Miller Date: Sat Jul 19 22:39:46 2008 -0700 highmem: Export totalhigh_pages. Hash et al. sizing code in SCTP wants to make the calculation totalram_pages - totalhigh_pages, just like TCP. But this requires an export for the CONFIG_HIGHMEM case to work. Signed-off-by: David S. Miller commit a6ffb404dc03f806a257faaab831a6cb55c0b790 Author: YOSHIFUJI Hideaki Date: Sat Jul 19 22:36:07 2008 -0700 ipv6 mcast: Omit redundant address family checks in ip6_mc_source(). The caller has alredy checked for them. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 230b183921ecbaa5fedc0d35ad6ba7bb64b6e06a Author: YOSHIFUJI Hideaki Date: Sat Jul 19 22:35:47 2008 -0700 net: Use standard structures for generic socket address structures. Use sockaddr_storage{} for generic socket address storage and ensures proper alignment. Use sockaddr{} for pointers to omit several casts. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 53b7997fd5c62408d10b9aafb38974ce90fd2356 Author: YOSHIFUJI Hideaki Date: Sat Jul 19 22:35:03 2008 -0700 ipv6 netns: Make several "global" sysctl variables namespace aware. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 721499e8931c5732202481ae24f2dfbf9910f129 Author: YOSHIFUJI Hideaki Date: Sat Jul 19 22:34:43 2008 -0700 netns: Use net_eq() to compare net-namespaces for optimization. Without CONFIG_NET_NS, namespace is always &init_net. Compiler will be able to omit namespace comparisons with this patch. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0ebd652b35e988c0be3390e49b39cc064ba1cfce Author: Pekka Enberg Date: Sat Jul 19 14:17:22 2008 +0300 slub: dump more data on slab corruption The limit of 128 bytes is too small when debugging slab corruption of the skb cache, for example. So increase the limit to PAGE_SIZE to make debugging corruptions easier. Acked-by: Ingo Molnar Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 9db144fe897bb09838294aab2229cb423ab40988 Author: Michael Hennerich Date: Sat Jul 19 17:16:07 2008 +0800 Blackfin arch: Apply Bluetechnix CM-BF527 board support patch Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f09630bff51daaf427968c61c0f2370c64148e06 Author: Robin Getz Date: Sat Jul 26 19:45:46 2008 +0800 Blackfin arch: Add unwinding for stack info, and a little more detail on trace buffer Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0a6304a9517aa3593913ecfbbcad80e798641723 Author: Michael Hennerich Date: Sat Jul 26 16:14:57 2008 +0800 Blackfin arch: Add ISP1760 board resources to BF548-EZKIT Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 0138da6101fa3cdfea7f470d014c2f13cc03e7a9 Author: Michael Hennerich Date: Sat Jul 19 16:56:53 2008 +0800 Blackfin arch: fix bug - detect 0.1 silicon revision BF527-EZKIT as 0.0 version Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit cc2e16bd35f6d78f559467358259e7d7264d4e96 Author: Mike Frysinger Date: Sat Jul 19 16:43:51 2008 +0800 Blackfin arch: add missing IORESOURCE_MEM flags to UART3 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit aa3348f461da1df5c583f9916ab80298ddd68eff Author: Graf Yang Date: Sat Jul 19 15:54:10 2008 +0800 Blackfin arch: Add return value check in bfin_sir_probe(), remove SSYNC(). Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit e338125b8a886923ba8367207c144764dc352584 Author: Thomas Gleixner Date: Sat Jul 19 09:33:21 2008 +0200 nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well Signed-off-by: Thomas Gleixner commit e4f25060b87a627f5cda84b8134911d43c919458 Author: David Howells Date: Sat Jul 19 00:44:32 2008 -0700 sparc: Remove Sparc's asm-offsets for sclow.S Remove Sparc's asm-offsets for sclow.S as the (E)UID/(E)GID size and offset definitions will cease to be correct if COW credentials are merged. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 262c3825a9f3eb0f4f30ebb4b1ee57397bcb3ffc Author: Sonic Zhang Date: Sat Jul 19 15:42:41 2008 +0800 Blackfin arch: Extend sram malloc to handle L2 SRAM. Extend system call to alloc L2 SRAM in application. Automatically move following sections to L2 SRAM: 1. kernel built-in l2 attribute section 2. kernel module l2 attribute section 3. elf-fdpic application l2 attribute section Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 407d819cf0fd54c6fc1138a509225696aecafd15 Merge: 7abbcd6... b1235d7... Author: David S. Miller Date: Sat Jul 19 00:30:39 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit 7abbcd6a4c8d6179121f2915a761b1133bf1cd99 Author: Denis V. Lunev Date: Sat Jul 19 00:29:42 2008 -0700 ipv6: remove unused macros from net/ipv6.h Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 725a8ff04a5dc473cd9d8eb7817ca96fc36c7789 Author: Denis V. Lunev Date: Sat Jul 19 00:28:58 2008 -0700 ipv6: remove unused parameter from ip6_ra_control Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit bdccc4ca13a639d759206c5b21ed73f8a813eaba Author: Daniel Lezcano Date: Sat Jul 19 00:15:13 2008 -0700 tcp: fix kernel panic with listening_get_next # BUG: unable to handle kernel NULL pointer dereference at 0000000000000038 IP: [] listening_get_next+0x50/0x1b3 PGD 11e4b9067 PUD 11d16c067 PMD 0 Oops: 0000 [1] SMP last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map CPU 3 Modules linked in: bridge ipv6 button battery ac loop dm_mod tg3 ext3 jbd edd fan thermal processor thermal_sys hwmon sg sata_svw libata dock serverworks sd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table] Pid: 3368, comm: slpd Not tainted 2.6.26-rc2-mm1-lxc4 #1 RIP: 0010:[] [] listening_get_next+0x50/0x1b3 RSP: 0018:ffff81011e1fbe18 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8100be0ad3c0 RCX: ffff8100619f50c0 RDX: ffffffff82475be0 RSI: ffff81011d9ae6c0 RDI: ffff8100be0ad508 RBP: ffff81011f4f1240 R08: 00000000ffffffff R09: ffff8101185b6780 R10: 000000000000002d R11: ffffffff820fdbfa R12: ffff8100be0ad3c8 R13: ffff8100be0ad6a0 R14: ffff8100be0ad3c0 R15: ffffffff825b8ce0 FS: 00007f6a0ebd16d0(0000) GS:ffff81011f424540(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000038 CR3: 000000011dc20000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process slpd (pid: 3368, threadinfo ffff81011e1fa000, task ffff81011f4b8660) Stack: 00000000000002ee ffff81011f5a57c0 ffff81011f4f1240 ffff81011e1fbe90 0000000000001000 0000000000000000 00007fff16bf2590 ffffffff821ed9c8 ffff81011f5a57c0 ffff81011d9ae6c0 000000000000041a ffffffff820b0abd Call Trace: [] ? tcp_seq_next+0x34/0x7e [] ? seq_read+0x1aa/0x29d [] ? proc_reg_read+0x73/0x8e [] ? vfs_read+0xaa/0x152 [] ? sys_read+0x45/0x6e [] ? system_call_after_swapgs+0x7b/0x80 Code: 31 a9 25 00 e9 b5 00 00 00 ff 45 20 83 7d 0c 01 75 79 4c 8b 75 10 48 8b 0e eb 1d 48 8b 51 20 0f b7 45 08 39 02 75 0e 48 8b 41 28 <4c> 39 78 38 0f 84 93 00 00 00 48 8b 09 48 85 c9 75 de 8b 55 1c RIP [] listening_get_next+0x50/0x1b3 RSP CR2: 0000000000000038 This kernel panic appears with CONFIG_NET_NS=y. How to reproduce ? On the buggy host (host A) * ip addr add 1.2.3.4/24 dev eth0 On a remote host (host B) * ip addr add 1.2.3.5/24 dev eth0 * iptables -A INPUT -p tcp -s 1.2.3.4 -j DROP * ssh 1.2.3.4 On host A: * netstat -ta or cat /proc/net/tcp This bug happens when reading /proc/net/tcp[6] when there is a req_sock at the SYN_RECV state. When a SYN is received the minisock is created and the sk field is set to NULL. In the listening_get_next function, we try to look at the field req->sk->sk_net. When looking at how to fix this bug, I noticed that is useless to do the check for the minisock belonging to the namespace. A minisock belongs to a listen point and this one is per namespace, so when browsing the minisock they are always per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit bafcc1b97323261a42d47960db99947bcc1be133 Author: Robin Getz Date: Sat Jul 19 15:11:15 2008 +0800 Blackfin arch: Remove useless config option. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4389dded7767d24290463f2a8302ba3253ebdd56 Author: Adam Langley Date: Sat Jul 19 00:07:02 2008 -0700 tcp: Remove redundant checks when setting eff_sacks Remove redundant checks when setting eff_sacks and make the number of SACKs a compile time constant. Now that the options code knows how many SACK blocks can fit in the header, we don't need to have the SACK code guessing at it. Signed-off-by: Adam Langley Signed-off-by: David S. Miller commit 33ad798c924b4a1afad3593f2796d465040aadd5 Author: Adam Langley Date: Sat Jul 19 00:04:31 2008 -0700 tcp: options clean up This should fix the following bugs: * Connections with MD5 signatures produce invalid packets whenever SACK options are included * MD5 signatures are counted twice in the MSS calculations Behaviour changes: * A SYN with MD5 + SACK + TS elicits a SYNACK with MD5 + SACK This is because we can't fit any SACK blocks in a packet with MD5 + TS options. There was discussion about disabling SACK rather than TS in order to fit in better with old, buggy kernels, but that was deemed to be unnecessary. * SYNs with MD5 don't include a TS option See above. Additionally, it removes a bunch of duplicated logic for calculating options, which should help avoid these sort of issues in the future. Signed-off-by: Adam Langley Signed-off-by: David S. Miller commit 49a72dfb8814c2d65bd9f8c9c6daf6395a1ec58d Author: Adam Langley Date: Sat Jul 19 00:01:42 2008 -0700 tcp: Fix MD5 signatures for non-linear skbs Currently, the MD5 code assumes that the SKBs are linear and, in the case that they aren't, happily goes off and hashes off the end of the SKB and into random memory. Reported by Stephen Hemminger in [1]. Advice thanks to Stephen and Evgeniy Polyakov. Also includes a couple of missed route_caps from Stephen's patch in [2]. [1] http://marc.info/?l=linux-netdev&m=121445989106145&w=2 [2] http://marc.info/?l=linux-netdev&m=121459157816964&w=2 Signed-off-by: Adam Langley Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5d481f497559245ecfb1b95cafe39bfbf037fda5 Author: Sonic Zhang Date: Sat Jul 19 14:51:31 2008 +0800 Blackfin arch: change L1 malloc to base on slab cache and lists. Remove the sram piece limitation and improve the performance to alloc/free sram piece data. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 845525a642c1c9e1335c33a274d4273906ee58eb Author: Vlad Yasevich Date: Fri Jul 18 23:08:21 2008 -0700 sctp: Update sctp global memory limit allocations. Update sctp global memory limit allocations to be the same as TCP. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 336d3262df71fcd2661180bb35d5ea41b4cbca58 Author: Harvey Harrison Date: Fri Jul 18 23:07:09 2008 -0700 sctp: remove unnecessary byteshifting, calculate directly in big-endian Signed-off-by: Harvey Harrison Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 4e54064e0a13b7a7d4a481123c1783f770538e30 Author: Vlad Yasevich Date: Fri Jul 18 23:06:32 2008 -0700 sctp: Allow only 1 listening socket with SO_REUSEADDR When multiple socket bind to the same port with SO_REUSEADDR, only 1 can be listining. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 23b29ed80bd7184398317a111dc488605cb66c7f Author: Vlad Yasevich Date: Fri Jul 18 23:06:07 2008 -0700 sctp: Do not leak memory on multiple listen() calls SCTP permits multiple listen call and on subsequent calls we leak he memory allocated for the crypto transforms. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 7dab83de50c7b2b7ceac695a0b56fa6c0f95b0bc Author: Vlad Yasevich Date: Fri Jul 18 23:05:40 2008 -0700 sctp: Support ipv6only AF_INET6 sockets. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6d0ccbac688207ca0616ab5094932af4db4747b3 Author: Florian Westphal Date: Fri Jul 18 23:04:39 2008 -0700 sctp: Prevent uninitialized memory access valgrind reports uninizialized memory accesses when running sctp inside the network simulation cradle simulator: Conditional jump or move depends on uninitialised value(s) at 0x570E34A: sctp_assoc_sync_pmtu (associola.c:1324) by 0x57427DA: sctp_packet_transmit (output.c:403) by 0x5710EFF: sctp_outq_flush (outqueue.c:824) by 0x5710B88: sctp_outq_uncork (outqueue.c:701) by 0x5745262: sctp_cmd_interpreter (sm_sideeffect.c:1548) by 0x57444B7: sctp_side_effects (sm_sideeffect.c:976) by 0x5744460: sctp_do_sm (sm_sideeffect.c:945) by 0x572157D: sctp_primitive_ASSOCIATE (primitive.c:94) by 0x5725C04: __sctp_connect (socket.c:1094) by 0x57297DC: sctp_connect (socket.c:3297) Conditional jump or move depends on uninitialised value(s) at 0x575D3A5: mod_timer (timer.c:630) by 0x5752B78: sctp_cmd_hb_timers_start (sm_sideeffect.c:555) by 0x5754133: sctp_cmd_interpreter (sm_sideeffect.c:1448) by 0x5753607: sctp_side_effects (sm_sideeffect.c:976) by 0x57535B0: sctp_do_sm (sm_sideeffect.c:945) by 0x571E9AE: sctp_endpoint_bh_rcv (endpointola.c:474) by 0x573347F: sctp_inq_push (inqueue.c:104) by 0x572EF93: sctp_rcv (input.c:256) by 0x5689623: ip_local_deliver_finish (ip_input.c:230) by 0x5689759: ip_local_deliver (ip_input.c:268) by 0x5689CAC: ip_rcv_finish (dst.h:246) #1 is due to "if (t->pmtu_pending)". 8a4794914f9cf2681235ec2311e189fe307c28c7 "[SCTP] Flag a pmtu change request" suggests it should be initialized to 0. #2 is the heartbeat timer 'expires' value, which is uninizialised, but test by mod_timer(). T3_rtx_timer seems to be affected by the same problem, so initialize it, too. Signed-off-by: Florian Westphal Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c4e85f82edcd6027cfe67331a2e00741b009756b Author: Florian Westphal Date: Fri Jul 18 23:03:44 2008 -0700 sctp: Don't abort initialization when CONFIG_PROC_FS=n This puts CONFIG_PROC_FS defines around the proc init/exit functions and also avoids compiling proc.c if procfs is not supported. Also make SCTP_DBG_OBJCNT depend on procfs. Signed-off-by: Florian Westphal Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c1e20f7c8b9ccbafc9ea78f2b406738728ce6b81 Author: Stephen Hemminger Date: Fri Jul 18 23:02:15 2008 -0700 tcp: RTT metrics scaling Some of the metrics (RTT, RTTVAR and RTAX_RTO_MIN) are stored in kernel units (jiffies) and this leaks out through the netlink API to user space where the units for jiffies are unknown. This patches changes the kernel to convert to/from milliseconds. This changes the ABI, but milliseconds seemed like the most natural unit for these parameters. Values available via syscall in /proc/net/rt_cache and netlink will be in milliseconds. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 30ee42be00b7a50929a73cb617f70b1d3219eb69 Author: David S. Miller Date: Fri Jul 18 23:00:11 2008 -0700 pkt_sched: Fix noqueue_qdisc initialization. Like noop_qdisc, it needs a dummy backpointer and explicit qdisc->q.lock initialization. Based upon a report by Stephen Hemminger. Signed-off-by: David S. Miller commit 3072367300aa8c779e3a14ee8e89de079e90f3ad Author: David S. Miller Date: Fri Jul 18 22:50:15 2008 -0700 pkt_sched: Manage qdisc list inside of root qdisc. Idea is from Patrick McHardy. Instead of managing the list of qdiscs on the device level, manage it in the root qdisc of a netdev_queue. This solves all kinds of visibility issues during qdisc destruction. The way to iterate over all qdiscs of a netdev_queue is to visit the netdev_queue->qdisc, and then traverse it's list. The only special case is to ignore builting qdiscs at the root when dumping or doing a qdisc_lookup(). That was not needed previously because builtin qdiscs were not added to the device's qdisc_list. Signed-off-by: David S. Miller commit 92c49890922d54cba4b1eadeb0b185773c2c9570 Author: Matthew Garrett Date: Sat Jul 19 00:43:54 2008 -0400 Input: add switch for dock events Add a SW_DOCK switch to input.h. ACPI docks currently send their docking status as a uevent, but not all docks are ACPI or correspond to a device. In that case, it makes more sense to simply generate an input event on docking or undocking. Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 5ec461d083066441c1a280aa9e13d3bb5c3e008a Author: Mark Brown Date: Sat Jul 19 00:40:25 2008 -0400 Input: add microphone insert switch definition Add a new switch type to the input API for reporting microphone insertion. This will be used by the ALSA jack reporting API. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 87d9173ea0c820021cf49e4c675b3821cfb4f0eb Author: Dmitry Torokhov Date: Sat Jul 19 00:35:43 2008 -0400 Input: i8042 - add Arima-Rioworks HDAMB board to noloop list The board does not raise AUX IRQ in response to AUX LOOP command. Reported-by: Guillaume Morin Signed-off-by: Dmitry Torokhov commit 48ad88b1f2caf87e3d02c34e1d7de2ce68370e27 Author: Thomas Bogendoerfer Date: Sat Jul 19 00:14:26 2008 -0400 Input: sgi_btns - add support for SGI Indy volume buttons Also rename sgio2_btns to sgi_btns since the driver is not only for SGI O2 anymore. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Dmitry Torokhov commit 305e342bba16730a0821131af6d7d0df43bfff4c Author: Helge Deller Date: Mon Jul 14 10:28:32 2008 -0400 Input: add option to disable HP SDC driver Add "no_hpsdc" kernel module option to the hp_sdc driver, so that the driver can be instructed to not enable the HP SDC port. This is useful on some older HPPA boxes with HIL keyboard and HIL mouse where the new HP SDC HIL drivers don't work yet. By disabling the new hp_sdc driver users are able to use the older hilkbd driver instead. Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 72b25a913ed9b1ab49c7022adaf3f271a65ea219 Author: David S. Miller Date: Fri Jul 18 20:54:17 2008 -0700 pkt_sched: Get rid of u32_list. The u32_list is just an indirect way of maintaining a reference to a U32 node on a per-qdisc basis. Just add an explicit node pointer for u32 to struct Qdisc an do away with this global list. Signed-off-by: David S. Miller commit 8913336a7e8d56e984109a3137d6c0e3362596a4 Author: Patrick McHardy Date: Fri Jul 18 18:05:19 2008 -0700 packet: add PACKET_RESERVE sockopt Add new sockopt to reserve some headroom in the mmaped ring frames in front of the packet payload. This can be used f.i. when the VLAN header needs to be (re)constructed to avoid moving the entire payload. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3ca4095f246c21c285d9e4be2ea4d3ee7fbacebd Author: Benjamin Li Date: Fri Jul 18 17:58:57 2008 -0700 bnx2: Update version to 1.7.9. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8a31329eae0949a8a73b64fcead84bb44a350591 Author: Benjamin Li Date: Fri Jul 18 17:57:26 2008 -0700 bnx2: Fix Sparse warnings This patch will fix the following sparse warnings: /home/benli/sparse/bnx2.c:297:8: warning: symbol 'val' shadows an earlier one /home/benli/sparse/bnx2.c:286:60: originally declared here /home/benli/sparse/bnx2.c:7461:7: warning: symbol 'i' shadows an earlier one /home/benli/sparse/bnx2.c:7265:10: originally declared here Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 706bf24038ba88ec77503b4829b16da712a32f04 Author: Benjamin Li Date: Fri Jul 18 17:55:11 2008 -0700 bnx2: Add TX multiqueue support. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4f83ec19bbd0c78a2158c7a5d28f70d8b4417803 Author: Benjamin Li Date: Fri Jul 18 17:54:17 2008 -0700 bnx2: Update TPAT firmware This change allows the first TX ring (CID 16) and the first TSS TX ring (CID 32) to be used concurrently. Before this change, we could get TSO errors when both TX rings were used concurrently. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 076152d534c6d99ccfe59190d085781a2d4a419b Author: Ben Hutchings Date: Fri Jul 18 17:50:57 2008 -0700 e1000: resolve tx multiqueue bug With the recent changes to tx mutiqueue, e1000 was not calling netif_start_queue() before calling netif_wake_queue(). This causes an oops during loading of the driver. (Based on commit d55b53fff0c2ddb639dca04c3f5a0854f292d982 ("igb/ixgbe/e1000e: resolve tx multiqueue bug").) Signed-off-by: Ben Hutchings Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit e5849e71adcbb774ce40f09c1bcb48acca3b6da7 Author: Yinghai Lu Date: Fri Jul 18 17:28:40 2008 -0700 x86: remove arch_get_ram_range no user now Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit fec0962e0bed407927b9ff54bb0596a3ab7e4b61 Author: venkatesh.pallipadi@intel.com Date: Fri Jul 18 16:08:14 2008 -0700 x86: Add a debugfs interface to dump PAT memtype Add a debugfs interface to list out all the PAT memtype reservations. Appears at debugfs x86/pat_memtype_list and output format is type @ - We do not hold the lock while printing the entire list. So, the list may not be a consistent copy in case where regions are getting added or deleted at the same time. Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin commit ae79cdaacb5599781f8bb49f4bdd5723029669cf Author: venkatesh.pallipadi@intel.com Date: Fri Jul 18 16:08:13 2008 -0700 x86: Add a arch directory for x86 under debugfs Add a directory for x86 arch under debugfs. Can be used to accumulate all x86 specific debugfs files. Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin commit 48fe4a76e27dc64b47f3d2a2af2b6bbf2b2f5b6b Author: Jan Beulich Date: Fri Jul 18 13:29:00 2008 +0100 x86: i386: reduce boot fixmap space As 256 entries are needed, aligning to a 256-entry boundary is sufficient and still guarantees the single pte table requirement. Signed-off-by: Jan Beulich Signed-off-by: H. Peter Anvin commit 2ddf9b7b3e6660199269e34cfa27148440ddc3bf Author: Jan Beulich Date: Fri Jul 18 13:32:23 2008 +0100 i386/xen: add proper unwind annotations to xen_sysenter_target Signed-off-by: Jan Beulich Cc: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 08ad8afaa0f7343e9c64eec5dbbb178e390e03a2 Author: Jan Beulich Date: Fri Jul 18 13:45:20 2008 +0100 x86: reduce force_mwait visibility It's not used anywhere outside its single referencing file. Signed-off-by: Jan Beulich Signed-off-by: H. Peter Anvin commit 08e1a13e7d14ba5d6a22bf4b8c6e11128d3bcdfe Author: Jan Beulich Date: Fri Jul 18 13:44:16 2008 +0100 x86: reduce forbid_dac's visibility It's not used anywhere outside its declaring file. Signed-off-by: Jan Beulich Signed-off-by: H. Peter Anvin commit 369c99205f633d1e4038b15f5dc4a5500a4359c3 Author: Jan Beulich Date: Fri Jul 18 13:37:53 2008 +0100 x86: fix two modpost warnings Even though it's only the difference of the two __initdata symbols that's being calculated, modpost still doesn't like this. So rather calculate the size once in an __init function and store it for later use. Signed-off-by: Jan Beulich Signed-off-by: H. Peter Anvin commit f2ba93929fdb91fd806be20e959a50f7db82790e Author: Jan Beulich Date: Fri Jul 18 13:35:37 2008 +0100 x86: check function status in EDD boot code Without checking the return value of get_edd_info() and adding the entry only in the success case, 6 devices show up under /sys/firmware/edd/, no matter how many devices are actually present. Signed-off-by: Jan Beulich Signed-off-by: H. Peter Anvin commit 06f8d00e9eecb738c99b737ac38a585ea7583ad5 Author: Ingo Molnar Date: Fri Jul 18 22:34:00 2008 +0200 cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix fix typo. Signed-off-by: Ingo Molnar commit 812b121d55316333a3480b294523d4e52f9dd366 Author: Hiroshi Shimamoto Date: Wed Jul 16 19:21:31 2008 -0700 x86_64: ia32_signal.c: remove signal number conversion This was old code that was needed for iBCS and x86-64 never supported that. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit eb53fac5cafc4b2f8443ff064938b4494a28c54e Author: Mike Travis Date: Tue Jul 15 14:14:37 2008 -0700 cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target * Use the CPUMASK_ALLOC macros in the centrino_target() function. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 77586c2bdad0798cb24e35de5a878e7c6b200574 Author: Mike Travis Date: Tue Jul 15 14:14:36 2008 -0700 cpumask: Provide a generic set of CPUMASK_ALLOC macros * Provide a generic set of CPUMASK_ALLOC macros patterned after the SCHED_CPUMASK_ALLOC macros. This is used where multiple cpumask_t variables are declared on the stack to reduce the amount of stack space required. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 4755b9291204982ac908e069674d6e5eb45815b3 Author: Mike Travis Date: Tue Jul 15 14:14:35 2008 -0700 cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c * Optimize various places where a pointer to the cpumask_of_cpu value will result in reducing stack pressure. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit c18a41fbbc500ac0307ffd2b0ae73c2af9d0b0ab Author: Mike Travis Date: Tue Jul 15 14:14:34 2008 -0700 cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c * Optimize various places where a pointer to the cpumask_of_cpu value will result in reducing stack pressure. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 333cdd1f0e5e0aad6b7f8992291563bc7b14670b Author: Mike Travis Date: Tue Jul 15 14:14:33 2008 -0700 cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c * Optimize various places where a pointer to the cpumask_of_cpu value will result in reducing stack pressure. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit c42f4f4c6dab3b2b7768c36173ee7c7ecf79eddb Author: Mike Travis Date: Tue Jul 15 14:14:32 2008 -0700 cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c * Optimize various places where a pointer to the cpumask_of_cpu value will result in reducing stack pressure. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit cb6d2be60dc3ec9ac788f45d8e24b82a9faacdd9 Author: Mike Travis Date: Tue Jul 15 14:14:31 2008 -0700 cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c * Optimize various places where a pointer to the cpumask_of_cpu value will result in reducing stack pressure. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 65c011845316d3c1381f478ca0d8265c43b3b039 Author: Mike Travis Date: Tue Jul 15 14:14:30 2008 -0700 cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr * This patch replaces the dangerous lvalue version of cpumask_of_cpu with new cpumask_of_cpu_ptr macros. These are patterned after the node_to_cpumask_ptr macros. In general terms, if there is a cpumask_of_cpu_map[] then a pointer to the cpumask_of_cpu_map[cpu] entry is used. The cpumask_of_cpu_map is provided when there is a large NR_CPUS count, reducing greatly the amount of code generated and stack space used for cpumask_of_cpu(). The pointer to the cpumask_t value is needed for calling set_cpus_allowed_ptr() to reduce the amount of stack space needed to pass the cpumask_t value. If there isn't a cpumask_of_cpu_map[], then a temporary variable is declared and filled in with value from cpumask_of_cpu(cpu) as well as a pointer variable pointing to this temporary variable. Afterwards, the pointer is used to reference the cpumask value. The compiler will optimize out the extra dereference through the pointer as well as the stack space used for the pointer, resulting in identical code. A good example of the orthogonal usages is in net/sunrpc/svc.c: case SVC_POOL_PERCPU: { unsigned int cpu = m->pool_to[pidx]; cpumask_of_cpu_ptr(cpumask, cpu); *oldmask = current->cpus_allowed; set_cpus_allowed_ptr(current, cpumask); return 1; } case SVC_POOL_PERNODE: { unsigned int node = m->pool_to[pidx]; node_to_cpumask_ptr(nodecpumask, node); *oldmask = current->cpus_allowed; set_cpus_allowed_ptr(current, nodecpumask); return 1; } Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit bb2c018b09b681d43f5e08124b83e362647ea82b Merge: 8263884... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 22:00:54 2008 +0200 Merge branch 'linus' into cpus4096 Conflicts: drivers/acpi/processor_throttling.c Signed-off-by: Ingo Molnar commit 5108b27651727b5aba0826e8fd7be71b42428701 Author: Harvey Harrison Date: Thu Jul 17 21:33:04 2008 -0700 nfsd: nfs4xdr.c do-while is not a compound statement The WRITEMEM macro produces sparse warnings of the form: fs/nfsd/nfs4xdr.c:2668:2: warning: do-while statement is not a compound statement Signed-off-by: Harvey Harrison Cc: Benny Halevy Signed-off-by: J. Bruce Fields commit ad1060c89cfe451de849373d98e42fad58dd25ae Author: J. Bruce Fields Date: Fri Jul 18 15:04:16 2008 -0400 nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c Thanks to problem report and original patch from Harvey Harrison. Signed-off-by: J. Bruce Fields Cc: Harvey Harrison Cc: Benny Halevy commit 9b610fda0df5d0f0b0c64242e37441ad1b384aac Merge: b8f8c3c... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 19:53:16 2008 +0200 Merge branch 'linus' into timers/nohz commit fa10c51a04a43ced5fd6033f19a74d2c82198b34 Author: Alexander Beregalov Date: Wed Jul 9 22:28:24 2008 +0400 arch/x86/kernel/cpu/common_64.c: remove double inclusions x86: remove double inclusions in arch/x86/kernel/cpu/common_64.c Signed-off-by: Alexander Beregalov Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 1181f8b5f0302580af0958169ef4497c3eb57a61 Author: Hiroshi Shimamoto Date: Thu Jul 3 13:12:13 2008 -0700 x86_32: remove redundant KERN_INFO This printk has a KERN_ facility level in the format string. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 1e01cb0c6ff7e9ddb6547551794c6aa82785a7cb Author: Steven Rostedt Date: Tue Jul 15 09:53:37 2008 -0400 ftrace: only trace preempt off with preempt tracer When PREEMPT_TRACER and IRQSOFF_TRACER are both configured and irqsoff tracer is running, the preempt_off sections might also be traced. Thanks to Andrew Morton for pointing out my mistake of spin_lock disabling interrupts while he was reviewing ftrace.txt. Seems that my example I used actually hit this bug. Signed-off-by: Steven Rostedt Cc: Linus Torvalds Cc: Andrew Morton Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6ac8d51f01d345af5ea4209004a9ea29b2f20891 Author: Jaswinder Singh Date: Tue Jul 15 21:09:13 2008 +0530 x86: introducing asm-x86/traps.h Declaring x86 traps under one hood. Declaring x86 do_traps before defining them. Signed-off-by: Jaswinder Singh Cc: Andi Kleen Cc: David Woodhouse Cc: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 8df185a95c9b84fc0c3c02224e64fdc5b83bae34 Author: Mike Travis Date: Tue Jul 8 15:55:48 2008 -0700 kthread: reduce stack pressure in create_kthread and kthreadd * Replace: set_cpus_allowed(..., CPU_MASK_ALL) with: set_cpus_allowed_ptr(..., CPU_MASK_ALL_PTR) to remove excessive stack requirements when NR_CPUS=4096. Signed-off-by: Mike Travis Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 5ff4789d045cdaec7629e027e4f8ff8e34308b81 Author: Joerg Roedel Date: Mon Jul 14 20:11:18 2008 +0200 AMD IOMMU: set iommu for device from ACPI code too The device<->iommu relationship has to be set from the information in the ACPI table too. This patch adds this logic to the driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit f1b0c8d3d3b5ff9c0b14bb2383a4bc38d8922bd1 Merge: d591b0a... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 18:43:08 2008 +0200 Merge branch 'linus' into x86/amd-iommu commit 9781f39fd209cd93ab98b669814191acc67f32fd Author: Thomas Petazzoni Date: Thu Jul 10 17:13:19 2008 +0200 x86: consolidate the definition of the force_mwait variable The force_mwait variable iss defined either in arch/x86/kernel/cpu/amd.c or in arch/x86/kernel/setup_64.c, but it is only initialized and used in arch/x86/kernel/process.c. This patch moves the declaration to arch/x86/kernel/process.c. Signed-off-by: Thomas Petazzoni Cc: michael@free-electrons.com Signed-off-by: Ingo Molnar commit 4dca10a96041f78bed11ce9e4a5cfde813ec4ccb Author: Hiroshi Shimamoto Date: Mon Jul 7 18:37:04 2008 -0700 softlockup: fix invalid proc_handler for softlockup_panic The type of softlockup_panic is int, but the proc_handler is proc_doulongvec_minmax(). This handler is for unsigned long. This handler should be proc_dointvec_minmax(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 47129654226b5bd418afe533ce4e11d6a0b6d6e4 Author: Alexander Beregalov Date: Sun Jul 6 20:13:49 2008 +0400 x86 setup.c: cleanup includes x86: remove double includes in setup.c Signed-off-by: Alexander Beregalov Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af Author: Thomas Gleixner Date: Fri Jul 18 17:27:28 2008 +0200 nohz: prevent tick stop outside of the idle loop Jack Ren and Eric Miao tracked down the following long standing problem in the NOHZ code: scheduler switch to idle task enable interrupts Window starts here ----> interrupt happens (does not set NEED_RESCHED) irq_exit() stops the tick ----> interrupt happens (does set NEED_RESCHED) return from schedule() cpu_idle(): preempt_disable(); Window ends here The interrupts can happen at any point inside the race window. The first interrupt stops the tick, the second one causes the scheduler to rerun and switch away from idle again and we end up with the tick disabled. The fact that it needs two interrupts where the first one does not set NEED_RESCHED and the second one does made the bug obscure and extremly hard to reproduce and analyse. Kudos to Jack and Eric. Solution: Limit the NOHZ functionality to the idle loop to make sure that we can not run into such a situation ever again. cpu_idle() { preempt_disable(); while(1) { tick_nohz_stop_sched_tick(1); <- tell NOHZ code that we are in the idle loop while (!need_resched()) halt(); tick_nohz_restart_sched_tick(); <- disables NOHZ mode preempt_enable_no_resched(); schedule(); preempt_disable(); } } In hindsight we should have done this forever, but ... /me grabs a large brown paperbag. Debugged-by: Jack Ren , Debugged-by: eric miao Signed-off-by: Thomas Gleixner commit 723edb5060855ef36ddeca51a070784b0e0d16df Author: Herton Ronaldo Krzesinski Date: Mon Jul 14 17:40:23 2008 -0300 Fix typos from signal_32/64.h merge Fallout from commit 33185c504f8e521b398536b5a8d415779a24593c ("x86: merge signal_32/64.h") Thanks to Dick Streefland who provided an useful testcase on http://lkml.org/lkml/2008/3/17/205 (only applicable to 2.6.24.x), that helped a lot as a deterministic way to bisect an issue that leaded to this fix. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Luiz Fernando N. Capitulino Cc: Roland McGrath Cc: Signed-off-by: Ingo Molnar commit 8b2b9c1af065a45ef00c26964420489a53581779 Author: Akinobu Mita Date: Tue Jul 15 17:09:03 2008 +0900 x86, intel_cacheinfo: fix use-after-free cache_kobject This avoids calling kobject_uevent() with cache_kobject that has already been deallocated in an error path. Signed-off-by: Akinobu Mita Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar commit 3f9b5cc018566ad9562df0648395649aebdbc5e0 Author: Ingo Molnar Date: Fri Jul 18 16:30:05 2008 +0200 x86: re-enable OPTIMIZE_INLINING re-enable OPTIMIZE_INLINING more widely. Jeff Dike fixed the remaining outstanding issue in this commit: | commit 4f81c5350b44bcc501ab6f8a089b16d064b4d2f6 | Author: Jeff Dike | Date: Mon Jul 7 13:36:56 2008 -0400 | | [UML] fix gcc ICEs and unresolved externs [...] | This patch reintroduces unit-at-a-time for gcc >= 4.0, bringing back the | possibility of Uli's crash. If that happens, we'll debug it. it's still default-off and thus opt-in. Signed-off-by: Ingo Molnar commit 7dedcee394a3f61475d08002bd12e8068d044216 Author: Alexander van Heukelum Date: Thu Jul 10 21:16:39 2008 +0200 x86: traps_xx: modify x86_64 to use _log_lvl variants i386 has show_trace_log_lvl and show_stack_log_lvl, allowing traces to be emitted with log-level annotations. This patch introduces them to x86_64, but log_lvl is only ever set to an empty string. Output of traces is unchanged. i386-chunk is whitespace-only. Signed-off-by: Alexander van Heukelum Cc: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 78cbac65fd77242f3e5d77f4d7a71e8bc869fe4d Author: Alexander van Heukelum Date: Thu Jul 10 21:14:52 2008 +0200 x86: traps_xx: refactor die() like in x86_64 Make the diff between the traps_32.c and traps_64.c a bit smaller. Change traps_32.c to look more like traps_64.c: - move lock information to file scope - split out oops_begin() and oops_end() from die() - increment nest counter in oops_begin Only whitespace change in traps_64.c No functional changes intended. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 8b95d9172be7146c87e7a998310ce2919c851adc Author: Heiko Carstens Date: Mon Jul 14 23:32:32 2008 +0200 fix core/stacktrace changes on avr32, mips, sh Fixes this type of problem: CC arch/s390/kernel/stacktrace.o arch/s390/kernel/stacktrace.c:84: warning: data definition has no type or storage class arch/s390/kernel/stacktrace.c:84: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' arch/s390/kernel/stacktrace.c:84: warning: parameter names (without types) in function declaration arch/s390/kernel/stacktrace.c:97: warning: data definition has no type or storage class arch/s390/kernel/stacktrace.c:97: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' arch/s390/kernel/stacktrace.c:97: warning: parameter names (without types) in function declaration caused by "stacktrace: export save_stack_trace[_tsk]" Signed-off-by: Heiko Carstens Cc: Stephen Rothwell Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 7019cc2dd6fafcdc6b104005482dc910dcdbb797 Author: Russ Anderson Date: Wed Jul 9 15:27:19 2008 -0500 x86 BIOS interface for RTC on SGI UV Real-time code needs to know the number of cycles per second on SGI UV. The information is provided via a run time BIOS call. This patch provides the linux side of that interface. This is the first of several run time BIOS calls to be defined in uv/bios.h and bios_uv.c. Note that BIOS_CALL() is just a stub for now. The bios side is being worked on. Signed-off-by: Russ Anderson Cc: Jack Steiner Signed-off-by: Ingo Molnar commit 8450e85399031a192ffb34f0f9ac981173db6a31 Author: Alexander van Heukelum Date: Sat Jul 5 19:53:46 2008 +0200 x86, cleanup: fix description of __fls(): __fls(0) is undefined Ricardo M. Correia spotted that the use of __fls() in fls64() did not seem to make sense. In fact fls64()'s implementation is fine, but the description of __fls() was wrong. Fix that. Reported-by: "Ricardo M. Correia" Signed-off-by: Alexander van Heukelum Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: Ingo Molnar commit 35b680557f95564f70f21a8d3f5c72e101fab260 Author: Maciej W. Rozycki Date: Fri Jul 18 01:47:44 2008 +0100 x86: more apic debugging [ mingo@elte.hu: picked up this patch from Maciej, lets make apic=debug print out more info - we had a lot of APIC changes ] Signed-off-by: Ingo Molnar commit 49a66a0bcea8737e82035a31ad0d8cd64d027a5d Author: Maciej W. Rozycki Date: Mon Jul 14 19:08:13 2008 +0100 x86: I/O APIC: Always report how the timer has been set up Following recent (and less so) issues with the 8254 timer when routed through the I/O or local APIC, always report which configurations have been tried and which one has been set up eventually. This is so that logs posted by people for some other reason can be used as a cross-reference when investigating any possible future problems. The change unifies messages printed on 32-bit and 64-bit platforms and adds trailing newlines (removes leading ones), so that proper log level annotation can be used and any possible interspersed output will not cause a mess. I have chosen to use apic_printk(APIC_QUIET, ...) rather than printk(...) so that the distinction of these messages is maintained making possible future decisions about changes in this area easier. A change posted separately making apic_verbosity unsigned removes any extra code that would otherwise be generated as a result of this design decision. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit baa1318841d4bc95d783e6c15219b264720002c8 Author: Maciej W. Rozycki Date: Mon Jul 14 18:44:51 2008 +0100 x86: APIC: Make apic_verbosity unsigned As a microoptimisation, make apic_verbosity unsigned. This will make apic_printk(APIC_QUIET, ...) expand into just printk(...) with the surrounding condition and a reference to apic_verbosity removed. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 17c44697f293cf24cbbf51b4a5bd15f4fbc88b90 Author: Maciej W. Rozycki Date: Mon Jul 14 17:18:04 2008 +0100 x86: I/O APIC: Include required by some code Include for i8259A_lock used in print_PIC() -- #if-0-ed out by default. The 32-bit version gets it right already. The plan is to enable this code with "apic=debug" eventually. This will aid with debugging strange problems without the need to ask people to apply patches. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 836c129de971d526b6e85b8ad760bd635a00215e Author: Cyrill Gorcunov Date: Tue Jul 15 21:02:55 2008 +0400 x86: apic_32 - introduce calibrate_APIC_clock Introduce calibrate_APIC_clock so it could help in further 32/64bit apic code merging. Signed-off-by: Cyrill Gorcunov Cc: Cyrill Gorcunov Cc: macro@linux-mips.org Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 89b3b1f41bd94085da2f08dcb719bdbf7e8e9d57 Author: Cyrill Gorcunov Date: Tue Jul 15 21:02:54 2008 +0400 x86: apic_64 - make calibrate_APIC_clock to return error code Make calibration_result to return error and check calibration_result to be sufficient inside calibrate_APIC_clock. Signed-off-by: Cyrill Gorcunov Cc: Cyrill Gorcunov Cc: macro@linux-mips.org Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit caadbdce240c43e3e46c82fce6c00eb7f01e1beb Author: Yinghai Lu Date: Tue Jul 15 00:03:44 2008 -0700 x86: enable memory tester support on 32-bit only supports memory below max_low_pfn. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1f067167a83d1c7f80437fd1d32b55508aaca009 Author: Yinghai Lu Date: Tue Jul 15 00:02:28 2008 -0700 x86: seperate memtest from init_64.c it's separate functionality that deserves its own file. This also prepares 32-bit memtest support. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1b427c153a08fdbc092c2bdbf845b92fda58d857 Author: Ingo Molnar Date: Fri Jul 18 14:01:39 2008 +0200 sched: fix build error, provide partition_sched_domains() unconditionally provide an empty partition_sched_domains() definition for the UP case: include/linux/cpuset.h: In function ‘rebuild_sched_domains': include/linux/cpuset.h:163: error: implicit declaration of function ‘partition_sched_domains' Signed-off-by: Ingo Molnar commit 577b4a58d2e74a4d48050eeea3e3f952ce04eb86 Author: David Howells Date: Fri Jul 11 13:34:54 2008 +0100 sched: fix warning in inc_rt_tasks() to not declare variable 'rq' if it's not needed Fix inc_rt_tasks() to not declare variable 'rq' if it's not needed. It is declared if CONFIG_SMP or CONFIG_RT_GROUP_SCHED, but only used if CONFIG_SMP. This is a consequence of patch 1f11eb6a8bc92536d9e93ead48fa3ffbd1478571 plus patch 1100ac91b6af02d8639d518fad5b434b1bf44ed6. Signed-off-by: David Howells Signed-off-by: Ingo Molnar commit fbdb7da91b0382d4b148d8b43c2eb4bab642bb5b Author: Hiroshi Shimamoto Date: Mon Jul 14 15:34:09 2008 -0700 x86_64: ia32_signal.c: use macro instead of immediate Make and use macro FIX_EFLAGS, instead of immediate value 0x40DD5 in ia32_restore_sigcontext(). Signed-off-by: Hiroshi Shimamoto Acked-by: "H. Peter Anvin" Signed-off-by: Ingo Molnar commit cdbfc557c43ea1f1f9b7062300ecb1254969814b Merge: 4d8cc87... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 13:53:16 2008 +0200 Merge branch 'linus' into x86/cleanups commit 95c7c23b06bc92f1772b9c9460845f179ba8c39e Author: Jeremy Fitzhardinge Date: Tue Jul 15 13:42:34 2008 -0700 xen: report hypervisor version Various versions of the hypervisor have differences in what ABIs and features they support. Print some details into the boot log to help with remote debugging. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e59494f441c834ca7aaa0e6fa6678ddbd3d72743 Author: Steven Rostedt Date: Wed Jul 16 00:13:45 2008 -0400 ftrace: fix 4d3702b6 (post-v2.6.26): WARNING: at kernel/lockdep.c:2731 check_flags (ftrace) On Wed, 16 Jul 2008, Vegard Nossum wrote: > When booting 4d3702b6, I got this huge thing: > > Testing tracer wakeup: <4>------------[ cut here ]------------ > WARNING: at kernel/lockdep.c:2731 check_flags+0x123/0x160() > Modules linked in: > Pid: 1, comm: swapper Not tainted 2.6.26-crashing-02127-g4d3702b6 #30 > [] warn_on_slowpath+0x59/0xb0 > [] ? ftrace_call+0x5/0x8 > [] ? native_read_tsc+0x0/0x20 > [] ? sub_preempt_count+0x12/0xf0 > [] ? trace_hardirqs_off+0xb/0x10 > [] ? __lock_acquire+0x2cc/0x1120 > [] ? trace_hardirqs_off+0xb/0x10 > [] ? mcount_call+0x5/0xa > [] check_flags+0x123/0x160 > [] lock_acquire+0x51/0xd0 > [] ? ftrace_call+0x5/0x8 > [] _spin_lock_irqsave+0x5f/0xa0 > [] ? ftrace_record_ip+0xf5/0x220 > [] ? debug_locks_off+0x3/0x50 > [] ftrace_record_ip+0xf5/0x220 > [] mcount_call+0x5/0xa > [] ? debug_locks_off+0x8/0x50 > [] check_flags+0xf7/0x160 > [] lock_acquire+0x51/0xd0 > [] ? ftrace_call+0x5/0x8 > [] _spin_lock_irqsave+0x5f/0xa0 > [] ? wakeup_tracer_call+0x6d/0xf0 > [] ? _local_bh_enable+0x62/0xb0 > [] ? sub_preempt_count+0xd/0xf0 > [] wakeup_tracer_call+0x6d/0xf0 > [] ? __do_softirq+0xf4/0x110 > [] ? wakeup_tracer_call+0x91/0xf0 > [] ftrace_call+0x5/0x8 > [] ? __do_softirq+0xf4/0x110 > [] ? sub_preempt_count+0x12/0xf0 > [] _local_bh_enable+0x62/0xb0 > [] __do_softirq+0xf4/0x110 > [] do_softirq+0xad/0xb0 > [] irq_exit+0xa5/0xb0 > [] smp_apic_timer_interrupt+0x66/0xa0 > [] ? trace_hardirqs_off_thunk+0xc/0x10 > [] apic_timer_interrupt+0x2d/0x34 > [] ? find_usage_backwards+0xb/0xf0 > [] ? _spin_unlock_irqrestore+0x69/0x80 > [] tg_shares_up+0x132/0x1d0 > [] walk_tg_tree+0x62/0xa0 > [] ? tg_shares_up+0x0/0x1d0 > [] ? tg_nop+0x0/0x10 > [] update_shares+0x5d/0x80 > [] try_to_wake_up+0x6f/0x280 > [] ? __ftrace_modify_code+0x0/0xc0 > [] ? __ftrace_modify_code+0x0/0xc0 > [] wake_up_process+0x14/0x20 > [] kthread_create+0x66/0xb0 > [] ? do_stop+0x0/0x200 > [] ? __stop_machine_run+0x30/0xb0 > [] __stop_machine_run+0x50/0xb0 > [] ? do_stop+0x0/0x200 > [] ? __ftrace_modify_code+0x0/0xc0 > [] ? mutex_unlock+0xd/0x10 > [] stop_machine_run+0x2c/0x60 > [] unregister_ftrace_function+0x103/0x180 > [] stop_wakeup_tracer+0x17/0x60 > [] wakeup_tracer_ctrl_update+0xf/0x30 > [] trace_selftest_startup_wakeup+0xb5/0x130 > [] ? trace_wakeup_test_thread+0x0/0x70 > [] register_tracer+0x135/0x1b0 > [] init_wakeup_tracer+0xd/0xf > [] kernel_init+0x1a9/0x2ce > [] ? _spin_unlock_irq+0x3b/0x60 > [] ? trace_hardirqs_on_thunk+0xc/0x10 > [] ? init_wakeup_tracer+0x0/0xf > [] ? trace_hardirqs_on_caller+0x126/0x180 > [] ? trace_hardirqs_on_thunk+0xc/0x10 > [] ? restore_nocheck_notrace+0x0/0xe > [] ? kernel_init+0x0/0x2ce > [] ? kernel_init+0x0/0x2ce > [] kernel_thread_helper+0x7/0x10 > ======================= > ---[ end trace a7919e7f17c0a725 ]--- > irq event stamp: 579530 > hardirqs last enabled at (579528): [] trace_hardirqs_on+0xb/0x10 > hardirqs last disabled at (579529): [] trace_hardirqs_off+0xb/0x10 > softirqs last enabled at (579530): [] __do_softirq+0xf4/0x110 > softirqs last disabled at (579517): [] do_softirq+0xad/0xb0 > irq event stamp: 579530 > hardirqs last enabled at (579528): [] trace_hardirqs_on+0xb/0x10 > hardirqs last disabled at (579529): [] trace_hardirqs_off+0xb/0x10 > softirqs last enabled at (579530): [] __do_softirq+0xf4/0x110 > softirqs last disabled at (579517): [] do_softirq+0xad/0xb0 > PASSED > > Incidentally, the kernel also hung while I was typing in this report. Things get weird between lockdep and ftrace because ftrace can be called within lockdep internal code (via the mcount pointer) and lockdep can be called with ftrace (via spin_locks). Signed-off-by: Steven Rostedt Tested-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 32172561889868c0ea422ea8570f0413963a815f Author: Harvey Harrison Date: Thu Jul 17 14:22:34 2008 -0700 x86: suppress sparse returning void warnings include/asm/paravirt.h:1404:2: warning: returning void-valued expression include/asm/paravirt.h:1414:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 2fb5e1e101d1b1c9a1aeca7ad99a02b49241ba7b Merge: 34646bc... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 13:41:27 2008 +0200 Merge branch 'linus' into x86/paravirt-spinlocks Conflicts: arch/x86/kernel/Makefile Signed-off-by: Ingo Molnar commit d55b53fff0c2ddb639dca04c3f5a0854f292d982 Author: Jeff Kirsher Date: Fri Jul 18 04:33:03 2008 -0700 igb/ixgbe/e1000e: resolve tx multiqueue bug With the recent changes to tx mutiqueue, igb/ixgbe/e1000e was not calling netif_tx_start_all_queues() before calling netif_tx_wake_all_queues(). This causes an issue during loading of the driver. In addition, updated e1000e to use the updated tx mutliqueue api. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 39b0fad7121eace85770e7a4c6dc35dfd2879768 Author: Max Krasnyansky Date: Tue Jul 15 20:56:26 2008 -0700 cpu hotplug: Make cpu_active_map synchronization dependency clear This goes on top of the cpu_active_map (take 2) patch. Currently we depend on the stop_machine to provide nescessesary synchronization for the cpu_active_map updates. As Dmitry Adamushko pointed this is fragile and is not much clearer than the previous scheme. In other words we do not want to depend on the internal stop machine operation here. So make the synchronization rules clear by doing synchronize_sched() after clearing out cpu active bit. Tested on quad-Core2 with: while true; do for i in 1 2 3; do echo 0 > /sys/devices/system/cpu/cpu$i/online done for i in 1 2 3; do echo 1 > /sys/devices/system/cpu/cpu$i/online done done and stress -c 200 No lockdep, preempt or other complaints. Signed-off-by: Max Krasnyansky Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e761b7725234276a802322549cee5255305a0930 Author: Max Krasnyansky Date: Tue Jul 15 04:43:49 2008 -0700 cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2) This is based on Linus' idea of creating cpu_active_map that prevents scheduler load balancer from migrating tasks to the cpu that is going down. It allows us to simplify domain management code and avoid unecessary domain rebuilds during cpu hotplug event handling. Please ignore the cpusets part for now. It needs some more work in order to avoid crazy lock nesting. Although I did simplfy and unify domain reinitialization logic. We now simply call partition_sched_domains() in all the cases. This means that we're using exact same code paths as in cpusets case and hence the test below cover cpusets too. Cpuset changes to make rebuild_sched_domains() callable from various contexts are in the separate patch (right next after this one). This not only boots but also easily handles while true; do make clean; make -j 8; done and while true; do on-off-cpu 1; done at the same time. (on-off-cpu 1 simple does echo 0/1 > /sys/.../cpu1/online thing). Suprisingly the box (dual-core Core2) is quite usable. In fact I'm typing this on right now in gnome-terminal and things are moving just fine. Also this is running with most of the debug features enabled (lockdep, mutex, etc) no BUG_ONs or lockdep complaints so far. I believe I addressed all of the Dmitry's comments for original Linus' version. I changed both fair and rt balancer to mask out non-active cpus. And replaced cpu_is_offline() with !cpu_active() in the main scheduler code where it made sense (to me). Signed-off-by: Max Krasnyanskiy Acked-by: Linus Torvalds Acked-by: Peter Zijlstra Acked-by: Gregory Haskins Cc: dmitry.adamushko@gmail.com Cc: pj@sgi.com Signed-off-by: Ingo Molnar commit 2b7207a6b53bd07be53b4753a3ea5ecb8d180048 Author: Sebastian Siewior Date: Wed Jul 16 23:31:17 2008 +0200 ftrace: copy + paste typo in asm/ftrace.h Signed-off-by: Sebastian Siewior Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit b6fcbdb4f283f7ba67cec3cda6be23da8e959031 Author: Pavel Emelyanov Date: Fri Jul 18 04:07:44 2008 -0700 proc: consolidate per-net single-release callers They are symmetrical to single_open ones :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit de05c557b24c7dffc6d392e3db120cf11c9f6ae7 Author: Pavel Emelyanov Date: Fri Jul 18 04:07:21 2008 -0700 proc: consolidate per-net single_open callers There are already 7 of them - time to kill some duplicate code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 60bdde95807e982a824be9cfdd35055cc721a88a Author: Pavel Emelyanov Date: Fri Jul 18 04:06:50 2008 -0700 proc: clean the ip_misc_proc_init and ip_proc_init_net error paths After all this stuff is moved outside, this function can look better. Besides, I tuned the error path in ip_proc_init_net to make it have only 2 exit points, not 3. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8e3461d01bdbc3dbf993448ed9ad4acaaeb6495d Author: Pavel Emelyanov Date: Fri Jul 18 04:06:26 2008 -0700 proc: show per-net ip_devconf.forwarding in /proc/net/snmp This one has become per-net long ago, but the appropriate file is per-net only now. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 229bf0cbaa054f1502ab4ee219f05985d2c838d1 Author: Pavel Emelyanov Date: Fri Jul 18 04:06:04 2008 -0700 proc: create /proc/net/snmp file in each net All the statistics shown in this file have been made per-net already. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7b7a9dfdf6ccda647f54ea5fa3bd0ac17a189eeb Author: Pavel Emelyanov Date: Fri Jul 18 04:05:17 2008 -0700 proc: create /proc/net/netstat file in each net Now all the shown in it statistics is netnsizated, time to show it in appropriate net. The appropriate net init/exit ops already exist - they make the sockstat file per net - so just extend them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d89cbbb1e69a3bfea38038fb058bd51013902ef3 Author: Pavel Emelyanov Date: Fri Jul 18 04:04:51 2008 -0700 ipv4: clean the init_ipv4_mibs error paths After moving all the stuff outside this function it looks a bit ugly - make it look better. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 923c6586b0dc0a00df07a1608185437145a0c68b Author: Pavel Emelyanov Date: Fri Jul 18 04:04:22 2008 -0700 mib: put icmpmsg statistics on struct net Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b60538a0d737609213e4b758881913498d3ff0b4 Author: Pavel Emelyanov Date: Fri Jul 18 04:04:02 2008 -0700 mib: put icmp statistics on struct net Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 386019d3514b3ed9de8d0b05b67e638a7048375b Author: Pavel Emelyanov Date: Fri Jul 18 04:03:45 2008 -0700 mib: put udplite statistics on struct net Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2f275f91a438abd8eec5321798d66a4ffe6869fa Author: Pavel Emelyanov Date: Fri Jul 18 04:03:27 2008 -0700 mib: put udp statistics on struct net Similar to... ouch, I repeat myself. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 61a7e26028b94805fd686a6dc9dbd9941f8f19b0 Author: Pavel Emelyanov Date: Fri Jul 18 04:03:08 2008 -0700 mib: put net statistics on struct net Similar to ip and tcp ones :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a20f5799ca7ceb24d63c74b6fdad4b0c0ee91f4f Author: Pavel Emelyanov Date: Fri Jul 18 04:02:42 2008 -0700 mib: put ip statistics on struct net Similar to tcp one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 57ef42d59d1c1d79be59fc3c6380ae14234e38c3 Author: Pavel Emelyanov Date: Fri Jul 18 04:02:08 2008 -0700 mib: put tcp statistics on struct net Proc temporary uses stats from init_net. BTW, TCP_XXX_STATS are beautiful (w/o do { } while (0) facing) again :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9b4661bd6e5437508e0920608f3213c23212cd1b Author: Pavel Emelyanov Date: Fri Jul 18 04:01:44 2008 -0700 ipv4: add pernet mib operations These ones are currently empty, but stuff from init_ipv4_mibs will sequentially migrate there. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 852566f53ccdc9d1c149ffa28daa9778e13fa3da Author: Pavel Emelyanov Date: Fri Jul 18 04:01:24 2008 -0700 mib: add netns/mib.h file The only structure declared within is the netns_mib, which will carry all our mibs within. I didn't put the mibs in the existing netns_xxx structures to make it possible to mark this one as properly aligned and get in a separate "read-mostly" cache-line. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a60f28fa934ccadbf526f4dab8d73079480002a4 Author: David S. Miller Date: Fri Jul 18 03:58:52 2008 -0700 Revert "remove the strip driver" This reverts commit 94d9842403f770239a656586442454b7a8f2df29. Alan says it's not appropriate to remove this driver, Adrian Bunk also agrees with this revert. Signed-off-by: David S. Miller commit 7ebefa8ceefed44cc321be70afc54a585a68ac0b Author: Dmitry Adamushko Date: Tue Jul 1 23:32:15 2008 +0200 sched: rework of "prioritize non-migratable tasks over migratable ones" (1) handle in a generic way all cases when a newly woken-up task is not migratable (not just a corner case when "rt_se->nr_cpus_allowed == 1") (2) if current is to be preempted, then make sure "p" will be picked up by pick_next_task_rt(). i.e. move task's group at the head of its list as well. currently, it's not a case for the group-scheduling case as described here: http://www.ussg.iu.edu/hypermail/linux/kernel/0807.0/0134.html Signed-off-by: Dmitry Adamushko Cc: Steven Rostedt Cc: Gregory Haskins Signed-off-by: Ingo Molnar commit 593f4a788e5d09e9f00182561437461b0b564de4 Author: Maciej W. Rozycki Date: Wed Jul 16 19:15:30 2008 +0100 x86: APIC: remove apic_write_around(); use alternatives Use alternatives to select the workaround for the 11AP Pentium erratum for the affected steppings on the fly rather than build time. Remove the X86_GOOD_APIC configuration option and replace all the calls to apic_write_around() with plain apic_write(), protecting accesses to the ESR as appropriate due to the 3AP Pentium erratum. Remove apic_read_around() and all its invocations altogether as not needed. Remove apic_write_atomic() and all its implementing backends. The use of ASM_OUTPUT2() is not strictly needed for input constraints, but I have used it for readability's sake. I had the feeling no one else was brave enough to do it, so I went ahead and here it is. Verified by checking the generated assembly and tested with both a 32-bit and a 64-bit configuration, also with the 11AP "feature" forced on and verified with gdb on /proc/kcore to work as expected (as an 11AP machines are quite hard to get hands on these days). Some script complained about the use of "volatile", but apic_write() needs it for the same reason and is effectively a replacement for writel(), so I have disregarded it. I am not sure what the policy wrt defconfig files is, they are generated and there is risk of a conflict resulting from an unrelated change, so I have left changes to them out. The option will get removed from them at the next run. Some testing with machines other than mine will be needed to avoid some stupid mistake, but despite its volume, the change is not really that intrusive, so I am fairly confident that because it works for me, it will everywhere. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit f53281e62a41ac176f050307c0d746a1183a68e8 Author: Kailang Yang Date: Fri Jul 18 12:36:43 2008 +0200 ALSA: hda - Add support of ASUS Eeepc P90* - Support ASUS_P900A = P703 - Support ASUS_P901 Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 29cbeb0e17d9d2ca824f62f71cfa7360b3157112 Author: Yinghai Lu Date: Thu Jul 17 21:50:23 2008 -0700 x86: use cpu_clear in remove_cpu_from_maps Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cd569ef5d6ff9f43e9504f1ffc7fdbe356518149 Merge: 6879827... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 12:20:23 2008 +0200 Merge branch 'linus' into x86/urgent commit 51f6baad264ca4bacdbf4fa25c676fa30d344bfa Author: Rene Herman Date: Fri Jul 18 11:15:12 2008 +0200 ALSA: opti9xx: no isapnp param for !CONFIG_PNP "isapnp" needs CONFIG_PNP to be useful. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai commit 82af6bc0986c5140efc875b2d91326031f0254ab Author: Takashi Iwai Date: Thu Jul 17 23:37:20 2008 +0200 ALSA: opti93x - Fix NULL dereference Probing non-existing device causes Oops with snd-opti93x driver due to NULL access in the destructor of the error path. Signed-off-by: Takashi Iwai Tested-by: Rene Herman Acked-by: Rene Herman Tested-by: Ingo Molnar Acked-by: Ingo Molnar commit 13b40c1e40f3261e83ee514a08b77dbecb93021b Author: Mike Travis Date: Tue Jul 1 10:32:50 2008 -0700 sched: reduce stack size in isolated_cpu_setup() * Remove 16k stack requirements in isolated_cpu_setup when NR_CPUS=4096. Signed-off-by: Mike Travis Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 49997d75152b3d23c53b0fa730599f2f74c92c65 Merge: a0c80b8... 5b664cb... Author: David S. Miller Date: Fri Jul 18 02:39:39 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/powerpc/booting-without-of.txt drivers/atm/Makefile drivers/net/fs_enet/fs_enet-main.c drivers/pci/pci-acpi.c net/8021q/vlan.c net/iucv/iucv.c commit fbfca4b8781757c1950b2225ba67d83072e0bc07 Author: Ben Nizette Date: Fri Jul 18 16:48:09 2008 +1000 avr32: clean up mci platform code This patch does a few small cleanups around the atmel mci platform code and in the atmel-mci driver. The platform changes simply removes an unused variable, uses the fact that by the end we always have some form of platform data and notes that GPIO_PIN_NONE != 0. This last point could cause the incorrect attempt to twice reserve pin PA0. While we've got the hood up, add linux/err.h to the atmel-mci.c include list. It needs it and generally pulls it by voodoo but I did once stumble across a config which don't build. This is against Linus' latest git. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit e7eb32eb3d28788fd66c233618e3f7fbe7beb9e4 Author: David S. Miller Date: Fri Jul 18 01:49:06 2008 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit 48ae74443403ab25876959e84785f61bf421ccef Merge: 1b82c96... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 10:14:56 2008 +0200 Merge branch 'linus' into x86/step commit 55ca089e2579de90f048aca2a3030b8b2f864813 Author: Stephen Rothwell Date: Thu Jul 17 13:09:24 2008 +1000 linux-next: pci tree build failure Today's linux-next build (x86_64 allmodconfig) failed like this: drivers/xen/manage.c: In function 'xen_suspend': drivers/xen/manage.c:66: error: too few arguments to function 'device_power_up' drivers/xen/manage.c: In function 'do_suspend': drivers/xen/manage.c:117: error: too few arguments to function 'device_resume' Caused by commit 1eede070a59e1cc73da51e1aaa00d9ab86572cfc ("Introduce new top level suspend and hibernation callbacks") interacting with new usages ... Signed-off-by: Stephen Rothwell Cc: Jeremy Fitzhardinge Acked-by: Rafael J. Wysocki Cc: Jesse Barnes Signed-off-by: Ingo Molnar commit ce087150211412afd901a3fa16b1aab5b54d1bcb Author: David S. Miller Date: Tue Jun 3 15:56:11 2008 -0700 sparc64: Add Niagara2 RNG driver. With feedback and suggestions from Sam Ravnborg. Signed-off-by: David S. Miller commit 432e8765f0206de5bbddcbd4eb1d9611c79b1eaa Author: David S. Miller Date: Fri Jul 18 00:43:52 2008 -0700 sparc64: Add missing hypervisor service group numbers. Signed-off-by: David S. Miller commit 725c3a2d70f958adee807c178178819a50f68a56 Author: Andi Kleen Date: Fri Jul 18 09:12:49 2008 +0200 Revert "ACPI: don't walk tables if ACPI was disabled" This reverts commit d1857056904d5f313f11184fcfa624652ff9620a. Double commit, noticed by Thomas Gleixner. Signed-off-by: Andi Kleen commit d88c16919793a9f5dc93e7956da5bb089c7600b4 Author: Ingo Molnar Date: Fri Jul 18 08:59:24 2008 +0200 Revert parts of "ftrace: do not trace scheduler functions" the removal of -mno-spe in the !ftrace case was not intended. Signed-off-by: Ingo Molnar commit f7fe93344fd3f4ccd406a35f751a61b77f94b0fc Author: David S. Miller Date: Thu Jul 17 23:43:55 2008 -0700 sparc64: Remove 4MB and 512K base page size options. Adrian Bunk reported that enabling 4MB page size breaks the build. The problem is that MAX_ORDER combined with the page shift exceeds the SECTION_SIZE_BITS we use in asm-sparc64/sparsemem.h There are several ways I suppose we could work around this. For one we could define a CONFIG_FORCE_MAX_ZONEORDER to decrease MAX_ORDER in these higher page size cases. But I also know that these page size cases are broken wrt. TLB miss handling especially on pre-hypervisor systems, and there isn't an easy way to fix that. These options were meant to be fun experimental hacks anyways, and only 8K and 64K make any sense to support. So remove 512K and 4M base page size support. Of course, we still support these page sizes for huge pages. Signed-off-by: David S. Miller commit d172ad18f9914f70c761a6cad470efc986d5e07e Author: David S. Miller Date: Thu Jul 17 23:44:50 2008 -0700 sparc64: Convert to generic helpers for IPI function calls. Signed-off-by: David S. Miller commit 4fe3ebec122f23a095cc1d17557c175caaa55ca1 Author: David S. Miller Date: Thu Jul 17 22:11:32 2008 -0700 sparc: Use new '%pS' infrastructure to print symbols. Signed-off-by: David S. Miller commit f538f3df4f92f34f5d8bc024d54c12387541cdee Author: Robert Reif Date: Mon Jul 14 22:57:29 2008 -0700 sparc32: fix init.c allnoconfig build error Fix allnoconfig build error. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 932d06139443ebebcd8d9232941b7216091966d5 Author: Randy Dunlap Date: Mon Jul 14 22:46:33 2008 -0700 sparc64: Config category "Processor type and features" absent kernel bugzilla #11059: sparc64 config menu is missing "Processor type and features", so add that and move General Setup before Processor menu. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit ab772027ca42a06f7e480077182434a2a30a8037 Author: Stoyan Gaydarov Date: Mon Jul 14 22:12:29 2008 -0700 sparc: arch/sparc/kernel/apc.c to unlocked_ioctl This changes arch/sparc/kernel/apc.c to use unlocked_ioctl Signed-off-by: Stoyan Gaydarov Signed-off-by: David S. Miller commit f5e706ad886b6a5eb59637830110b09ccebf01c5 Author: Sam Ravnborg Date: Thu Jul 17 21:55:51 2008 -0700 sparc: join the remaining header files With this commit all sparc64 header files are moved to asm-sparc. The remaining files (71 files) were too different to be trivially merged so divide them up in a _32.h and a _64.h file which are both included from the file with no bit size. The following script were used: cd include FILES=`wc -l asm-sparc64/*h | grep -v '^ 1' | cut -b 20-` for FILE in ${FILES}; do echo $FILE: BASE=`echo $FILE | cut -d '.' -f 1` FN32=${BASE}_32.h FN64=${BASE}_64.h GUARD=___ASM_SPARC_`echo $BASE | tr '-' '_' | tr [:lower:] [:upper:]`_H git mv asm-sparc/$FILE asm-sparc/$FN32 git mv asm-sparc64/$FILE asm-sparc/$FN64 echo git mv done printf "#ifndef %s\n" $GUARD > asm-sparc/$FILE printf "#define %s\n" $GUARD >> asm-sparc/$FILE printf "#if defined(__sparc__) && defined(__arch64__)\n" >> asm-sparc/$FILE printf "#include \n" $FN64 >> asm-sparc/$FILE printf "#else\n" >> asm-sparc/$FILE printf "#include \n" $FN32 >> asm-sparc/$FILE printf "#endif\n" >> asm-sparc/$FILE printf "#endif\n" >> asm-sparc/$FILE git add asm-sparc/$FILE echo new file done printf "#include \n" $FILE > asm-sparc64/$FILE git add asm-sparc64/$FILE echo sparc64 file done done The guard contains three '_' to avoid conflict with existing guards. In additing the two Kbuild files are emptied to avoid breaking headers_* targets. We will reintroduce the exported header files when the necessary kbuild changes are merged. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5e3609f60c09f0f15f71f80c6d7933b2c7be71a6 Author: Sam Ravnborg Date: Thu Jun 19 22:39:00 2008 +0200 sparc: merge header files with trivial differences A manual inspection revealed that the following headerfiles contained only trivial differences: hw_irq.h idprom.h kmap_types.h kvm.h spinlock_types.h sunbpp.h unaligned.h The only noteworthy change are that sparc64 had a volatile qualifer that sparc missed in spinlock_types.h. In addition a few comments were updated. Signed-off-by: Sam Ravnborg commit 075ae525327ed789f5b755a8042ee6f3a0e2ab7b Author: Sam Ravnborg Date: Thu Jun 19 20:52:54 2008 +0200 sparc: when header files are equal use asm-sparc version Used the following script to find equal header files: SPARC64=`ls asm-sparc64` for FILE in ${SPARC64}; do cmp -s asm-sparc/$FILE asm-sparc64/$FILE; if [ $? = 0 ]; then printf "#include \n" $FILE > asm-sparc64/$FILE fi done A few of the equal files are a simple include from asm-generic, but by including the file from asm-sparc we know they are equal for sparc and sparc64. Signed-off-by: Sam Ravnborg commit a00736e936c2a1e9c36f22f6f3a69392eaab51f4 Author: Sam Ravnborg Date: Thu Jun 19 20:26:19 2008 +0200 sparc: copy sparc64 specific files to asm-sparc Used the following script to copy the files: cd include set -e SPARC64=`ls asm-sparc64` for FILE in ${SPARC64}; do if [ -f asm-sparc/$FILE ]; then echo $FILE exist in asm-sparc else git mv asm-sparc64/$FILE asm-sparc/$FILE printf "#include \n" > asm-sparc64/$FILE git add asm-sparc64/$FILE fi done Signed-off-by: Sam Ravnborg commit bdc3135ac99efd59de084a309751ec76887e62d8 Author: Sam Ravnborg Date: Fri Jun 13 21:49:07 2008 +0200 sparc: Merge asm-sparc{,64}/asi.h Joined the two files as they contain distinct definitions. Inspired by patch from: Adrian Bunk Signed-off-by: Sam Ravnborg Cc: Adrian Bunk commit b1a8bf92a0303301f3e013e2a2f45a4916453ce7 Author: Sam Ravnborg Date: Fri Jun 13 20:20:54 2008 +0200 sparc: export openprom.h to userspace sparc64 exports openprom.h to userspace so let sparc follow the example. As openprom.h pulled in another not-for-export vaddrs.h header file it required a few changes to fix the build. The definition af VMALLOC_* were moved to pgtable as this is where sparc64 has them. Signed-off-by: Sam Ravnborg commit b444b9a5a1171ef07e1a87b01f7bb5bd0206d012 Author: Sam Ravnborg Date: Fri Jun 6 21:35:43 2008 +0200 sparc: Merge asm-sparc{,64}/types.h Copy content of sparc64 file to sparc file. There is only minimal possibilities for further unification. Signed-off-by: Sam Ravnborg commit c6d1b0e3d2b71ded7c457c2c9f1ab8c2c957aafe Author: Sam Ravnborg Date: Fri Jun 6 21:27:54 2008 +0200 sparc: Merge asm-sparc{,64}/termios.h Bring the commit e55c57e0b51c68d78845549505057169c6c3cba6 ("[SPARC64]: Report any user access faults in termios accessors") over to sparc when unifying the two files. The diff was manually inspected to contain no other relevant changes. This unification therefore changes functionality of sparc. Signed-off-by: Sam Ravnborg commit 943d0e86133a3f2e69b24e9754390a60d92ad224 Author: Sam Ravnborg Date: Fri Jun 6 21:13:45 2008 +0200 sparc: Merge asm-sparc{,64}/termbits.h The type of tcflag_t differs from 32 and 64 bit. For 32 bit it is long For 64 bit it is int Altough these have same size then I was not sure that it was OK to change the 64 bit version to long as this is part of the ABI so it was made conditional. :$ diff -u include/asm-sparc/termbits.h include/asm-sparc64/termbits.h :-- include/asm-sparc/termbits.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/termbits.h 2008-06-13 06:42:07.000000000 +0200 :@@ -1,11 +1,11 @@ :-#ifndef _SPARC_TERMBITS_H :-#define _SPARC_TERMBITS_H :+#ifndef _SPARC64_TERMBITS_H :+#define _SPARC64_TERMBITS_H : : #include : : typedef unsigned char cc_t; : typedef unsigned int speed_t; :-typedef unsigned long tcflag_t; :+typedef unsigned int tcflag_t; : : #define NCC 8 : struct termio { :@@ -102,7 +102,7 @@ : #define IXANY 0x00000800 : #define IXOFF 0x00001000 : #define IMAXBEL 0x00002000 :-#define IUTF8 0x00004000 :+#define IUTF8 0x00004000 : : /* c_oflag bits */ : #define OPOST 0x00000001 :@@ -171,7 +171,6 @@ : #define HUPCL 0x00000400 : #define CLOCAL 0x00000800 : #define CBAUDEX 0x00001000 :-/* We'll never see these speeds with the Zilogs, but for completeness... */ : #define BOTHER 0x00001000 : #define B57600 0x00001001 : #define B115200 0x00001002 :@@ -199,7 +198,7 @@ : #define B3500000 0x00001012 : #define B4000000 0x00001013 */ : #define CIBAUD 0x100f0000 /* input baud rate (not used) */ :-#define CMSPAR 0x40000000 /* mark or space (stick) parity */ :+#define CMSPAR 0x40000000 /* mark or space (stick) parity */ : #define CRTSCTS 0x80000000 /* flow control */ : : #define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ :@@ -258,4 +257,4 @@ : #define TCSADRAIN 1 : #define TCSAFLUSH 2 : :-#endif /* !(_SPARC_TERMBITS_H) */ :+#endif /* !(_SPARC64_TERMBITS_H) */ Signed-off-by: Sam Ravnborg commit 7c4285d8362641b815ea71018139619db965ab34 Author: Sam Ravnborg Date: Fri Jun 6 21:06:11 2008 +0200 sparc: Merge asm-sparc{,64}/setup.h COMMAND_LINE_SIZE differ for 32 and 64 bit. 256 versus 2048 :$ diff -u include/asm-sparc/setup.h include/asm-sparc64/setup.h :-- include/asm-sparc/setup.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/setup.h 2008-06-13 06:42:07.000000000 +0200 :@@ -2,9 +2,9 @@ : * Just a place holder. : */ : :-#ifndef _SPARC_SETUP_H :-#define _SPARC_SETUP_H :+#ifndef _SPARC64_SETUP_H :+#define _SPARC64_SETUP_H : :-#define COMMAND_LINE_SIZE 256 :+#define COMMAND_LINE_SIZE 2048 : :-#endif /* _SPARC_SETUP_H */ :+#endif /* _SPARC64_SETUP_H */ Signed-off-by: Sam Ravnborg commit 68a61c8d87dae7c7b7cc76ab01190475e87be0d9 Author: Sam Ravnborg Date: Fri Jun 6 21:02:38 2008 +0200 sparc: Merge asm-sparc{,64}/resource.h RLIM_INFINITY differ from 32 and 64 bit. The rest is equal. :$ diff -u include/asm-sparc/resource.h include/asm-sparc64/resource.h :-- include/asm-sparc/resource.h 2008-06-13 06:46:39.000000000 +0200 :++ include/asm-sparc64/resource.h 2008-06-13 06:46:39.000000000 +0200 :@@ -1,11 +1,11 @@ : /* : * resource.h: Resource definitions. : * :- * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) :+ * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) : */ : :-#ifndef _SPARC_RESOURCE_H :-#define _SPARC_RESOURCE_H :+#ifndef _SPARC64_RESOURCE_H :+#define _SPARC64_RESOURCE_H : : /* : * These two resource limit IDs have a Sparc/Linux-specific ordering, :@@ -14,13 +14,6 @@ : #define RLIMIT_NOFILE 6 /* max number of open files */ : #define RLIMIT_NPROC 7 /* max number of processes */ : :-/* :- * SuS says limits have to be unsigned. :- * We make this unsigned, but keep the :- * old value for compatibility: :- */ :-#define RLIM_INFINITY 0x7fffffff :- : #include : :-#endif /* !(_SPARC_RESOURCE_H) */ :+#endif /* !(_SPARC64_RESOURCE_H) */ Signed-off-by: Sam Ravnborg commit 7acc483d21a6e45e6ec8dc1eec711f7881bc3f3f Author: Sam Ravnborg Date: Thu Jun 5 21:57:01 2008 +0200 sparc: Merge asm-sparc{,64}/fbio.h Signed-off-by: Sam Ravnborg commit fc86029910564703d811882db31265ad082639e9 Author: Sam Ravnborg Date: Thu Jun 5 21:54:03 2008 +0200 sparc: copy asm-sparc64/fbio.h to asm-sparc There were only a few trivial changes and a few additions in the sparc64 variant of this file. This patch copies the sparc64 specific bits to the sparc version of fbio.h so they are equal. A later patch will merge the two. Signed-off-by: Sam Ravnborg commit f92ffa12f41efab4d4ad2827422d2e0a6c4e0fd2 Author: Sam Ravnborg Date: Fri Jun 6 20:51:20 2008 +0200 sparc: Merge asm-sparc{,64}/mman.h Renaming the function sparc64_mmap_check() to sparc_mmap_check() was enough to make the two header files identical. :$ diff -u include/asm-sparc/mman.h include/asm-sparc64/mman.h :-- include/asm-sparc/mman.h 2008-06-13 06:46:39.000000000 +0200 :++ include/asm-sparc64/mman.h 2008-06-13 06:46:39.000000000 +0200 :@@ -1,5 +1,5 @@ :-#ifndef __SPARC_MMAN_H__ :-#define __SPARC_MMAN_H__ :+#ifndef __SPARC64_MMAN_H__ :+#define __SPARC64_MMAN_H__ : : #include : :@@ -23,9 +23,9 @@ : : #ifdef __KERNEL__ : #ifndef __ASSEMBLY__ :-#define arch_mmap_check(addr,len,flags) sparc_mmap_check(addr,len) :-int sparc_mmap_check(unsigned long addr, unsigned long len); :+#define arch_mmap_check(addr,len,flags) sparc64_mmap_check(addr,len) :+int sparc64_mmap_check(unsigned long addr, unsigned long len); : #endif : #endif : :-#endif /* __SPARC_MMAN_H__ */ :+#endif /* __SPARC64_MMAN_H__ */ Signed-off-by: Sam Ravnborg commit 2d1419624c2e0173aee138372dd1eccb5d5fd270 Author: Sam Ravnborg Date: Thu Jun 5 23:46:22 2008 +0200 sparc: Merge asm-sparc{,64}/shmbuf.h Padding in the shmbuf structure made conditional as only 32 bit sparc did so. :$ diff -u include/asm-sparc/shmbuf.h include/asm-sparc64/shmbuf.h :-- include/asm-sparc/shmbuf.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/shmbuf.h 2008-06-13 06:42:07.000000000 +0200 :@@ -1,23 +1,19 @@ :-#ifndef _SPARC_SHMBUF_H :-#define _SPARC_SHMBUF_H :+#ifndef _SPARC64_SHMBUF_H :+#define _SPARC64_SHMBUF_H : : /* :- * The shmid64_ds structure for sparc architecture. :+ * The shmid64_ds structure for sparc64 architecture. : * Note extra padding because this structure is passed back and forth : * between kernel and user space. : * : * Pad space is left for: :- * - 64-bit time_t to solve y2038 problem :- * - 2 miscellaneous 32-bit values :+ * - 2 miscellaneous 64-bit values : */ : : struct shmid64_ds { : struct ipc64_perm shm_perm; /* operation perms */ :- unsigned int __pad1; : __kernel_time_t shm_atime; /* last attach time */ :- unsigned int __pad2; : __kernel_time_t shm_dtime; /* last detach time */ :- unsigned int __pad3; : __kernel_time_t shm_ctime; /* last change time */ : size_t shm_segsz; /* size of segment (bytes) */ : __kernel_pid_t shm_cpid; /* pid of creator */ :@@ -39,4 +35,4 @@ : unsigned long __unused4; : }; : :-#endif /* _SPARC_SHMBUF_H */ :+#endif /* _SPARC64_SHMBUF_H */ Signed-off-by: Sam Ravnborg commit fcb07081f209d3d9c7662ba6a097b254e76f71ee Author: Sam Ravnborg Date: Thu Jun 5 23:39:32 2008 +0200 sparc: Merge asm-sparc{,64}/sembuf.h Padding in the sembuf structure made conditional as only 32 bit sparc did so. :$ diff -u include/asm-sparc/sembuf.h include/asm-sparc64/sembuf.h :-- include/asm-sparc/sembuf.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/sembuf.h 2008-06-13 06:42:07.000000000 +0200 :@@ -1,21 +1,18 @@ :-#ifndef _SPARC_SEMBUF_H :-#define _SPARC_SEMBUF_H :+#ifndef _SPARC64_SEMBUF_H :+#define _SPARC64_SEMBUF_H : : /* :- * The semid64_ds structure for sparc architecture. :+ * The semid64_ds structure for sparc64 architecture. : * Note extra padding because this structure is passed back and forth : * between kernel and user space. : * : * Pad space is left for: :- * - 64-bit time_t to solve y2038 problem :- * - 2 miscellaneous 32-bit values :+ * - 2 miscellaneous 64-bit values : */ : : struct semid64_ds { : struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ :- unsigned int __pad1; : __kernel_time_t sem_otime; /* last semop time */ :- unsigned int __pad2; : __kernel_time_t sem_ctime; /* last change time */ : unsigned long sem_nsems; /* no. of semaphores in array */ : unsigned long __unused1; Signed-off-by: Sam Ravnborg commit 100b10d752bafafda2a508235b7df6718e42bd76 Author: Sam Ravnborg Date: Thu Jun 5 23:04:06 2008 +0200 sparc: Merge asm-sparc{,64}/msgbuf.h Padding from 32 bit sparc kept using preprocessor magic :$ diff -u include/asm-sparc/msgbuf.h include/asm-sparc64/msgbuf.h :-- include/asm-sparc/msgbuf.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/msgbuf.h 2008-06-13 06:42:07.000000000 +0200 :@@ -7,17 +7,13 @@ : * between kernel and user space. : * : * Pad space is left for: :- * - 64-bit time_t to solve y2038 problem :- * - 2 miscellaneous 32-bit values :+ * - 2 miscellaneous 64-bit values : */ : : struct msqid64_ds { : struct ipc64_perm msg_perm; :- unsigned int __pad1; : __kernel_time_t msg_stime; /* last msgsnd time */ :- unsigned int __pad2; : __kernel_time_t msg_rtime; /* last msgrcv time */ :- unsigned int __pad3; : __kernel_time_t msg_ctime; /* last change time */ : unsigned long msg_cbytes; /* current number of bytes on queue */ Signed-off-by: Sam Ravnborg commit 6d1f4b88ee73c9a073277dd1529fbbce356e04e8 Author: Sam Ravnborg Date: Thu Jun 5 22:37:04 2008 +0200 sparc: Merge asm-sparc{,64}/fcntl.h The definition of O_NDELAY differed - the rest was equal :$ diff -u include/asm-sparc/fcntl.h include/asm-sparc64/fcntl.h :-- include/asm-sparc/fcntl.h 2008-06-13 06:46:39.000000000 +0200 :++ include/asm-sparc64/fcntl.h 2008-06-13 06:46:39.000000000 +0200 :@@ -1,8 +1,9 @@ :-#ifndef _SPARC_FCNTL_H :-#define _SPARC_FCNTL_H :+#ifndef _SPARC64_FCNTL_H :+#define _SPARC64_FCNTL_H : : /* open/fcntl - O_SYNC is only implemented on blocks devices and on files : located on an ext2 file system */ :+#define O_NDELAY 0x0004 : #define O_APPEND 0x0008 : #define FASYNC 0x0040 /* fcntl, for BSD compatibility */ : #define O_CREAT 0x0200 /* not fcntl */ :@@ -10,7 +11,6 @@ : #define O_EXCL 0x0800 /* not fcntl */ : #define O_SYNC 0x2000 : #define O_NONBLOCK 0x4000 :-#define O_NDELAY (0x0004 | O_NONBLOCK) : #define O_NOCTTY 0x8000 /* not fcntl */ : #define O_LARGEFILE 0x40000 : #define O_DIRECT 0x100000 /* direct disk access hint */ :@@ -29,8 +29,7 @@ : #define F_UNLCK 3 : : #define __ARCH_FLOCK_PAD short __unused; :-#define __ARCH_FLOCK64_PAD short __unused; : : #include : :-#endif :+#endif /* !(_SPARC64_FCNTL_H) */ Signed-off-by: Sam Ravnborg commit e880e8701cd5a76bc5b9e67e48ab3b21963fbe0a Author: Sam Ravnborg Date: Thu Jun 5 23:50:10 2008 +0200 sparc: Merge asm-sparc{,64}/sockios.h :$ diff -u include/asm-sparc/sockios.h include/asm-sparc64/sockios.h :-- include/asm-sparc/sockios.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/sockios.h 2008-06-13 06:42:07.000000000 +0200 :@@ -1,5 +1,5 @@ :-#ifndef _ASM_SPARC_SOCKIOS_H :-#define _ASM_SPARC_SOCKIOS_H :+#ifndef _ASM_SPARC64_SOCKIOS_H :+#define _ASM_SPARC64_SOCKIOS_H : : /* Socket-level I/O control calls. */ : #define FIOSETOWN 0x8901 :@@ -10,5 +10,5 @@ : #define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */ : #define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */ : :-#endif /* !(_ASM_SPARC_SOCKIOS_H) */ :+#endif /* !(_ASM_SPARC64_SOCKIOS_H) */ Signed-off-by: Sam Ravnborg commit c8b8be5427a48c1a96dc0cf98ba772aedcda7e77 Author: Sam Ravnborg Date: Thu Jun 5 23:49:02 2008 +0200 sparc: Merge asm-sparc{,64}/socket.h :$ diff -u include/asm-sparc/socket.h include/asm-sparc64/socket.h :-- include/asm-sparc/socket.h 2008-06-13 06:46:39.000000000 +0200 :++ include/asm-sparc64/socket.h 2008-06-13 06:46:39.000000000 +0200 :@@ -48,11 +48,10 @@ : #define SO_TIMESTAMPNS 0x0021 : #define SCM_TIMESTAMPNS SO_TIMESTAMPNS : :-#define SO_MARK 0x0022 :- : /* Security levels - as per NRL IPv6 - don't actually do anything */ : #define SO_SECURITY_AUTHENTICATION 0x5001 : #define SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002 : #define SO_SECURITY_ENCRYPTION_NETWORK 0x5004 : :+#define SO_MARK 0x0022 : #endif /* _ASM_SOCKET_H */ Signed-off-by: Sam Ravnborg commit 62e612f0abb33c99c55ea3d04626f6799a1cdca9 Author: Sam Ravnborg Date: Thu Jun 5 23:08:51 2008 +0200 sparc: Merge asm-sparc{,64}/poll.h :$ diff -u include/asm-sparc/poll.h include/asm-sparc64/poll.h :-- include/asm-sparc/poll.h 2008-06-13 06:42:07.000000000 +0200 :++ include/asm-sparc64/poll.h 2008-06-13 06:42:07.000000000 +0200 :@@ -1,5 +1,5 @@ :-#ifndef __SPARC_POLL_H :-#define __SPARC_POLL_H :+#ifndef __SPARC64_POLL_H :+#define __SPARC64_POLL_H : : #define POLLWRNORM POLLOUT : #define POLLWRBAND 256 Signed-off-by: Sam Ravnborg commit 4835bd988e58150c0a6e2d3e13e319a56ed821dc Author: Sam Ravnborg Date: Thu Jun 5 23:07:26 2008 +0200 sparc: Merge asm-sparc{,64}/param.h :$ diff -u include/asm-sparc/param.h include/asm-sparc64/param.h :-- include/asm-sparc/param.h 2008-06-13 06:46:39.000000000 +0200 :++ include/asm-sparc64/param.h 2008-06-13 06:42:07.000000000 +0200 :@@ -1,5 +1,6 @@ :-#ifndef _ASMSPARC_PARAM_H :-#define _ASMSPARC_PARAM_H :+#ifndef _ASMSPARC64_PARAM_H :+#define _ASMSPARC64_PARAM_H :+ : : #ifdef __KERNEL__ : # define HZ CONFIG_HZ /* Internal kernel timer frequency */ :@@ -19,4 +20,4 @@ : : #define MAXHOSTNAMELEN 64 /* max length of hostname */ : :-#endif :+#endif /* _ASMSPARC64_PARAM_H */ Signed-off-by: Sam Ravnborg commit f1ba03cac28edc4d68cca2475d50f463afcd2955 Author: Sam Ravnborg Date: Thu Jun 5 22:45:50 2008 +0200 sparc: Merge asm-sparc{,64}/ioctls.h Trivial differenses in comments - used the version from sparc64 :$ diff -u include/asm-sparc/ioctls.h include/asm-sparc64/ioctls.h :-- include/asm-sparc/ioctls.h 2008-06-13 08:46:29.000000000 +0200 :++ include/asm-sparc64/ioctls.h 2008-06-13 08:46:29.000000000 +0200 :@@ -1,5 +1,5 @@ :-#ifndef _ASM_SPARC_IOCTLS_H :-#define _ASM_SPARC_IOCTLS_H :+#ifndef _ASM_SPARC64_IOCTLS_H :+#define _ASM_SPARC64_IOCTLS_H : : #include : :@@ -22,7 +22,7 @@ : : /* Note that all the ioctls that are not available in Linux have a : * double underscore on the front to: a) avoid some programs to :- * thing we support some ioctls under Linux (autoconfiguration stuff) :+ * think we support some ioctls under Linux (autoconfiguration stuff) : */ : /* Little t */ : #define TIOCGETD _IOR('t', 0, int) :@@ -110,7 +110,7 @@ : #define TIOCSERGETLSR 0x5459 /* Get line status register */ : #define TIOCSERGETMULTI 0x545A /* Get multiport config */ : #define TIOCSERSETMULTI 0x545B /* Set multiport config */ :-#define TIOCMIWAIT 0x545C /* Wait input */ :+#define TIOCMIWAIT 0x545C /* Wait for change on serial input line(s) */ : #define TIOCGICOUNT 0x545D /* Read serial port inline interrupt counts */ : : /* Kernel definitions */ :@@ -133,4 +133,4 @@ : #define TIOCPKT_NOSTOP 16 : #define TIOCPKT_DOSTOP 32 : :-#endif /* !(_ASM_SPARC_IOCTLS_H) */ :+#endif /* !(_ASM_SPARC64_IOCTLS_H) */ Signed-off-by: Sam Ravnborg commit 278864fac79c0c18b0a7f15ca589a4f0845b2fbc Author: Sam Ravnborg Date: Thu Jun 5 22:44:29 2008 +0200 sparc: Merge asm-sparc{,64}/ioctl.h :$ diff -u include/asm-sparc/ioctl.h include/asm-sparc64/ioctl.h :-- include/asm-sparc/ioctl.h 2008-06-13 06:46:39.000000000 +0200 :++ include/asm-sparc64/ioctl.h 2008-06-13 08:46:29.000000000 +0200 :@@ -1,5 +1,5 @@ :-#ifndef _SPARC_IOCTL_H :-#define _SPARC_IOCTL_H :+#ifndef _SPARC64_IOCTL_H :+#define _SPARC64_IOCTL_H : :/* :* Our DIR and SIZE overlap in order to simulteneously provide :@@ -64,4 +64,4 @@ :#define IOCSIZE_MASK (_IOC_XSIZEMASK << _IOC_SIZESHIFT) :#define IOCSIZE_SHIFT (_IOC_SIZESHIFT) : :-#endif /* !(_SPARC_IOCTL_H) */ :+#endif /* !(_SPARC64_IOCTL_H) */ Signed-off-by: Sam Ravnborg commit 09d3e1baa1f23bba39950990c5dddfb7fcc86238 Author: Sam Ravnborg Date: Fri Jun 13 08:26:32 2008 +0200 sparc: copy exported sparc64 specific header files to asm-sparc Copy was done using the following simple script: set -e SPARC64="h display7seg.h envctrl.h psrcompat.h pstate.h uctx.h utrap.h watchdog.h" for FILE in ${SPARC64}; do if [ -f asm-sparc/$FILE ]; then echo $FILE exist in asm-sparc fi cat asm-sparc64/$FILE > asm-sparc/$FILE printf "#include \n" > asm-sparc64/$FILE done The name of the copied files are added to asm-sparc/Kbuild to keep "make headers_check" functional. Signed-off-by: Sam Ravnborg commit 9ae95bce73ef2d12fbe32a03ed230a9bef667328 Author: Sam Ravnborg Date: Mon Jul 7 22:30:35 2008 +0200 sparc: add -m64 when building vmlinux.lds David Miller noticed that the build of vmlinux.lds failed to use the -m64 specifier. This caused the build to break with a bi-arch gcc with unified headers. Add the -m64 option to CPPFLAGS_vmlinux.lds so we have the correct defines available when building vmliux.lds. Signed-off-by: Sam Ravnborg commit 597631f2eadc94a1c5109c639af1e575cf587d8b Author: David S. Miller Date: Tue Jun 10 13:00:12 2008 -0700 sparc64 Kbuild: apb.h and bbc.h should not be exported to userspace Signed-off-by: David S. Miller commit 3f261e829f56185eee3b224615636b99d54c3b3e Author: Sam Ravnborg Date: Thu Jun 5 11:48:20 2008 -0700 sparc: Merge include/asm-sparc{,64}/perfctr.h Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit fc491d7da88b02275ad9ed7459006ca09b55953b Author: Sam Ravnborg Date: Thu Jun 5 11:47:46 2008 -0700 sparc: Merge include/asm-sparc{,64}/openpromio.h Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d6eaadfbbd836d13831630559ac483024f48d055 Author: Adrian Bunk Date: Thu Jun 5 11:45:42 2008 -0700 sparc: remove PROM_AP1000 This seems to be left from the long gone AP1000 support. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 960681450f8b572f230a8c3661dcc34f39fcc38e Author: Adrian Bunk Date: Thu Jun 5 11:44:39 2008 -0700 drivers/sbus/: cleanups This patch contains the following cleanups: - make the following needlessly global code static: - char/uctrl.c: uctrl_get_event_status() - char/uctrl.c: uctrl_get_external_status() - char/vfc_dev.c: struct vfc_dev_lst - char/vfc_dev.c: vfc_lock_device() - char/vfc_dev.c: vfc_unlock_device() - char/vfc_dev.c: vfc_captstat_reset() - char/vfc_dev.c: vfc_memptr_reset() - char/vfc_dev.c: vfc_csr_init() - char/vfc_dev.c: vfc_saa9051_init() - char/vfc_dev.c: init_vfc_hw() - char/vfc_dev.c: init_vfc_devstruct() - char/vfc_dev.c: init_vfc_device() - char/vfc_dev.c: vfc_get_dev_ptr() - char/vfc_dev.c: vfc_capture_start() - char/vfc_dev.c: vfc_capture_poll() - char/vfc_dev.c: vfc_port_change_ioctl() - char/vfc_dev.c: vfc_set_video_ioctl() - char/vfc_dev.c: vfc_get_video_ioctl() - char/vfc_i2c.c: vfc_i2c_wait_for_bus() - char/vfc_i2c.c: vfc_i2c_wait_for_pin() - char/vfc_i2c.c: vfc_i2c_xmit_addr() - char/vfc_i2c.c: vfc_i2c_xmit_byte() - char/vfc_i2c.c: vfc_i2c_recv_byte() - dvma.c: init_one_dvma() - remove an unused variable from a function: - char/uctrl.c: ts102_uctrl_init() - remove the following unused and empty function: - char/uctrl.c: uctrl_set_video() Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 908f5162ca59ed46a928e8416db159777d432e77 Author: Adrian Bunk Date: Thu Jun 5 11:42:40 2008 -0700 sparc64/kernel/: make code static This patch makes the following needlessly global code static: - central.c: struct central_bus - central.c: struct fhc_list - central.c: apply_fhc_ranges() - central.c: apply_central_ranges() - ds.c: struct ds_states_template[] - pci_msi.c: sparc64_setup_msi_irq() - pci_msi.c: sparc64_teardown_msi_irq() - pci_sun4v.c: struct sun4v_dma_ops - sys_sparc32.c: cp_compat_stat64() Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 50215d6511265d46ba14038640b16c5dd7731ff4 Author: Adrian Bunk Date: Thu Jun 5 11:41:51 2008 -0700 sparc/mm/: possible cleanups This patch contains the following possible cleanups: - make the following needlessly global code static: - fault.c: force_user_fault() - init.c: calc_max_low_pfn() - init.c: pgt_cache_water[] - init.c: map_high_region() - srmmu.c: hwbug_bitmask - srmmu.c: srmmu_swapper_pg_dir - srmmu.c: srmmu_context_table - srmmu.c: is_hypersparc - srmmu.c: srmmu_cache_pagetables - srmmu.c: srmmu_nocache_size - srmmu.c: srmmu_nocache_end - srmmu.c: srmmu_get_nocache() - srmmu.c: srmmu_free_nocache() - srmmu.c: srmmu_early_allocate_ptable_skeleton() - srmmu.c: srmmu_nocache_calcsize() - srmmu.c: srmmu_nocache_init() - srmmu.c: srmmu_alloc_thread_info() - srmmu.c: early_pgtable_allocfail() - srmmu.c: srmmu_early_allocate_ptable_skeleton() - srmmu.c: srmmu_allocate_ptable_skeleton() - srmmu.c: srmmu_inherit_prom_mappings() - sunami.S: tsunami_copy_1page - remove the following unused code: - init.c: struct sparc_aliases Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit c61c65cdcd1021cfbd7be8685ff1cf4f86c68c44 Author: Adrian Bunk Date: Thu Jun 5 11:40:58 2008 -0700 sparc/kernel/: possible cleanups This patch contains the following possible cleanups: - make the following needlessly global code static: - apc.c: apc_swift_idle() - ebus.c: ebus_blacklist_irq() - ebus.c: fill_ebus_child() - ebus.c: fill_ebus_device() - entry.S: syscall_is_too_hard - etra: tsetup_sun4c_stackchk - head.S: cputyp - head.S: prom_vector_p - idprom.c: Sun_Machines[] - ioport.c: _sparc_find_resource() - ioport.c: create_proc_read_entry() - irq.c: struct sparc_irq[] - rtrap.S: sun4c_rett_stackchk - setup.c: prom_sync_me() - setup.c: boot_flags - sun4c_irq.c: sun4c_sbint_to_irq() - sun4d_irq.c: sbus_tid[] - sun4d_irq.c: struct sbus_actions - sun4d_irq.c: sun4d_sbint_to_irq() - sun4m_irq.c: sun4m_sbint_to_irq() - sun4m_irq.c: sun4m_get_irqmask() - sun4m_irq.c: sun4m_timers - sun4m_smp.c: smp4m_cross_call() - sun4m_smp.c: smp4m_blackbox_id() - sun4m_smp.c: smp4m_blackbox_current() - time.c: sp_clock_typ - time.c: sbus_time_init() - traps.c: instruction_dump() - wof.S: spwin_sun4c_stackchk - wuf.S: sun4c_fwin_stackchk - #if 0 the following unused code: - process.c: sparc_backtrace_lock - process.c: __show_backtrace() - process.c: show_backtrace() - process.c: smp_show_backtrace_all_cpus() - remove the following unused code: - entry.S: __handle_exception - smp.c: smp_num_cpus - smp.c: smp_activated - smp.c: __cpu_number_map[] - smp.c: __cpu_logical_map[] - smp.c: bitops_spinlock - traps.c: trap_curbuf - traps.c: trapbuf[] - traps.c: linux_smp_still_initting - traps.c: thiscpus_tbr - traps.c: thiscpus_mid Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d Author: David S. Miller Date: Thu Jul 17 01:46:06 2008 -0700 pkt_sched: Make default qdisc nonshared-multiqueue safe. Instead of 'pfifo_fast' we have just plain 'fifo_fast'. No priority queues, just a straight FIFO. This is necessary in order to legally have a seperate qdisc per queue in multi-TX-queue setups, and thus get full parallelization. Signed-off-by: David S. Miller commit 93245dd6d356b864f6676396a9f3edecbd378ed0 Author: David S. Miller Date: Thu Jul 17 04:03:43 2008 -0700 pkt_sched: Don't used locked skb_queue_purge() in __qdisc_reset_queue() We have to have exclusive access to the given qdisc anyways, so doing even more locking is superfluous. Signed-off-by: David S. Miller commit 99194cff398d056e5ee469647c294466c246c88a Author: David S. Miller Date: Thu Jul 17 04:54:10 2008 -0700 pkt_sched: Add multiqueue handling to qdisc_graft(). Move the destruction of the old queue into qdisc_graft(). When operating on a root qdisc (ie. "parent == NULL"), apply the operation to all queues. The caller has grabbed a single implicit reference for this graft, therefore when we apply the change to more than one queue we must grab additional qdisc references. Otherwise, we are operating on a class of a specific parent qdisc, and therefore no multiqueue handling is necessary. Signed-off-by: David S. Miller commit 83874000929ed63aef30b44083a9f713135ff040 Author: David S. Miller Date: Thu Jul 17 00:53:03 2008 -0700 pkt_sched: Kill netdev_queue lock. We can simply use the qdisc->q.lock for all of the qdisc tree synchronization. Signed-off-by: David S. Miller commit c7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6 Author: David S. Miller Date: Wed Jul 16 03:22:39 2008 -0700 pkt_sched: Kill qdisc_lock_tree and qdisc_unlock_tree. No longer used. Signed-off-by: David S. Miller commit 78a5b30b7324b2d66bcf7d2e3935877d3c26497c Author: David S. Miller Date: Wed Jul 16 03:12:24 2008 -0700 pkt_sched: Rework {sch,tbf}_tree_lock(). Make sch_tree_lock() lock the qdisc's root. All of the users hold the RTNL semaphore and the root qdisc is not changing. Implement tbf_tree_{lock,unlock}() simply in terms of sch_tree_{lock,unlock}(). Signed-off-by: David S. Miller commit 53049978df1d9ae55bf397c9879e6b33218352db Author: David S. Miller Date: Wed Jul 16 03:00:19 2008 -0700 pkt_sched: Make qdisc grafting locking more specific. Lock the root of the qdisc being operated upon. All explicit references to qdisc_tree_lock() are now gone. The only remaining uses are via the sch_tree_{lock,unlock}() and tcf_tree_{lock,unlock}() macros. Signed-off-by: David S. Miller commit ead81cc5fc6d996db6afb20f211241612610a07a Author: David S. Miller Date: Thu Jul 17 00:50:32 2008 -0700 netdevice: Move qdisc_list back into net_device proper. And give it it's own lock. Signed-off-by: David S. Miller commit 15b458fa65cbba395724a99ab1b7d3785ca76c1c Author: David S. Miller Date: Wed Jul 16 02:42:51 2008 -0700 pkt_sched: Kill qdisc_lock_tree usage in cls_route.c It just wants the qdisc tree to be synchronized, so grabbing qdisc_root_lock() is sufficient. Signed-off-by: David S. Miller commit 55dbc640c31db373fa07eb1e3af9b8eadbdf80db Author: David S. Miller Date: Wed Jul 16 02:40:45 2008 -0700 pkt_sched: Remove qdisc_lock_tree usage in cls_api.c It just wants the qdisc tree for the filter to be synchronized. So just BH lock qdisc_root_lock(q) instead. Signed-off-by: David S. Miller commit 17715e62a5e5c7224e5f906a4b8f9e5084100118 Author: David S. Miller Date: Wed Jul 16 02:36:04 2008 -0700 pkt_sched: Use per-queue locking in shutdown_scheduler_queue. This eliminates another qdisc_lock_tree user. Signed-off-by: David S. Miller commit 8a34c5dc3a7c6431f1cd94c0904be81b296e08ca Author: David S. Miller Date: Thu Jul 17 00:47:45 2008 -0700 pkt_sched: Perform bulk of qdisc destruction in RCU. This allows less strict control of access to the qdisc attached to a netdev_queue. It is even allowed to enqueue into a qdisc which is in the process of being destroyed. The RCU handler will toss out those packets. We will need this to handle sharing of a qdisc amongst multiple TX queues. In such a setup the lock has to be shared, so will be inside of the qdisc itself. At which point the netdev_queue lock cannot be used to hard synchronize access to the ->qdisc pointer. One operation we have to keep inside of qdisc_destroy() is the list deletion. It is the only piece of state visible after the RCU quiesce period, so we have to undo it early and under the appropriate locking. The operations in the RCU handler do not need any looking because the qdisc tree is no longer visible to anything at that point. Signed-off-by: David S. Miller commit 16361127ebed0fb8f9d7cc94c6e137eaf710f676 Author: David S. Miller Date: Wed Jul 16 02:23:17 2008 -0700 pkt_sched: dev_init_scheduler() does not need to lock qdisc tree. We are registering the device, there is no way anyone can get at this object's qdiscs yet in any meaningful way. Signed-off-by: David S. Miller commit 37437bb2e1ae8af470dfcd5b4ff454110894ccaf Author: David S. Miller Date: Wed Jul 16 02:15:04 2008 -0700 pkt_sched: Schedule qdiscs instead of netdev_queue. When we have shared qdiscs, packets come out of the qdiscs for multiple transmit queues. Therefore it doesn't make any sense to schedule the transmit queue when logically we cannot know ahead of time the TX queue of the SKB that the qdisc->dequeue() will give us. Just for sanity I added a BUG check to make sure we never get into a state where the noop_qdisc is scheduled. Signed-off-by: David S. Miller commit 7698b4fcabcd790efc4f226bada1e7b5870653af Author: David S. Miller Date: Wed Jul 16 01:42:40 2008 -0700 pkt_sched: Add and use qdisc_root() and qdisc_root_lock(). When code wants to lock the qdisc tree state, the logic operation it's doing is locking the top-level qdisc that sits of the root of the netdev_queue. Add qdisc_root_lock() to represent this and convert the easiest cases. In order for this to work out in all cases, we have to hook up the noop_qdisc to a dummy netdev_queue. Signed-off-by: David S. Miller commit e2627c8c2241bce45e368e150654d076b58a4595 Author: David S. Miller Date: Wed Jul 16 00:56:32 2008 -0700 pkt_sched: Make QDISC_RUNNING a qdisc state. Currently it is associated with a netdev_queue, but when we have qdisc sharing that no longer makes any sense. Signed-off-by: David S. Miller commit d3b753db7c4f1f37a98b51974d484fda5d86dab5 Author: David S. Miller Date: Tue Jul 15 20:14:35 2008 -0700 pkt_sched: Move gso_skb into Qdisc. We liberate any dangling gso_skb during qdisc destruction. It really only matters for the root qdisc. But when qdiscs can be shared by multiple netdev_queue objects, we can't have the gso_skb in the netdev_queue any more. Signed-off-by: David S. Miller commit b4c21639ab0f6df07ab7624a8c2f974936708ae5 Author: David S. Miller Date: Tue Jul 15 03:48:19 2008 -0700 niu: Add TX multiqueue support. Signed-off-by: David S. Miller commit 92831bc395ac8390bf759775c50cb6f90c6eb03d Author: David S. Miller Date: Tue Jul 15 03:48:01 2008 -0700 netdev: Kill plain netif_schedule() No more users. Signed-off-by: David S. Miller commit 263ba3204a434d0ca851e1321b31cd58376b86cb Author: David S. Miller Date: Tue Jul 15 03:47:41 2008 -0700 netdev: Convert all drivers away from netif_schedule(). They logically all want to trigger a schedule for all device TX queues. Signed-off-by: David S. Miller commit 8f0f2223cc08a5ae9a77f40edfe02e8a9f1abd77 Author: David S. Miller Date: Tue Jul 15 03:47:03 2008 -0700 net: Implement simple sw TX hashing. It just xor hashes over IPv4/IPv6 addresses and ports of transport. The only assumption it makes is that skb_network_header() is set correctly. With bug fixes from Eric Dumazet. Signed-off-by: David S. Miller commit 51cb6db0f5654f08a4a6bfa3888dc36a51c2df3e Author: David S. Miller Date: Tue Jul 15 03:34:57 2008 -0700 mac80211: Reimplement WME using ->select_queue(). The only behavior change is that we do not drop packets under any circumstances. If that is absolutely needed, we could easily add it back. With cleanups and help from Johannes Berg. Signed-off-by: David S. Miller commit eae792b722fef08dcf3aee88266ee7def9710757 Author: David S. Miller Date: Tue Jul 15 03:03:33 2008 -0700 netdev: Add netdev->select_queue() method. Devices or device layers can set this to control the queue selection performed by dev_pick_tx(). This function runs under RCU protection, which allows overriding functions to have some way of synchronizing with things like dynamic ->real_num_tx_queues adjustments. This makes the spinlock prefetch in dev_queue_xmit() a little bit less effective, but that's the price right now for correctness. Signed-off-by: David S. Miller commit e3c50d5d25ac09efd9acbe2b2a3e365466de84ed Author: David S. Miller Date: Tue Jul 15 02:58:39 2008 -0700 netdev: netdev_priv() can now be sane again. The private area of a netdev is now at a fixed offset once more. Unfortunately, some assumptions that netdev_priv() == netdev->priv crept back into the tree. In particular this happened in the loopback driver. Make it use netdev->ml_priv. Signed-off-by: David S. Miller commit 6b0fb1261a4655613bed5dac0e935e733969e999 Author: David S. Miller Date: Tue Jul 15 02:58:10 2008 -0700 netdev: Kill struct net_device_subqueue and netdev->egress_subqueue* No longer used. Signed-off-by: David S. Miller commit fd2ea0a79faad824258af5dcec1927aa24d81c16 Author: David S. Miller Date: Thu Jul 17 01:56:23 2008 -0700 net: Use queue aware tests throughout. This effectively "flips the switch" by making the core networking and multiqueue-aware drivers use the new TX multiqueue structures. Non-multiqueue drivers need no changes. The interfaces they use such as netif_stop_queue() degenerate into an operation on TX queue zero. So everything "just works" for them. Code that really wants to do "X" to all TX queues now invokes a routine that does so, such as netif_tx_wake_all_queues(), netif_tx_stop_all_queues(), etc. pktgen and netpoll required a little bit more surgery than the others. In particular the pktgen changes, whilst functional, could be largely improved. The initial check in pktgen_xmit() will sometimes check the wrong queue, which is mostly harmless. The thing to do is probably to invoke fill_packet() earlier. The bulk of the netpoll changes is to make the code operate solely on the TX queue indicated by by the SKB queue mapping. Setting of the SKB queue mapping is entirely confined inside of net/core/dev.c:dev_pick_tx(). If we end up needing any kind of special semantics (drops, for example) it will be implemented here. Finally, we now have a "real_num_tx_queues" which is where the driver indicates how many TX queues are actually active. With IGB changes from Jeff Kirsher. Signed-off-by: David S. Miller commit 24344d2600108b9b79a60c0e4c43b3c499856d14 Author: David S. Miller Date: Tue Jul 15 02:53:04 2008 -0700 mac80211: Temporarily mark QoS support BROKEN. We will undo this after a few changsets. Signed-off-by: David S. Miller commit 1d8ae3fdeb001b8f534a6782c261aba6ec1779f5 Author: David S. Miller Date: Tue Jul 15 02:52:19 2008 -0700 pkt_sched: Remove RR scheduler. This actually fixes a bug added by the RR scheduler changes. The ->bands and ->prio2band parameters were being set outside of the sch_tree_lock() and thus could result in strange behavior and inconsistencies. It might be possible, in the new design (where there will be one qdisc per device TX queue) to allow similar functionality via a TX hash algorithm for RR but I really see no reason to export this aspect of how these multiqueue cards actually implement the scheduling of the the individual DMA TX rings and the single physical MAC/PHY port. Signed-off-by: David S. Miller commit 09e83b5d7d1878065e2453239b49b684cd0fe4e5 Author: David S. Miller Date: Thu Jul 17 01:52:12 2008 -0700 netdev: Kill NETIF_F_MULTI_QUEUE. There is no need for a feature bit for something that can be tested by simply checking the TX queue count. Signed-off-by: David S. Miller commit e8a0464cc950972824e2e128028ae3db666ec1ed Author: David S. Miller Date: Thu Jul 17 00:34:19 2008 -0700 netdev: Allocate multiple queues for TX. alloc_netdev_mq() now allocates an array of netdev_queue structures for TX, based upon the queue_count argument. Furthermore, all accesses to the TX queues are now vectored through the netdev_get_tx_queue() and netdev_for_each_tx_queue() interfaces. This makes it easy to grep the tree for all things that want to get to a TX queue of a net device. Problem spots which are not really multiqueue aware yet, and only work with one queue, can easily be spotted by grepping for all netdev_get_tx_queue() calls that pass in a zero index. Signed-off-by: David S. Miller commit 070825b3840a743e21ebcc44f8279708a4fed977 Author: David S. Miller Date: Thu Jul 17 01:50:11 2008 -0700 igb: Kill CONFIG_NETDEVICES_MULTIQUEUE references, no longer exists. Signed-off-by: David S. Miller commit 2a46fa13d788364c093c4296fe01cae837aa8919 Author: Dan Williams Date: Thu Jul 17 17:59:56 2008 -0700 iop_adma: cleanup iop_chan_xor_slot_count - use a table for iop13xx, trade text for data - shrink the iop3xx to a cache line Signed-off-by: Dan Williams commit 5eb907aaaf7a316a0097ff9f8c21bf9fc468a1f1 Author: Dan Williams Date: Thu Jul 17 17:59:56 2008 -0700 iop_adma: document how to calculate the minimum descriptor pool size Signed-off-by: Dan Williams commit c7141d005a19d2a0a316b3bf9c170d3bedf07bfd Author: Dan Williams Date: Thu Jul 17 17:59:56 2008 -0700 iop_adma: directly reclaim descriptors on allocation failure Force callers that trigger an "out of descriptors" condition to run the cleanup loop directly. Alleviates the requirement to have soft-irqs enabled when polling for a descriptor in async_xor. Signed-off-by: Dan Williams commit 0839875e0c197ded56bbae820e699f26d6fa2697 Author: Dan Williams Date: Thu Jul 17 17:59:56 2008 -0700 async_tx: make async_tx_test_ack a boolean routine Signed-off-by: Dan Williams commit 3dce01713723bbcc92562bd4488e8b840a4f786c Author: Dan Williams Date: Thu Jul 17 17:59:55 2008 -0700 async_tx: remove depend_tx from async_tx_sync_epilog All callers of async_tx_sync_epilog have called async_tx_quiesce on the depend_tx, so async_tx_sync_epilog need only call the callback to complete the operation. Signed-off-by: Dan Williams commit d2c52b7983b95bb3fc2a784e479f832f142d4523 Author: Dan Williams Date: Thu Jul 17 17:59:55 2008 -0700 async_tx: export async_tx_quiesce Replace open coded "wait and acknowledge" instances with async_tx_quiesce. Signed-off-by: Dan Williams commit 669ab0b210f9bd15d94d4d6a49ae13366a85e4da Author: Dan Williams Date: Thu Jul 17 17:59:55 2008 -0700 async_tx: fix handling of the "out of descriptor" condition in async_xor Ensure forward progress is made when a dmaengine driver is unable to allocate an xor descriptor by breaking the dependency chain with async_tx_quisce() and issue any pending descriptors. Tested with iop-adma by setting device->max_xor = 2 to force multiple calls to device_prep_dma_xor for each call to async_xor and limiting the descriptor slot pool to 5. Discovered that the minimum descriptor pool size for iop-adma is 2 * iop_chan_xor_slot_cnt(device->max_xor) + 1. Signed-off-by: Dan Williams commit 1e55db2d6bdef92abc981b68673564e63c80da4d Author: Dan Williams Date: Wed Jul 16 19:44:56 2008 -0700 async_tx: ensure the xor destination buffer remains dma-mapped When the number of source buffers for an xor operation exceeds the hardware channel maximum async_xor creates a chain of dependent operations. The result of one operation is reused as an input to the next to continue the xor calculation. The destination buffer should remain mapped for the duration of the entire chain. To provide this guarantee the code must no longer be allowed to fallback to the synchronous path as this will preclude the buffer from being unmapped, i.e. the dma-driver will potentially miss the descriptor with !DMA_COMPL_SKIP_DEST_UNMAP. Cc: Neil Brown Signed-off-by: Dan Williams commit 20fc190b0ef58bf8b3b0bff9de122083956f82ec Author: Li Zefan Date: Thu Jul 17 17:59:47 2008 -0700 async_tx: list_for_each_entry_rcu() cleanup In the rcu update side, don't use list_for_each_entry_rcu(). Signed-off-by: Li Zefan Signed-off-by: Dan Williams commit 97d2ef56863c367158d515173aa5062656072229 Merge: e1469c3... ea51011... Author: Andi Kleen Date: Fri Jul 18 01:43:31 2008 +0200 Merge branch 'merge' into release-2.6.27 commit e1469c34eb623cd1945ef09bfd7de7bc2f9ff6b3 Author: Andi Kleen Date: Fri Jul 18 01:43:08 2008 +0200 Revert "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled." Revert double commit by mistake. Noticed by Thomas Gleixner. This reverts commit cc7e51666d82aedfd6b9a033ca1a10d71c21f1ca. Signed-off-by: Andi Kleen commit b1d77fae0c429d1be84ca0c9e627d9ab0e2a6d0b Author: Andi Kleen Date: Fri Jul 18 01:42:20 2008 +0200 Revert "Fix FADT parsing" This reverts commit 01a5bba576b9364b33f61f0cd9fa70c2cf5535e2. There seem to be some FADTs around with bogus information in the v2 fields. Revert this patch for now until this can be properly resolved. Signed-off-by: Andi Kleen commit ea51011a27db48ea0a80a5e20de3969b292d5d4d Author: Zhao Yakui Date: Mon Jul 14 15:14:03 2008 +0800 ACPI : Set FAN device to correct state in boot phase Subject:ACPI: Set FAN device to correct state in boot phase From: Zhao Yakui On some laptops when ACPI FAN driver is loaded, maybe the FAN device will be turned on. But if the temperature is below the threshold, the corresponding FAN device should be turned off in the course of loading thermal driver. So it is necessary to set the FAN device to the correct state in course of loading the thermal driver. http://bugzilla.kernel.org/show_bug.cgi?id=8049 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Andi Kleen commit c2c789057f075022658b38b498755c29c1ba8055 Author: Zhao Yakui Date: Thu Jul 17 10:46:05 2008 +0800 ACPI: Ignore _BQC object when registering backlight device According to acpi spec , the objectes of _BCL and _BCM are required if integrated LCD is present and supports brightness level and the _BQC is the optional object. So the _BQC object will be ignored when the backlight device is registered. At the same time when there is no _BQC object, the current brightness will be set to the maximum. http://bugzilla.kernel.org/show_bug.cgi?id=10206 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Andi Kleen commit 4a5e3638b11978262ab76bbb2062e57fefaaedba Author: Bjorn Helgaas Date: Tue Jul 15 09:42:57 2008 -0600 ACPI: stop complaints about interrupt link End Tags and blank IRQ descriptors Silently ignore _PRS End Tags. We already ignore Start Dependent Functions in _PRS, and we already ignore End Tags in _CRS, so we might as well ignore End Tags in _PRS as well. Silently ignore _PRS IRQ descriptors that mention no interrupts. The spec allows this (section 6.4.2.1 in ACPI 3.0b spec), and it probably means the interrupt link can't be configured at all. This patch doesn't change any functional behavior; it just removes confusing complaints like these: ACPI: Blank IRQ resource ACPI: Resource is not an IRQ entry when parsing _PRS data "23 00 00 18 79 00" from an IBM xSeries 335 dual Pentium IV Xeon 2.40 GHz machine. For more details, see http://bugzilla.kernel.org/show_bug.cgi?id=11049 The "23 00 00 18" part is a three-byte-long small IRQ resource with no bits set in the IRQ mask ("00 00"), and level-triggered, active low, shareable ("18"). The "79 00" is an End Tag (type 0x7). It is superfluous since there is no Start Dependent Function tag and there are no resources after it, but it is harmless. Thanks to Gabriele Trombetti (aka Kurk) for reporting this and testing the patch. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen commit 6879827f4e08da219c99b91e4e1d793a924103e3 Author: Ingo Molnar Date: Fri Jul 18 01:21:53 2008 +0200 x86: remove arch/x86/kernel/smpcommon_32.c Yinghai Lu noticed that arch/x86/kernel/smpcommon_32.c got renamed to arch/x86/kernel/smpcommon.c but the old almost-empty file stayed around. Zap it. Reported-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 64d206d896ff70b828138577d5ff39deda5f1c4d Author: Ingo Molnar Date: Fri Jul 18 00:26:59 2008 +0200 x86: rename CONFIG_NONPROMISC_DEVMEM to CONFIG_PROMISC_DEVMEM Linus observed: > The real bug is that we shouldn't have "double negatives", and > certainly not negative config options. Making that "promiscuous > /dev/mem" option a negated thing as a config option was bad. right ... lets rename this option. There should never be a negation in config options. [ that reminds me of CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER, but that is for another commit ;-) ] Signed-off-by: Ingo Molnar commit a6795e9ebb420d87af43789174689af0d66d1d35 Author: Joel Becker Date: Thu Jul 17 15:21:29 2008 -0700 configfs: Allow ->make_item() and ->make_group() to return detailed errors. The configfs operations ->make_item() and ->make_group() currently return a new item/group. A return of NULL signifies an error. Because of this, -ENOMEM is the only return code bubbled up the stack. Multiple folks have requested the ability to return specific error codes when these operations fail. This patch adds that ability by changing the ->make_item/group() ops to return ERR_PTR() values. These errors are bubbled up appropriately. NULL returns are changed to -ENOMEM for compatibility. Also updated are the in-kernel users of configfs. This is a rework of reverted commit 11c3b79218390a139f2d474ee1e983a672d5839a. Signed-off-by: Joel Becker commit 393d81aa026e19b6ede6f5f11955c97ee62e5df5 Merge: 93a0886... 5b664cb... Author: Ingo Molnar Date: Thu Jul 17 23:57:20 2008 +0200 Merge branch 'linus' into xen-64bit commit f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950 Author: Joel Becker Date: Thu Jul 17 14:53:48 2008 -0700 Revert "configfs: Allow ->make_item() and ->make_group() to return detailed errors." This reverts commit 11c3b79218390a139f2d474ee1e983a672d5839a. The code will move to PTR_ERR(). Signed-off-by: Joel Becker commit 2522d7359301efadfb5744ebd3c623c3af4a7b30 Author: Alexander Holler Date: Thu Jul 17 23:36:15 2008 +0200 ALSA: hda - Added support for Asus V1Sn Added the necessary ID for Asus V1Sn to patch_realtek.c to use ALC861VD_LENOVO on these laptops. Signed-off-by: Takashi Iwai commit ffaa152efd02849c0c36947f533f2ee3ee55369a Merge: 4fdf08b... f910d13... Author: Ingo Molnar Date: Thu Jul 17 23:32:58 2008 +0200 Merge branch 'x86/setup' of ssh://master.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into x86/setup commit f910d134442f11b5b69edbb7a93e63c3296b3a36 Author: H. Peter Anvin Date: Thu Jul 17 11:29:24 2008 -0700 x86: unify and correct the GDT_ENTRY() macro Impact: None (cleanup only) Merge the GDT_ENTRY() macro between arch/x86/boot/pm.c and arch/x86/kernel/acpi/sleep.c and put the new one in . While we're at it, correct the bitmasks for the limit and flags. The new version relies on using ULL constants in order to cause type promotion rather than explicit casts; this avoids having to include in . Signed-off-by: H. Peter Anvin commit 62fe8378d949c9a12bc2a5f51cd41fabf70e682c Author: Adrian Bunk Date: Thu Jul 17 16:45:11 2008 +0300 fix avr32 build errors Commit 7d2be0749a59096a334c94dc48f43294193cb8ed (atmel-mci: Driver for Atmel on-chip MMC controllers) causes build errors like: <-- snip --> ... CC arch/avr32/boards/atstk1000/atstk1003.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/avr32/boards/atstk1000/atstk1003.c: In function 'atstk1003_init': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/avr32/boards/atstk1000/atstk1003.c:157: error: too few arguments to function 'at32_add_device_mci' make[2]: *** [arch/avr32/boards/atstk1000/atstk1003.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 4cddb886a4d0e5cc7a790151740bfb87b568c97d Author: Alan Cox Date: Thu May 22 21:42:44 2008 +0100 mmtimer: Push BKL down into the ioctl handler Switches to unlocked_ioctl read to remove ioctl BKL method. Fix the unknown ioctl return. Probably a nice easy one to kill off BKL usage entirely later Signed-off-by: Alan Cox Acked-by: Jes Sorensen Signed-off-by: Tony Luck commit fb86611f8f3251865784d5938a485a0238ec1427 Author: Bernhard Walle Date: Thu Jun 26 14:53:11 2008 +0200 [IA64] Remove experimental status of kdump This patch removes the experimental status of kdump on IA64. kdump is on IA64 now since more than one year and it has proven to be stable. Signed-off-by: Bernhard Walle Signed-off-by: Tony Luck commit 4fdf08b5bf8d449cc9897395895157c6ff8ddc41 Author: H. Peter Anvin Date: Thu Jul 17 11:29:24 2008 -0700 x86: unify and correct the GDT_ENTRY() macro Merge the GDT_ENTRY() macro between arch/x86/boot/pm.c and arch/x86/kernel/acpi/sleep.c and put the new one in . While we're at it, correct the bitmasks for the limit and flags. The new version relies on using ULL constants in order to cause type promotion rather than explicit casts; this avoids having to include in . Signed-off-by: H. Peter Anvin commit 8cac39b99b731c627097ce704acac1ff422d8286 Author: Dimitri Sivanich Date: Wed Jul 2 15:47:55 2008 -0500 [IA64] Update ia64 mmr list for SGI uv This patch updates the ia64 mmr list for SGI uv. Signed-off-by: Dimitri Sivanich Signed-off-by: Tony Luck commit efc7508c9e29944fb3d9edf166d3d584557c33d1 Author: Alex Chiang Date: Wed Jul 16 12:47:08 2008 -0600 [IA64] Avoid overflowing ia64_cpu_to_sapicid in acpi_map_lsapic() acpi_map_lsapic tries to stuff a long into ia64_cpu_to_sapicid[], which can only hold ints, so let's fix that. We need to update the signature of acpi_map_cpu2node() too. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 740a8de0796dd12890b3c8ddcfabfcb528b78d40 Author: Akiyama, Nobuyuki Date: Thu Jul 17 11:22:01 2008 -0700 [IA64] adding parameter check to module_free() module_free() refers the first parameter before checking. But it is called like below(in kernel/kprobes). The first parameter is always NULL. This happens when many probe points(>1024) are set by kprobes. I encountered this with using SystemTap. It can set many probes easily. static int __kprobes collect_one_slot(struct kprobe_insn_page *kip, int idx) { ... if (kip->nused == 0) { hlist_del(&kip->hlist); if (hlist_empty(&kprobe_insn_pages)) { ... } else { module_free(NULL, kip->insns); //<<< 1st param always NULL kfree(kip); } return 1; } return 0; } Signed-off-by: Akiyama, Nobuyuki Signed-off-by: Tony Luck commit 60192db82952ad56ef7bbc4a318e2041ca65ba7d Author: Denis V. Lunev Date: Thu Jul 17 11:11:17 2008 -0700 [IA64] improper printk format in acpi-cpufreq When dprintk is enabled the following warnings are generated: arch/ia64/kernel/cpufreq/acpi-cpufreq.c: In function 'processor_set_pstate': arch/ia64/kernel/cpufreq/acpi-cpufreq.c:54: warning: format '%x' expects type 'unsigned int', but argumen t 3 has type 's64' arch/ia64/kernel/cpufreq/acpi-cpufreq.c: In function 'processor_get_pstate': arch/ia64/kernel/cpufreq/acpi-cpufreq.c:76: warning: format '%x' expects type 'unsigned int', but argumen t 2 has type 's64' Signed-off-by: Denis V. Lunev Signed-off-by: Tony Luck commit 5b664cb235e97afbf34db9c4d77f08ebd725335e Merge: f39548a... c0420ad... Author: Linus Torvalds Date: Thu Jul 17 10:55:51 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: [PATCH] ocfs2: fix oops in mmap_truncate testing configfs: call drop_link() to cleanup after create_link() failure configfs: Allow ->make_item() and ->make_group() to return detailed errors. configfs: Fix failing mkdir() making racing rmdir() fail configfs: Fix deadlock with racing rmdir() and rename() configfs: Make configfs_new_dirent() return error code instead of NULL configfs: Protect configfs_dirent s_links list mutations configfs: Introduce configfs_dirent_lock ocfs2: Don't snprintf() without a format. ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs ocfs2/net: Silence build warnings on sparc64 ocfs2: Handle error during journal load ocfs2: Silence an error message in ocfs2_file_aio_read() ocfs2: use simple_read_from_buffer() ocfs2: fix printk format warnings with OCFS2_FS_STATS=n [PATCH 2/2] ocfs2: Instrument fs cluster locks [PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option commit f39548a6ad1dbdfaab552419386ec5bb1d76fa0d Merge: 2b04be7... 417e149... Author: Linus Torvalds Date: Thu Jul 17 10:55:07 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6: pcmcia: ide-cs: Remove outdated comment pcmcia: fix cisinfo_t removal pcmcia: fix return value in cm4000_cs.c commit fca515fbfa5ecd9f7b54db311317e2c877d7831a Merge: 2b04be7... 4d58bbc... Author: Tony Luck Date: Thu Jul 17 10:53:37 2008 -0700 Pull pvops into release branch commit 2b04be7e8ab5756ea36e137dd03c8773d184e67e Merge: bdec6ca... 2567d71... Author: Linus Torvalds Date: Thu Jul 17 10:38:59 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 asm/e820.h for userspace inclusion x86: fix numaq_tsc_disable x86: fix kernel_physical_mapping_init() for large x86 systems commit bdec6cace4c3ecb6f90bcaa5424b92c97bd1df0f Merge: 2f73cca... 2464a60... Author: Linus Torvalds Date: Thu Jul 17 10:37:10 2008 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ftrace: do not trace library functions ftrace: do not trace scheduler functions ftrace: fix lockup with MAXSMP ftrace: fix merge buglet commit 2567d71cc7acd99f0a0dd02e17fe17fd7df7b30c Author: Rusty Russell Date: Tue Jul 15 15:02:27 2008 +1000 x86: fix asm/e820.h for userspace inclusion asm-x86/e820.h is included from userspace. 'x86: make e820.c to have common functions' (b79cd8f1268bab57ff85b19d131f7f23deab2dee) broke it: make -C Documentation/lguest cc -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include lguest.c -lz -o lguest In file included from ../../include/asm-x86/bootparam.h:8, from lguest.c:45: ../../include/asm/e820.h:66: error: expected ‘)’ before ‘start’ ../../include/asm/e820.h:67: error: expected ‘)’ before ‘start’ ../../include/asm/e820.h:68: error: expected ‘)’ before ‘start’ ../../include/asm/e820.h:72: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘e820_update_range’ ... Signed-off-by: Rusty Russell Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 9354094a95aed456a46b353b1051a7e2fab29045 Author: Yinghai Lu Date: Mon Jul 14 23:29:01 2008 -0700 x86: fix numaq_tsc_disable fix: arch/x86/kernel/numaq_32.c: In function ‘numaq_tsc_disable’: arch/x86/kernel/numaq_32.c:99: warning: ‘return’ with a value, in function returning void Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 93a0886e2368eafb9df5e2021fb185195cee88b2 Author: Jeremy Fitzhardinge Date: Tue Jul 15 13:43:42 2008 -0700 x86, xen, power: fix up config dependencies on PM Xen save/restore needs bits of code enabled by PM_SLEEP, and PM_SLEEP depends on PM. So make XEN_SAVE_RESTORE depend on PM and PM_SLEEP depend on XEN_SAVE_RESTORE. Signed-off-by: Jeremy Fitzhardinge Acked-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit c43c1be0f7e0ac3d2fe1d4a5b37041c4c4463af1 Merge: e22146e... a3cf859... Author: Ingo Molnar Date: Thu Jul 17 19:24:56 2008 +0200 Merge branch 'linus' into x86/urgent commit 2f73ccab5628b4f8e8f4b93fea8082dd31a87a10 Author: Takashi Iwai Date: Thu Jul 17 18:09:12 2008 +0200 fix build error of arch/ia64/kvm/* Fix calls of smp_call_function*() in arch/ia64/kvm for recent API changes. CC [M] arch/ia64/kvm/kvm-ia64.o arch/ia64/kvm/kvm-ia64.c: In function 'handle_global_purge': arch/ia64/kvm/kvm-ia64.c:398: error: too many arguments to function 'smp_call_function_single' arch/ia64/kvm/kvm-ia64.c: In function 'kvm_vcpu_kick': arch/ia64/kvm/kvm-ia64.c:1696: error: too many arguments to function 'smp_call_function_single' Signed-off-by: Takashi Iwai Acked-by Xiantao Zhang Signed-off-by: Linus Torvalds commit 42fea1f385e99a1db979eb75c8a53c0baad0d9f6 Merge: 7259d93... 666f164... Author: Linus Torvalds Date: Thu Jul 17 09:15:23 2008 -0700 Merge branch 'ptrace-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace * 'ptrace-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace: fix dangling zombie when new parent ignores children do_wait: return security_task_wait() error code in place of -ECHILD ptrace children revamp do_wait reorganization commit 7259d936c6af216198ae6af3a25ac6c9dbdbe779 Author: David Woodhouse Date: Wed Jul 16 23:44:32 2008 -0700 Update scripts/Makefile.fwinst to cope with older make Also fix unwanted rebuilds of the firmware/ihex2fw tool by including the .ihex2fw.cmd file when present. Signed-off-by: David Woodhouse Reported-and-tested-by: Wang Chen Signed-off-by: Linus Torvalds commit ee723cb3d419afcc8b6c7ccc0f73a34b0eb5ac7b Merge: 7023cc6... 8586cb6... Author: Linus Torvalds Date: Thu Jul 17 09:05:38 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: [S390] dasd: use -EOPNOTSUPP instead of -ENOTSUPP [S390] qdio: new qdio driver. [S390] cio: Export chsc_error_from_response(). [S390] vmur: Fix return code handling. [S390] Fix stacktrace compile bug. [S390] Increase default warning stacksize. [S390] dasd: Fix cleanup in dasd_{fba,diag}_check_characteristics(). [S390] chsc headers userspace cleanup [S390] dasd: fix unsolicited SIM handling. [S390] zfcpdump: Make SCSI disk dump tool recognize storage holes commit 7023cc61292f9cd61d99521206480f6e387132ff Author: Grant Likely Date: Thu Jul 17 01:06:55 2008 -0600 Fix collateral damage to top level Makefile The patch named "powerpc/mpc5121: Add clock driver", also contained an unrelated and bogus change to the top-level makefile. This patch backs out the bad bit. SHA1 of offending patch: 137e95906e294913fab02162e8a1948ade49acb5) Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Repented-by: John Rigby [ Heh. Normally I pick these out from the diffstats, but I guess I've grown to trust the ppc tree too much ;) - Linus ] Signed-off-by: Linus Torvalds commit 2464a609ded094204a3aed24823745ec58e3c879 Author: Ingo Molnar Date: Thu Jul 17 17:40:48 2008 +0200 ftrace: do not trace library functions make function tracing more robust: do not trace library functions. We've already got a sizable list of exceptions: ifdef CONFIG_FTRACE # Do not profile string.o, since it may be used in early boot or vdso CFLAGS_REMOVE_string.o = -pg # Also do not profile any debug utilities CFLAGS_REMOVE_spinlock_debug.o = -pg CFLAGS_REMOVE_list_debug.o = -pg CFLAGS_REMOVE_debugobjects.o = -pg CFLAGS_REMOVE_find_next_bit.o = -pg CFLAGS_REMOVE_cpumask.o = -pg CFLAGS_REMOVE_bitmap.o = -pg endif ... and the pattern has been that random library functionality showed up in ftrace's critical path (outside of its recursion check), causing hard to debug lockups. So be a bit defensive about it and exclude all lib/*.o functions by default. It's not that they are overly interesting for tracing purposes anyway. Specific ones can still be traced, in an opt-in manner. Signed-off-by: Ingo Molnar commit c349e0a01c3e0f70913db6a5bb61ab204e0602de Author: Ingo Molnar Date: Tue Apr 15 22:39:31 2008 +0200 ftrace: do not trace scheduler functions do not trace scheduler functions - it's still a bit fragile and can lock up with: http://redhat.com/~mingo/misc/config-Thu_Jul_17_13_34_52_CEST_2008 Signed-off-by: Ingo Molnar commit 9fa111372a54f695f65e0de2f2a2108fe6cf3584 Author: Ingo Molnar Date: Thu Jul 17 17:38:17 2008 +0200 ftrace: fix lockup with MAXSMP MAXSMP brings in lots of use of various bitops in smp_processor_id() and friends - causing ftrace to lock up during bootup: calling anon_inode_init+0x0/0x130 initcall anon_inode_init+0x0/0x130 returned 0 after 0 msecs calling acpi_event_init+0x0/0x57 [ hard hang ] So exclude the bitops facilities from tracing. Signed-off-by: Ingo Molnar commit 8586cb60ce85f40431cf06fe97512269d3992f03 Author: Stefan Haberland Date: Thu Jul 17 17:16:49 2008 +0200 [S390] dasd: use -EOPNOTSUPP instead of -ENOTSUPP return value -ENOTSUPP is not valid in userspace context, use -EOPNOTSUPP instead Signed-off-by: Stefan Haberland Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 779e6e1c724d30e0fd1baca78b852e41e3a23c1d Author: Jan Glauber Date: Thu Jul 17 17:16:48 2008 +0200 [S390] qdio: new qdio driver. List of major changes: - split qdio driver into several files - seperation of thin interrupt code - improved handling for multiple thin interrupt devices - inbound and outbound processing now always runs in tasklet context - significant less tasklet schedules per interrupt needed - merged qebsm with non-qebsm handling - cleanup qdio interface and added kerneldoc - coding style Reviewed-by: Cornelia Huck Reviewed-by: Utz Bacher Reviewed-by: Ursula Braun Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit dae39843f478d181da5b5e1c2c703dfcaaf838c1 Author: Cornelia Huck Date: Thu Jul 17 17:16:47 2008 +0200 [S390] cio: Export chsc_error_from_response(). Make chsc_error_from_response() available to chsc callers outside of chsc.c (namely qdio) to avoid duplicating error checking code. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b9993a38a9b491a9df48a5bc82d2e03ab44e352a Author: Frank Munzert Date: Thu Jul 17 17:16:46 2008 +0200 [S390] vmur: Fix return code handling. Use -EOPNOTSUPP instead of -ENOTSUPP. Signed-off-by: Frank Munzert Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 8de2ce86cdde64d00fc4a4034008b35d8fc0dc83 Author: Heiko Carstens Date: Thu Jul 17 17:16:45 2008 +0200 [S390] Fix stacktrace compile bug. Add missing module.h include to fix this: CC arch/s390/kernel/stacktrace.o arch/s390/kernel/stacktrace.c:84: warning: data definition has no type or storage class arch/s390/kernel/stacktrace.c:84: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' arch/s390/kernel/stacktrace.c:84: warning: parameter names (without types) in function declaration arch/s390/kernel/stacktrace.c:97: warning: data definition has no type or storage class arch/s390/kernel/stacktrace.c:97: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' arch/s390/kernel/stacktrace.c:97: warning: parameter names (without types) in function declaration Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit c5a37255493a3a8bf527534c8700dd73bd591fc7 Author: Heiko Carstens Date: Thu Jul 17 17:16:44 2008 +0200 [S390] Increase default warning stacksize. Compiling a kernel with allmodconfig or allyesconfig results in tons of gcc warnings, because the default maximum stacksize from which on gcc will emit a warning is just 256 bytes. Increase this to 2048, so these warnings don't distract from the real warnings that we need to watch at. Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 7337194f708bac977511c7890d7038ded187041a Author: Cornelia Huck Date: Thu Jul 17 17:16:43 2008 +0200 [S390] dasd: Fix cleanup in dasd_{fba,diag}_check_characteristics(). Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 626f311737770f0fb5c09a6da2ea795a559aa42a Author: Adrian Bunk Date: Thu Jul 17 17:16:42 2008 +0200 [S390] chsc headers userspace cleanup Kernel headers shouldn't expose functions to userspace. Cc: Cornelia Huck Signed-off-by: Adrian Bunk Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 9d853caf44e6f969a9ad056a9937e8d97bc2c761 Author: Stefan Haberland Date: Thu Jul 17 17:16:41 2008 +0200 [S390] dasd: fix unsolicited SIM handling. Add missing schedule_bh and check that there is 32 bit sense data. Signed-off-by: Stefan Haberland Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 12e0c95e0ca99f633c9d9f90773037eb178685ad Author: Frank Munzert Date: Thu Jul 17 17:16:40 2008 +0200 [S390] zfcpdump: Make SCSI disk dump tool recognize storage holes The kernel part of zfcpdump establishes a new debugfs file zcore/memmap which exports information on memory layout (start address and length of each memory chunk) to its userspace counterpart. Signed-off-by: Frank Munzert Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 9dd8d812d3b4d208a769ca3cf23a7f9294632d0d Author: Mark Brown Date: Thu Jul 17 15:06:51 2008 +0100 ALSA: ASoC: Factor PGA DAPM handling into main This allows pre and post event hooks to be provided for PGA widgets. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 2927d6eeca0a5004d81fa5bedbdf3f2b1b842903 Author: Mark Brown Date: Thu Jul 17 15:06:50 2008 +0100 ALSA: ASoC: Refactor DAPM event handler The DAPM event callback code has many layers of indentation, taking it over 80 columns. Refactor the code to give less indentation in order to avoid checkpatch issues on further changes and exploding indentation. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 462dba28e1921f19319d11a44b7bb97e72da2a79 Author: Rene Herman Date: Thu Jul 17 14:02:16 2008 +0200 ALSA: ALSA: ens1370: communicate PCI device to AC97 communicate the ES137x PCI device to the AC97 code for its subsys_vendor/device values Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai commit c0e741d47859fcabb84a37589a4f49801ca8590a Author: Kim Phillips Date: Thu Jul 17 20:20:59 2008 +0800 crypto: talitos - sparse fix Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit fa86a26795b850cdf4e557898457a63e241c1aa1 Author: Kim Phillips Date: Thu Jul 17 20:20:06 2008 +0800 crypto: talitos - Stop leaking memory in error path free edescriptor when returning error (such as -EAGAIN). Signed-off-by: Kim Phillips Acked-by: Lee Nipper Signed-off-by: Herbert Xu commit 586725f8604ef16ebbfdd66e73036e162ae00135 Author: Kim Phillips Date: Thu Jul 17 20:19:18 2008 +0800 crypto: talitos - Fix GFP flag usage use GFP_ATOMIC when necessary; use atomic_t when allocating submit_count. Signed-off-by: Kim Phillips Acked-by: Lee Nipper Signed-off-by: Herbert Xu commit ec6644d6325b5a38525f1d5b20fd4bf7db05cf2a Author: Kim Phillips Date: Thu Jul 17 20:16:40 2008 +0800 crypto: talitos - Preempt overflow interrupts add requests pending/submit count to prevent request queue full condition by preempting h/w overflow interrupts in software. We do this due to the delay in the delivery and handling of the channel overflow error interrupt. Signed-off-by: Kim Phillips Acked-by: Lee Nipper Signed-off-by: Herbert Xu commit fab3b58d3b242b5903f78d60d86803a8aecdf6de Author: Ingo Molnar Date: Thu Jul 17 13:50:15 2008 +0200 x86 reboot quirks: add Dell Precision WorkStation T5400 as reported in: "reboot=bios is mandatory on Dell T5400 server." http://bugzilla.kernel.org/show_bug.cgi?id=11108 add a DMI reboot quirk. Signed-off-by: Ingo Molnar Cc: commit 8e9509c827a28e2f365c203c04224f9e9dd1b63a Author: Ingo Molnar Date: Thu Jul 17 13:26:50 2008 +0200 ftrace: fix merge buglet -tip testing found a bootup hang here: initcall anon_inode_init+0x0/0x130 returned 0 after 0 msecs calling acpi_event_init+0x0/0x57 the bootup should have continued with: initcall acpi_event_init+0x0/0x57 returned 0 after 45 msecs but it hung hard there instead. bisection led to this commit: | commit 5806b81ac1c0c52665b91723fd4146a4f86e386b | Merge: d14c8a6... 6712e29... | Author: Ingo Molnar | Date: Mon Jul 14 16:11:52 2008 +0200 | Merge branch 'auto-ftrace-next' into tracing/for-linus turns out that i made this mistake in the merge: ifdef CONFIG_FTRACE # Do not profile debug utilities CFLAGS_REMOVE_tsc_64.o = -pg CFLAGS_REMOVE_tsc_32.o = -pg those two files got unified meanwhile - so the dont-profile annotation got lost. The proper rule is: CFLAGS_REMOVE_tsc.o = -pg i guess this could have been caught sooner if the CFLAGS_REMOVE* kbuild rule aborted the build if it met a target that does not exist anymore? Signed-off-by: Ingo Molnar commit 810fd3f3f621fef9d1ac71b198d830fdeafbc1c3 Author: Rene Herman Date: Thu Jul 17 09:22:29 2008 +0200 ALSA: ens1370: SRC stands for Sample Rate Converter Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai commit 695ad589698571046d42a4450c2d801486905535 Author: Lee Nipper Date: Thu Jul 17 16:22:30 2008 +0800 crypto: talitos - Correct dst != src case handling Seems that dst == src, but this fixes the logic in case it's not. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 4aaf087846f9a1f1ec272393f5cd78f713e24f37 Author: Lee Nipper Date: Thu Jul 17 15:58:08 2008 +0800 crypto: talitos - Remove calls to of_node_put Remove of_node_put calls since there is no corresponding of_node_get. This patch prevents an exception when talitos is loaded a 2nd time. This sequence: modprobe talitos; rmmod talitos; modprobe talitos causes this message: "WARNING: Bad of_node_put() on /soc8349@e0000000/crypto@30000". Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 51ce7ec92187b22ab1598987bb5f9776f6e0ebad Author: Patrick McHardy Date: Wed Jul 16 20:51:47 2008 -0700 garp: retry sending JoinIn messages after allocation failures Increase reliability by retrying to send JoinIn messages after memory allocation failures on each TRANSMIT_PDU event until it succeeds. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9a6d276e85aa3d8f308fc5e8de6892daeb60ae5f Author: Neil Horman Date: Wed Jul 16 20:50:49 2008 -0700 core: add stat to track unresolved discards in neighbor cache in __neigh_event_send, if we have a neighbour entry which is in NUD_INCOMPLETE state, we enqueue any outbound frames to that neighbour to the neighbours arp_queue, which is default capped to a length of 3 skbs. If that queue exceeds its set length, it will drop an skb on the queue to enqueue the newly arrived skb. This results in a drop for which we have no statistics incremented. This patch adds an unresolved_discards stat to /proc/net/stat/ndisc_cache to track these lost frames. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit ed88098e25d77bef3b2ad8c9d8e2ebf454d9ccbf Author: Pavel Emelyanov Date: Wed Jul 16 20:32:45 2008 -0700 mib: add net to NET_ADD_STATS_USER Done with NET_XXX_STATS macros :) To be continued... Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f2bf415cfed703de5ba94d25cdb160920c01fb00 Author: Pavel Emelyanov Date: Wed Jul 16 20:32:25 2008 -0700 mib: add net to NET_ADD_STATS_BH This one is tricky. The thing is that this macro is only used when killing tw buckets, but since this killer is promiscuous wrt to which net each particular tw belongs to, I have to use it only when NET_NS is off. When the net namespaces are on, I use the INET_INC_STATS_BH for each bucket. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6f67c817fcfd94f5ca0f14b114b7fa25c0210c8b Author: Pavel Emelyanov Date: Wed Jul 16 20:31:39 2008 -0700 mib: add net to NET_INC_STATS_USER Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c Author: Pavel Emelyanov Date: Wed Jul 16 20:31:16 2008 -0700 mib: add net to NET_INC_STATS_BH Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4e6734447dbc7a0a85e09616821c0782d9fb1141 Author: Pavel Emelyanov Date: Wed Jul 16 20:30:14 2008 -0700 mib: add net to NET_INC_STATS Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1ed834655a0d42ecd80ff051e681e2ea44747b6c Author: Pavel Emelyanov Date: Wed Jul 16 20:29:51 2008 -0700 tcp: replace tcp_sock argument with sock in some places These places have a tcp_sock, but we'd prefer the sock itself to get net from it. Fortunately, tcp_sk macro is just a type cast, so this replace is really cheap. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ca12a1a443a51298afcca627ad0bcbd8ad1dcddc Author: Pavel Emelyanov Date: Wed Jul 16 20:28:42 2008 -0700 inet: prepare net on the stack for NET accounting macros Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5c52ba170f8167511bdb65b981f4582100c40675 Author: Pavel Emelyanov Date: Wed Jul 16 20:28:10 2008 -0700 sock: add net to prot->enter_memory_pressure callback The tcp_enter_memory_pressure calls NET_INC_STATS, but doesn't have where to get the net from. I decided to add a sk argument, not the net itself, only to factor all the required sock_net(sk) calls inside the enter_memory_pressure callback itself. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cf1100a7a4f2573f50f9a923b53373977328e3c8 Author: Pavel Emelyanov Date: Wed Jul 16 20:27:38 2008 -0700 mib: add net to TCP_ADD_STATS_USER Now we're done with the TCP_XXX_STATS macros. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 74688e487a407a33d42879957b478601aca616b8 Author: Pavel Emelyanov Date: Wed Jul 16 20:22:46 2008 -0700 mib: add net to TCP_DEC_STATS Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 63231bddf6514778792d3784f63822473d250fc0 Author: Pavel Emelyanov Date: Wed Jul 16 20:22:25 2008 -0700 mib: add net to TCP_INC_STATS_BH Same as before - the sock is always there to get the net from, but there are also some places with the net already saved on the stack. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 81cc8a75d944fa39fc333c2c329c8e8b3c62cada Author: Pavel Emelyanov Date: Wed Jul 16 20:22:04 2008 -0700 mib: add net to TCP_INC_STATS Fortunately (almost) all the TCP code has a sock to get the net from :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a9c19329eccdb145a08a4a2e969d7b40c54c9bcc Author: Pavel Emelyanov Date: Wed Jul 16 20:21:42 2008 -0700 tcp: add net to tcp_mib_init This one sets TCP MIBs after zeroing them, and thus requires the net. The existing single caller can use init_net (temporarily). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f10f84314d5adc0ba6ca2a0877442de63e226130 Author: Pavel Emelyanov Date: Wed Jul 16 20:21:20 2008 -0700 mib: drop unused TCP_XXX_STATS macros TCP_INC_STATS_USER and TCP_ADD_STATS_BH are currently unused. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a86b1e3019455283a677c2485cfeda2dc36df3eb Author: Pavel Emelyanov Date: Wed Jul 16 20:20:58 2008 -0700 inet: prepare struct net for TCP MIB accounting This is the same as the first patch in the set, but preparing the net for TCP_XXX_STATS - save the struct net on the stack where required and possible. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c5346fe396f5e22bbfb3ec037c43891c3c57d3e6 Author: Pavel Emelyanov Date: Wed Jul 16 20:20:33 2008 -0700 mib: add net to IP_ADD_STATS_BH Very simple - only ip_evictor (fragments) requires such. This patch ends up the IP_XXX_STATS patching. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7c73a6faffae0bfae70639113aecf06af666e714 Author: Pavel Emelyanov Date: Wed Jul 16 20:20:11 2008 -0700 mib: add net to IP_INC_STATS_BH Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5e38e270444f2629de7a706b5a9ca1b333d14517 Author: Pavel Emelyanov Date: Wed Jul 16 20:19:49 2008 -0700 mib: add net to IP_INC_STATS All the callers already have either the net itself, or the place where to get it from. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c6f8f7e3bb4b2c1886ef3743e8f24521f7a60abc Author: Pavel Emelyanov Date: Wed Jul 16 20:19:26 2008 -0700 mib: drop unused IP_INC_STATS_USER Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 84a3aa000eacbaf841d745b07ef3a3280899056b Author: Pavel Emelyanov Date: Wed Jul 16 20:19:08 2008 -0700 ipv4: prepare net initialization for IP accounting Some places, that deal with IP statistics already have where to get a struct net from, but use it directly, without declaring a separate variable on the stack. So, save this net on the stack for future IP_XXX_STATS macros. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 78ed11a56bd8679aa6d51eb36b448342c59a7824 Author: Patrick McHardy Date: Wed Jul 16 20:16:14 2008 -0700 netdrv intel: always enable VLAN filtering except in promiscous mode Currently VLAN filtering is enabled when the first VLAN is added. Obviously before that there's no point in receiving any VLAN packets. Now that we disable VLAN filtering in promiscous mode, we can keep the VLAN filters enabled the remaining time. Signed-off-by: Patrick McHardy Acked-by: Jeff Kirsher Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 746b9f0228a1c607b3db67c80da1c2a963321926 Author: Patrick McHardy Date: Wed Jul 16 20:15:45 2008 -0700 netdrv intel: disable VLAN filtering in promiscous mode As discussed in this thread: http://www.mail-archive.com/netdev@vger.kernel.org/msg53976.html promiscous mode means to disable *all* filters. Currently only unicast and multicast filtering is disabled. This patch changes all Intel drivers to also disable VLAN filtering. Signed-off-by: Patrick McHardy Acked-by: Jeff Kirsher Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 70efce27fc3d54271519244dc5e47da4ed711dd4 Author: Will Newton Date: Wed Jul 16 20:13:43 2008 -0700 net/ipv4/tcp.c: Fix use of PULLHUP instead of POLLHUP in comments. Change PULLHUP to POLLHUP in tcp_poll comments and clean up another comment for grammar and coding style. Signed-off-by: Will Newton Signed-off-by: David S. Miller commit 7b1c65faa27f5ade3915e4bbc9186b6e64d2d6ec Author: Harvey Harrison Date: Wed Jul 16 20:12:30 2008 -0700 net: make __skb_splice_bits static net/core/skbuff.c:1335:5: warning: symbol '__skb_splice_bits' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 885a4c966bcc11a1470c2b85a90360f6518a507a Merge: 9d3a0de... 375c6bb... Author: David S. Miller Date: Wed Jul 16 20:07:06 2008 -0700 Merge branch 'stealer/ipvs/sync-daemon-cleanup-for-next' of git://git.stealer.net/linux-2.6 commit 9d3a0de7dc3c1c4456db5ceb92c445bef0a47681 Author: Rumen G. Bogdanovski Date: Wed Jul 16 20:04:23 2008 -0700 ipvs: More reliable synchronization on connection close This patch enhances the synchronization of the closing connections between the master and the backup director. It prevents the closed connections to expire with the 15 min timeout of the ESTABLISHED state on the backup and makes them expire as they would do on the master with much shorter timeouts. Signed-off-by: Rumen G. Bogdanovski Acked-by: Simon Horman Signed-off-by: David S. Miller commit 666f164f4fbfa78bd00fb4b74788b42a39842c64 Author: Roland McGrath Date: Tue Apr 8 23:12:30 2008 -0700 fix dangling zombie when new parent ignores children This fixes an arcane bug that we think was a regression introduced by commit b2b2cbc4b2a2f389442549399a993a8306420baf. When a parent ignores SIGCHLD (or uses SA_NOCLDWAIT), its children would self-reap but they don't if it's using ptrace on them. When the parent thread later exits and ceases to ptrace a child but leaves other live threads in the parent's thread group, any zombie children are left dangling. The fix makes them self-reap then, as they would have done earlier if ptrace had not been in use. Signed-off-by: Roland McGrath commit 14dd0b81414a58caf0296dbeace016bb0a5d11ab Author: Roland McGrath Date: Sun Mar 30 18:41:25 2008 -0700 do_wait: return security_task_wait() error code in place of -ECHILD This reverts the effect of commit f2cc3eb133baa2e9dc8efd40f417106b2ee520f3 "do_wait: fix security checks". That change reverted the effect of commit 73243284463a761e04d69d22c7516b2be7de096c. The rationale for the original commit still stands. The inconsistent treatment of children hidden by ptrace was an unintended omission in the original change and in no way invalidates its purpose. This makes do_wait return the error returned by security_task_wait() (usually -EACCES) in place of -ECHILD when there are some children the caller would be able to wait for if not for the permission failure. A permission error will give the user a clue to look for security policy problems, rather than for mysterious wait bugs. Signed-off-by: Roland McGrath commit f470021adb9190819c03d6d8c5c860a17480aa6d Author: Roland McGrath Date: Mon Mar 24 18:36:23 2008 -0700 ptrace children revamp ptrace no longer fiddles with the children/sibling links, and the old ptrace_children list is gone. Now ptrace, whether of one's own children or another's via PTRACE_ATTACH, just uses the new ptraced list instead. There should be no user-visible difference that matters. The only change is the order in which do_wait() sees multiple stopped children and stopped ptrace attachees. Since wait_task_stopped() was changed earlier so it no longer reorders the children list, we already know this won't cause any new problems. Signed-off-by: Roland McGrath commit 98abed02007b19bbfd68b6d06a5485afc3eeb01b Author: Roland McGrath Date: Wed Mar 19 19:24:59 2008 -0700 do_wait reorganization This breaks out the guts of do_wait into three subfunctions. The control flow is less nonobvious without so much goto. do_wait_thread and ptrace_do_wait contain the main work of the outer loop. wait_consider_task contains the main work of the inner loop. Signed-off-by: Roland McGrath commit 33af79d12e0fa25545d49e86afc67ea8ad5f2f40 Author: Chandra Seetharaman Date: Wed Jul 16 17:35:08 2008 -0700 scsi_dh: Verify "dev" is a sdev before accessing it. Before accessing the device data structure in hardware handlers, make sure it is a indeed a sdev device. Yinghai Lu found the bug on Jul 16, 2008, and later tested/verified the following fix. Signed-off-by: Chandra Seetharaman Signed-off-by: Linus Torvalds commit dc7c65db2845a8d17432d89252c4227a9a7cb15f Merge: 8a0ca91... 58b6e55... Author: Linus Torvalds Date: Wed Jul 16 17:25:46 2008 -0700 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits) Revert "x86/PCI: ACPI based PCI gap calculation" PCI: remove unnecessary volatile in PCIe hotplug struct controller x86/PCI: ACPI based PCI gap calculation PCI: include linux/pm_wakeup.h for device_set_wakeup_capable PCI PM: Fix pci_prepare_to_sleep x86/PCI: Fix PCI config space for domains > 0 Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n PCI: Simplify PCI device PM code PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep PCI ACPI: Rework PCI handling of wake-up ACPI: Introduce new device wakeup flag 'prepared' ACPI: Introduce acpi_device_sleep_wake function PCI: rework pci_set_power_state function to call platform first PCI: Introduce platform_pci_power_manageable function ACPI: Introduce acpi_bus_power_manageable function PCI: make pci_name use dev_name PCI: handle pci_name() being const PCI: add stub for pci_set_consistent_dma_mask() PCI: remove unused arch pcibios_update_resource() functions PCI: fix pci_setup_device()'s sprinting into a const buffer ... Fixed up conflicts in various files (arch/x86/kernel/setup_64.c, arch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c, drivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86 and ACPI updates manually. commit 58b6e5538460be358fdf1286d9a2fbcfcc2cfaba Author: Jesse Barnes Date: Wed Jul 16 16:21:47 2008 -0700 Revert "x86/PCI: ACPI based PCI gap calculation" This reverts commit 809d9a8f93bd8504dcc34b16bbfdfd1a8c9bb1ed. This one isn't quite ready for prime time. It needs more testing and additional feedback from the ACPI guys. commit c0420ad2ca514551ca086510b0e7d17a05c70492 Author: Coly Li Date: Mon Jun 30 18:45:45 2008 +0800 [PATCH] ocfs2: fix oops in mmap_truncate testing This patch fixes a mmap_truncate bug which was found by ocfs2 test suite. In an ocfs2 cluster more than 1 node, run program mmap_truncate, which races mmap writes and truncates from multiple processes. While the test is running, a stat from another node forces writeout, causing an oops in ocfs2_get_block() because it sees a buffer to write which isn't allocated. This patch fixed the bug by clear dirty and uptodate bits in buffer, leave the buffer unmapped and return. Fix is suggested by Mark Fasheh, and I code up the patch. Signed-off-by: Coly Li Signed-off-by: Mark Fasheh commit ac8a1014804c23c96e3f757145f73e1351c34365 Author: Timur Tabi Date: Tue Jun 24 17:35:02 2008 -0500 powerpc: fix ALSA options in Freescale 85xx and 86xx defconfigs The defconfigs for Freescale 85xx and 86xx SOCs had bad choices for some audio related options. In particular, OSS emulation should be enabled, and the old ALSA API should be disabled. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 108443cb0ca2402b5561c6777f3a5f6fb2c2922e Author: Kumar Gala Date: Wed Jul 16 17:59:03 2008 -0500 Revert "powerpc/ep8248e: Fix compile problem if !CONFIG_FS_ENET" This reverts commit e3621ee633810be1079d0fa65ac2c904f53b73fa. This was not the proper fix. As Scott Wood said CONFIG_FS_ENET has nothing to do with the issue. The proper fix is to select PHYLIB for this board. commit ff21f23648d33649fcf3e1e99d03e245f0e1acf8 Author: Kumar Gala Date: Wed Jul 16 17:47:54 2008 -0500 powerpc/ep8248e: Unconditionally select PHYLIB for mdio_bitbang Its possible to build the phylib as a module, however this breaks the board code because alloc_mdio_bitbang and mdiobus_register are not available if we build as a module. These are needed by the board code since it implements the low level mdio bitbang ops. So we unconditionally select PHYLIB to ensure its built into the kernel if we are building in EP8248E support. Long term we should look at moving the mdio_ops into its own file so it can be built as a module. Signed-off-by: Kumar Gala commit 0332f000cd010e9db0a04181284b9ac91dac5ea7 Author: Kumar Gala Date: Fri Jul 11 14:31:35 2008 -0500 powerpc/fsl: Minor TLBSYNC cleanup for FSL Book-E Use the TLBSYNC macro defined in ppc_asm.h rather than our own ifdefs. Signed-off-by: Kumar Gala commit 6cfd8990e27d3a491c1c605d6cbc18a46ae51fef Author: Kumar Gala Date: Wed Jul 9 10:03:28 2008 -0500 powerpc: rework FSL Book-E PTE access and TLB miss This converts the FSL Book-E PTE access and TLB miss handling to match with the recent changes to 44x that introduce support for non-atomic PTE operations in pgtable-ppc32.h and removes write back to the PTE from the TLB miss handlers. In addition, the DSI interrupt code no longer tries to fixup write permission, this is left to generic code, and _PAGE_HWWRITE is gone. Signed-off-by: Kumar Gala commit 2d07db33d1875dcaada8eb7e69c68aeede722bb5 Author: Kumar Gala Date: Thu Jun 12 08:33:12 2008 -0500 powerpc: Remove Kconfig PPC_CPM_NEW_BINDING With arch/ppc gone and all in kernel users of CONFIG_PPC_CPM_NEW_BINDING fixed up we dont have need for the Kconfig option anymore. Signed-off-by: Kumar Gala commit b219108cbacee5f2eaeca63cba013688eeba3bd4 Author: Kumar Gala Date: Thu Jun 12 08:32:13 2008 -0500 fs_enet: Remove !CONFIG_PPC_CPM_NEW_BINDING code Now that arch/ppc is gone we always define CONFIG_PPC_CPM_NEW_BINDING so we can remove all the code associated with !CONFIG_PPC_CPM_NEW_BINDING. Also fixed some asm/of_platform.h to linux/of_platform.h (and of_device.h) Signed-off-by: Kumar Gala commit 00262986ceeb5c3358b70491aa898906503a0fe7 Author: Scott Wood Date: Fri Jul 11 18:04:43 2008 -0500 Add fsl,magic-packet to, and clean up, the gianfar binding. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d87eb12785c14de1586e3bad86ca2c0991300339 Author: Scott Wood Date: Fri Jul 11 18:04:45 2008 -0500 gianfar: Add magic packet and suspend/resume support. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7e1cc9c55a2a4af62f30fade62fb612a243def39 Author: Andy Fleming Date: Wed May 7 13:19:44 2008 -0500 powerpc: Fix a bunch of sparse warnings in the qe_lib Mostly having to do with not marking things __iomem. And some failure to use appropriate accessors to read MMIO regs. Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit 4cd7e1cbd43bb67927af2b8b4e0ffd43fd5ed6b4 Author: Andy Fleming Date: Fri May 2 13:03:50 2008 -0500 powerpc: Add support for multiple gfar mdio interfaces The old code assumed there was only one, but the 8572 actually has 3. Also, our usual id, 0xe0024520, gets resolved to -1 somewhere, and this was preventing the multiple buses from having different ids. So we only keep the low 20 bits, which have the interesting info, anyway. Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit a47fda930777f2d84209c9d140557b983e84a16a Author: Anton Vorontsov Date: Thu Jun 12 03:04:37 2008 +0400 powerpc/86xx: mpc8610_hpcd - add support for ULI RTC The ULI "Super South Bridge" contains ISA bridge to the legacy devices, such as Super IO mouse/keyboard/floppy disk controllers, parallel port, i8259 interrupt controller and so on. i8259 is disabled on the MPC8610HPCD, and other peripherals are not traced out. So we use only RTC. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 52ddd1cdc923802b224b15ba75000c6c5668227f Author: Anton Vorontsov Date: Thu Jun 12 03:04:17 2008 +0400 powerpc/85xx/86xx: some refactoring for fsl_uli1575 code - Get rid of uses_fsl_uli_m1575, it does not scale for all cases. Instead, let's explicitly use machine_is() for each fixup. - Factor out MPC8610HPCD quirks to fsl_uli1575, and protect them with machine_is(). One step closer to multiplatform kernels. - Actually use fsl_uli1575 on MPC8610HPCD, so RTC quirk will be applied. - RTC quirk applies to all boards though, so no machine_is() checks. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 00c5372d37a78990c1530184a9c792ee60a30067 Author: Anton Vorontsov Date: Thu Jun 12 03:04:02 2008 +0400 powerpc/fsl_uli1575: fix RTC quirk to work on MPC8572DS and MPC8610HPCD This patch fixes RTC on MPC8572DS boards: dummy read helps only when reading at the end of the bridge's memory (i.e. outside of behind the bridge devices' assigned regions). With this change the quirk also makes RTC work on MPC8610HPCD, so it's unlikely that this will break MPC8641HPCN or MPC8544DS boards. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ade254d7f05cb74ab0a951ab105bc9ae872f045e Author: Jochen Friedrich Date: Sat Jul 5 13:29:28 2008 +0200 powerpc: Add documentation for CPM GPIO banks Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 89ae5b2b9357cd715ab25df50e5fa56ae30aaf80 Author: Anton Vorontsov Date: Fri Jul 4 20:53:28 2008 +0400 powerpc: add FHCI USB, FSL MCU, FSL UPM and GPIO LEDs bindings This patch adds few bindings for the new drivers to be submitted through the appropriate maintainers. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 69ad7e73dee33f8e0680825006c801ca6b4bf470 Author: Anton Vorontsov Date: Tue Jul 8 21:36:40 2008 +0400 powerpc/fsl_soc: gianfar: don't probe disabled devices Freescale ships MPC8315E-RDB boards in two variants: 1. With TSEC1 ethernet support and USB UTMI PHY; 2. Without TSEC1 support, but with USB ULPI PHY in addition. For the second case U-Boot will add status = "disabled"; property into the TSEC1 node, so Linux should not try to probe it. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit c0a2015965d42f58d3b50c59bd139bc2419bc7f9 Author: Anton Vorontsov Date: Tue Jul 8 21:36:32 2008 +0400 powerpc/83xx: fix ULPI setup for MPC8315 processors We must not use MPC831X_SICR[HL]_* definitions for the MPC8315 processors, because SICR USB bits locations are not compatible with MPC8313. This patch fixes ULPI workability on MPC8315E-RDB boards. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 76fe1ffce94067fc82d1d958f826eb9f1df53910 Author: John Rigby Date: Thu Jun 26 11:07:57 2008 -0600 powerpc: Move mpc83xx_add_bridge to fsl_pci.c This allows other platforms with the same pci block like MPC5121 to use it. Signed-off-by: John Rigby Acked-by: Grant Likely Signed-off-by: Kumar Gala commit b500563b22ea2a78760b2ccaa328426b0388e2ee Author: John Rigby Date: Thu Jun 26 11:07:56 2008 -0600 powerpc: pci config cleanup Choosing PCI or not at config time is allowed on some platforms via an if expression in arch/powerpc/Kconfig. To add a new platform with PCI support selectable at config time, you must change the if expression. This patch makes this easier by changing: bool "PCI support" if to bool "PCI support" if PPC_PCI_CHOICE and adding select PPC_PCI_CHOICE to all the config nodes that were previously in the PCI if expression. Platforms with unconditional PCI support continue to just select PCI in their config nodes. Signed-off-by: John Rigby Acked-by: Grant Likely Signed-off-by: Kumar Gala commit 36aa7965d85270065f090b01db5c62bf75e65f30 Author: Paul Gortmaker Date: Thu Jul 10 16:21:35 2008 -0400 powerpc/mpc7448: add alias list to DTS, clean out old chosen node The mpc7448hpc2 board doesn't have an alias block like most of the other modern eval boards have. We need this block in order to have u-boot be able to make use of the CONFIG_OF_STDOUT_VIA_ALIAS (vs. having a hard coded node) in the future. Also remove the old, redundant chosen node. Of all the modern Freescale eval boards (incl. 83xx, 85xx, 86xx) this is the only one which still has it. Its presence also breaks with some older versions of u-boot, like 1.3.1 -- which try and insert a second chosen node. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 574366128db29e7da609ec1f9c01bf9d80adec87 Author: Scott Wood Date: Fri Jul 11 17:55:25 2008 -0500 powerpc/mpc8313erdb: Add power management to the device tree. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d49747bdfb2ddebea24d1580da55b79d093d48a9 Author: Scott Wood Date: Tue Oct 9 12:37:13 2007 -0500 powerpc/mpc83xx: Power Management support Basic PM support for 83xx. Standby is implemented as sleep. Suspend-to-RAM is implemented as "deep sleep" (with the processor turned off) on 831x. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7e72063c9aaeb618815589cd4d57f26186e6fcad Author: Scott Wood Date: Wed Jun 25 12:07:39 2008 -0500 powerpc: Update example SOC node in booting-without-of.txt. Convert to DTS version 1, eliminate some obsolete practices, and correct some errors (compared to the actual 8540 device tree). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 2dff41775decb9cb1f3a6ac577c78dc3eea60431 Author: Scott Wood Date: Fri Jul 11 17:31:15 2008 -0500 powerpc: Document Freescale power management nodes, and the sleep property. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 375c6bbabf210ded3151481ca1ac7f730903512b Author: Sven Wegener Date: Wed Jul 16 11:14:03 2008 +0000 ipvs: Use schedule_timeout_interruptible() instead of msleep_interruptible() So that kthread_stop() can wake up the thread and we don't have to wait one second in the worst case for the daemon to actually stop. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit ba6fd85021dec97d58373d9aea4bea8fc24258be Author: Sven Wegener Date: Wed Jul 16 11:13:56 2008 +0000 ipvs: Put backup thread on mcast socket wait queue Instead of doing an endless loop with sleeping for one second, we now put the backup thread onto the mcast socket wait queue and it gets woken up as soon as we have data to process. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 998e7a76804b7a273a0460c2cdd5a51fa9856717 Author: Sven Wegener Date: Wed Jul 16 11:13:50 2008 +0000 ipvs: Use kthread_run() instead of doing a double-fork via kernel_thread() This also moves the setup code out of the daemons, so that we're able to return proper error codes to user space. The current code will return success to user space when the daemon is started with an invald mcast interface. With these changes we get an appropriate "No such device" error. We longer need our own completion to be sure the daemons are actually running, because they no longer contain code that can fail and kthread_run() takes care of the rest. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit e6dd731c75cba986a485924f908e6e05b088ea9e Author: Sven Wegener Date: Wed Jul 16 11:13:43 2008 +0000 ipvs: Use ERR_PTR for returning errors from make_receive_sock() and make_send_sock() The additional information we now return to the caller is currently not used, but will be used to return errors to user space. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit d56400504a40a4aa197af629300d76544169e821 Author: Sven Wegener Date: Wed Jul 16 11:13:35 2008 +0000 ipvs: Initialize mcast addr at compile time There's no need to do it at runtime, the values are constant. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 8a0ca91e1db5de5eb5b18cfa919d52ff8be375af Merge: 9c1be0c... c43d863... Author: Linus Torvalds Date: Wed Jul 16 15:11:07 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: (68 commits) sdio_uart: Fix SDIO break control to now return success or an error mmc: host driver for Ricoh Bay1Controllers sdio: sdio_io.c Fix sparse warnings sdio: fix the use of hard coded timeout value. mmc: OLPC: update vdd/powerup quirk comment mmc: fix spares errors of sdhci.c mmc: remove multiwrite capability wbsd: fix bad dma_addr_t conversion atmel-mci: Driver for Atmel on-chip MMC controllers mmc: fix sdio_io sparse errors mmc: wbsd.c fix shadowing of 'dma' variable MMC: S3C24XX: Refuse incorrectly aligned transfers MMC: S3C24XX: Add maintainer entry MMC: S3C24XX: Update error debugging. MMC: S3C24XX: Add media presence test to request handling. MMC: S3C24XX: Fix use of msecs where jiffies are needed MMC: S3C24XX: Add MODULE_ALIAS() entries for the platform devices MMC: S3C24XX: Fix s3c2410_dma_request() return code check. MMC: S3C24XX: Allow card-detect on non-IRQ capable pin MMC: S3C24XX: Ensure host->mrq->data is valid ... Manually fixed up bogus executable bits on drivers/mmc/core/sdio_io.c and include/linux/mmc/sdio_func.h when merging. commit 9c1be0c4712fe760d8969427ef91107e9c062d91 Merge: 42fdd14... 0d7eff8... Author: Linus Torvalds Date: Wed Jul 16 15:02:57 2008 -0700 Merge branch 'for_linus' of git://git.infradead.org/~dedekind/ubifs-2.6 * 'for_linus' of git://git.infradead.org/~dedekind/ubifs-2.6: UBIFS: include to compilation UBIFS: add new flash file system UBIFS: add brief documentation MAINTAINERS: add UBIFS section do_mounts: allow UBI root device name VFS: export sync_sb_inodes VFS: move inode_lock into sync_sb_inodes commit 42fdd144a40f3afaccaa7ea538268bad3596439e Merge: 4314652... 64a8f00... Author: Linus Torvalds Date: Wed Jul 16 14:53:54 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: (76 commits) IDE: Report errors during drive reset back to user space Update documentation of HDIO_DRIVE_RESET ioctl IDE: Remove unused code IDE: Fix HDIO_DRIVE_RESET handling hd.c: remove the #include update the BLK_DEV_HD help text move ide/legacy/hd.c to drivers/block/ ide/legacy/hd.c: use late_initcall() remove BLK_DEV_HD_ONLY ide: endian annotations in ide-floppy.c ide-floppy: zero out the whole struct ide_atapi_pc on init ide-floppy: fold idefloppy_create_test_unit_ready_cmd into idefloppy_open ide-cd: move request prep chunk from cdrom_do_newpc_cont to rq issue path ide-cd: move request prep from cdrom_start_rw_cont to rq issue path ide-cd: move request prep from cdrom_start_seek_continuation to rq issue path ide-cd: fold cdrom_start_seek into ide_cd_do_request ide-cd: simplify request issuing path ide-cd: mv ide_do_rw_cdrom ide_cd_do_request ide-cd: cdrom_start_seek: remove unused argument block ide-cd: ide_do_rw_cdrom: add the catch-all bad request case to the if-else block ... commit 4314652bb41df08ad65bd25176ba1dfd24b14a51 Merge: d442cc4... 01a5bba... Author: Linus Torvalds Date: Wed Jul 16 14:52:12 2008 -0700 Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6 * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6: (87 commits) Fix FADT parsing Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. ACPI: use dev_printk when possible PNPACPI: add support for HP vendor-specific CCSR descriptors PNP: avoid legacy IDE IRQs PNP: convert resource options to single linked list ISAPNP: handle independent options following dependent ones PNP: remove extra 0x100 bit from option priority PNP: support optional IRQ resources PNP: rename pnp_register_*_resource() local variables PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR PNP: centralize resource option allocations PNP: remove redundant pnp_can_configure() check PNP: make resource assignment functions return 0 (success) or -EBUSY (failure) PNP: in debug resource dump, make empty list obvious PNP: improve resource assignment debug PNP: increase I/O port & memory option address sizes PNP: introduce pnp_irq_mask_t typedef PNP: make resource option structures private to PNP subsystem PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM ... commit d442cc44c0db56e84ef6aa244a88427d2efe06cd Author: Martin K. Petersen Date: Wed Jul 16 16:09:06 2008 -0400 block: Trivial fix for blk_integrity_rq() Fail integrity check gracefully when request does not have a bio attached (BLOCK_PC). Signed-off-by: Martin K. Petersen Signed-off-by: Linus Torvalds commit 8df1b049bc86495a40e421abc8b9cf1dda32f0d9 Merge: a3cf859... cadc723... Author: Linus Torvalds Date: Wed Jul 16 14:49:49 2008 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (82 commits) NFSv4: Remove BKL from the nfsv4 state recovery SUNRPC: Remove the BKL from the callback functions NFS: Remove BKL from the readdir code NFS: Remove BKL from the symlink code NFS: Remove BKL from the sillydelete operations NFS: Remove the BKL from the rename, rmdir and unlink operations NFS: Remove BKL from NFS lookup code NFS: Remove the BKL from nfs_link() NFS: Remove the BKL from the inode creation operations NFS: Remove BKL usage from open() NFS: Remove BKL usage from the write path NFS: Remove the BKL from the permission checking code NFS: Remove attribute update related BKL references NFS: Remove BKL requirement from attribute updates NFS: Protect inode->i_nlink updates using inode->i_lock nfs: set correct fl_len in nlmclnt_test() SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier SUNRPC: None of rpcb_create's callers wants a privileged source port SUNRPC: Introduce a specific rpcb_create for contacting localhost ... commit 01a5bba576b9364b33f61f0cd9fa70c2cf5535e2 Author: Jan Beulich Date: Wed Jul 16 23:27:08 2008 +0200 Fix FADT parsing The (1.0 inherited) separate length fields in the FADT are byte granular. Further, PM1a/b may have distinct lengths and live in distinct address spaces. acpi_tb_convert_fadt() should account for all of these conditions. Apart from these changes I'm puzzled by the fact that, not just for acpi_gbl_xpm1{a,b}_enable, acpi_hw_low_level_{read,write}() get an explicit size passed rather than using the size found in the passed GAS. What happens on a platform that defines PM1{a,b} wider than 16 bits? Of course, acpi_hw_low_level_{read,write}() at present are entirely un-prepared to deal with sizes other than 8, 16, or 32, not to speak of a non-zero bit_offset or access_width... Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Cc: Len Brown Signed-off-by: Andrew Morton commit 4d3870431d17346c4fdd80e087b7d76f1b5941d5 Author: Aaron Durbin Date: Wed Jul 16 23:27:08 2008 +0200 Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. Signed-off-by: Aaron Durbin Signed-off-by: Andi Kleen Cc: Len Brown Cc: Andi Kleen Signed-off-by: Andrew Morton commit c83642d5123225a22cccd75adea6e97c245714cb Author: Bjorn Helgaas Date: Fri Jun 27 08:45:39 2008 -0600 ACPI: use dev_printk when possible Convert printks to use dev_printk(). The most obvious change will be messages like this: -ACPI: PCI Interrupt 0000:00:04.0[A] -> GSI 31 (level, low) -> IRQ 31 +cciss 0000:00:04.0: PCI INT A -> GSI 31 (level, low) -> IRQ 31 Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 40ab4f4c1d843362eb26d83425317e91fbd98b17 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:19 2008 -0600 PNPACPI: add support for HP vendor-specific CCSR descriptors The HP CCSR descriptor describes MMIO address space that should appear as a MEM resource. This patch adds support for parsing these descriptors in the _CRS data. The visible effect of this is that these MEM resources will appear in /sys/devices/pnp0/.../resources, which means that "lspnp -v" will report it, user applications can use this to locate device CSR space, and kernel drivers can use the normal PNP resource accessors to locate them. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 84684c7469a2e6fcbf8c808ac5030ba2de14ff77 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:18 2008 -0600 PNP: avoid legacy IDE IRQs If an IDE controller is in compatibility mode, it expects to use IRQs 14 and 15, so PNP should avoid them. This patch should resolve this problem report: parallel driver grabs IRQ14 preventing legacy SFF ATA controller from working https://bugzilla.novell.com/show_bug.cgi?id=375836 Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 1f32ca31e7409d37c1b25e5f81840fb184380cdf Author: Bjorn Helgaas Date: Fri Jun 27 16:57:17 2008 -0600 PNP: convert resource options to single linked list ISAPNP, PNPBIOS, and ACPI describe the "possible resource settings" of a device, i.e., the possibilities an OS bus driver has when it assigns I/O port, MMIO, and other resources to the device. PNP used to maintain this "possible resource setting" information in one independent option structure and a list of dependent option structures for each device. Each of these option structures had lists of I/O, memory, IRQ, and DMA resources, for example: dev independent options ind-io0 -> ind-io1 ... ind-mem0 -> ind-mem1 ... ... dependent option set 0 dep0-io0 -> dep0-io1 ... dep0-mem0 -> dep0-mem1 ... ... dependent option set 1 dep1-io0 -> dep1-io1 ... dep1-mem0 -> dep1-mem1 ... ... ... This data structure was designed for ISAPNP, where the OS configures device resource settings by writing directly to configuration registers. The OS can write the registers in arbitrary order much like it writes PCI BARs. However, for PNPBIOS and ACPI devices, the OS uses firmware interfaces that perform device configuration, and it is important to pass the desired settings to those interfaces in the correct order. The OS learns the correct order by using firmware interfaces that return the "current resource settings" and "possible resource settings," but the option structures above doesn't store the ordering information. This patch replaces the independent and dependent lists with a single list of options. For example, a device might have possible resource settings like this: dev options ind-io0 -> dep0-io0 -> dep1->io0 -> ind-io1 ... All the possible settings are in the same list, in the order they come from the firmware "possible resource settings" list. Each entry is tagged with an independent/dependent flag. Dependent entries also have a "set number" and an optional priority value. All dependent entries must be assigned from the same set. For example, the OS can use all the entries from dependent set 0, or all the entries from dependent set 1, but it cannot mix entries from set 0 with entries from set 1. Prior to this patch PNP didn't keep track of the order of this list, and it assigned all independent options first, then all dependent ones. Using the example above, that resulted in a "desired configuration" list like this: ind->io0 -> ind->io1 -> depN-io0 ... instead of the list the firmware expects, which looks like this: ind->io0 -> depN-io0 -> ind-io1 ... Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit bbe413b4fc7f791248c7ee00ce7b3778491a3700 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:16 2008 -0600 ISAPNP: handle independent options following dependent ones The ISAPNP spec recommends that independent options precede dependent ones, but this is not actually required. The current ISAPNP code incorrectly puts such trailing independent options at the end of the last dependent option list. This patch fixes that bug by resetting the current option list to the independent list when we see an "End Dependent Functions" tag. PNPBIOS and PNPACPI handle this the same way. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit e2a1a6f1cfaf6ee770a8700e5df8a3708dae503b Author: Bjorn Helgaas Date: Fri Jun 27 16:57:15 2008 -0600 PNP: remove extra 0x100 bit from option priority When building resource options, ISAPNP and PNPBIOS set the priority to something like "0x100 | PNP_RES_PRIORITY_ACCEPTABLE", but we immediately mask off the 0x100 again in pnp_build_option(), so that bit looks superfluous. Thanks to Rene Herman for pointing this out. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit d5ebde6ef5c2d51828f975a81d7d0e58bccfd833 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:14 2008 -0600 PNP: support optional IRQ resources This patch adds an IORESOURCE_IRQ_OPTIONAL flag for use when assigning resources to a device. If the flag is set and we are unable to assign an IRQ to the device, we can leave the IRQ disabled but allow the overall resource allocation to succeed. Some devices request an IRQ, but can run without an IRQ (possibly with degraded performance). This flag lets us run the device without the IRQ instead of just leaving the device disabled. This is a reimplementation of this previous change by Rene Herman : http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b73a223661ed137c5d3d2635f954382e94f5a43 I reimplemented this for two reasons: - to prepare for converting all resource options into a single linked list, as opposed to the per-resource-type lists we have now, and - to preserve the order and number of resource options. In PNPBIOS and ACPI, we configure a device by giving firmware a list of resource assignments. It is important that this list has exactly the same number of resources, in the same order, as the "template" list we got from the firmware in the first place. The problem of a sound card MPU401 being left disabled for want of an IRQ was reported by Uwe Bugla . Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 2d29a7a794c5bae982955cd5dd0a76e766e57f39 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:13 2008 -0600 PNP: rename pnp_register_*_resource() local variables No functional change; just rename "data" to something more descriptive. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit fe2cf598e6942abd8fb70fee230d74b1a1eae0d1 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:12 2008 -0600 PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR ACPI Extended Interrupt Descriptors can encode 32-bit interrupt numbers, so an interrupt number may exceed the size of the bitmap we use to track possible IRQ settings. To avoid corrupting memory, complain and ignore too-large interrupt numbers. There's similar code in pnpacpi_parse_irq_option(), but I didn't change that because the small IRQ descriptor can only encode IRQs 0-15, which do not exceed bitmap size. In the future, we could handle IRQ numbers greater than PNP_IRQ_NR by replacing the bitmap with a table or list. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit c227536b4cc2600fc9d22ba0067f699165f6621f Author: Bjorn Helgaas Date: Fri Jun 27 16:57:11 2008 -0600 PNP: centralize resource option allocations This patch moves all the option allocations (pnp_mem, pnp_port, etc) into the pnp_register_{mem,port,irq,dma}_resource() functions. This will make it easier to rework the option data structures. The non-trivial part of this patch is the IRQ handling. The backends have to allocate a local pnp_irq_mask_t bitmap, populate it, and pass a pointer to pnp_register_irq_resource(). Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit b08395e5038e3337bb85c7246a635a3be6d5a29c Author: Bjorn Helgaas Date: Fri Jun 27 16:57:10 2008 -0600 PNP: remove redundant pnp_can_configure() check pnp_assign_resources() is static and the only caller checks pnp_can_configure() before calling it, so no need to do it again. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 6e906f0e1c8633ed357a64e9861f1822789bee3d Author: Bjorn Helgaas Date: Fri Jun 27 16:57:09 2008 -0600 PNP: make resource assignment functions return 0 (success) or -EBUSY (failure) This patch doesn't change any behavior; it just makes the return values more conventional. This changes pnp_assign_dma() from a void function to one that returns an int, just like the other assignment functions. For now, at least, pnp_assign_dma() always returns 0 (success), so it appears to never fail, just like before. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 819beac3806a5e986d81f476b999b7fffce1a233 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:08 2008 -0600 PNP: in debug resource dump, make empty list obvious If the resource list is empty, say that explicitly. Previously, it was confusing because often the heading was followed by zero resource lines, then some "add resource" lines from auto-assignment, so the "add" lines looked like current resources. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit fcfb7ce3d688d5c15fc9bc0a2a48e1ededdb046f Author: Bjorn Helgaas Date: Fri Jun 27 16:57:07 2008 -0600 PNP: improve resource assignment debug When we fail to assign an I/O or MEM resource, include the min/max in the debug output to help match it with the options. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 169aaffe885c56745188e7913f212a67beaa3b80 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:06 2008 -0600 PNP: increase I/O port & memory option address sizes ACPI Address Space Descriptors can be up to 64 bits wide. We should keep track of the whole thing when parsing resource options, so this patch changes PNP port and mem option fields from "unsigned short" and "unsigned int" to "resource_size_t". Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 7aefff51854ccd33599c40b4e360d94cb2b7622f Author: Bjorn Helgaas Date: Fri Jun 27 16:57:05 2008 -0600 PNP: introduce pnp_irq_mask_t typedef This adds a typedef for the IRQ bitmap, which should cause no functional change, but will make it easier to pass a pointer to a bitmap to pnp_register_irq_resource(). Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit a1802c42950403657d07e64558eff612d550ce16 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:04 2008 -0600 PNP: make resource option structures private to PNP subsystem Nothing outside the PNP subsystem should need access to a device's resource options, so this patch moves the option structure declarations to a private header file. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 08c9f262f268f7948be13bf3a5bda1d635c649b4 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:03 2008 -0600 PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM PNP previously defined PNP_PORT_FLAG_16BITADDR and PNP_PORT_FLAG_FIXED in a private header file, but put those flags in struct resource.flags fields. Better to make them IORESOURCE_IO_* flags like the existing IRQ, DMA, and MEM flags. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit b72ee1f11e373179ec703e0e5afaf585ed3a950a Author: Bjorn Helgaas Date: Fri Jun 27 16:57:02 2008 -0600 PNP: whitespace/coding style fixes No functional change; just make a couple declarations consistent with the rest of the file. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit 57fd51a8be26921b56747ddd09d1d9e01c11c9e0 Author: Bjorn Helgaas Date: Fri Jun 27 16:57:01 2008 -0600 PNP: add pnp_possible_config() -- can a device could be configured this way? As part of a heuristic to identify modem devices, 8250_pnp.c checks to see whether a device can be configured at any of the legacy COM port addresses. This patch moves the code that traverses the PNP "possible resource options" from 8250_pnp.c to the PNP subsystem. This encapsulation is important because a future patch will change the implementation of those resource options. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen Acked-by: Rene Herman Signed-off-by: Len Brown commit f61ed7e32d2d6a0a8c3c101da513ccedd542e14d Author: Bjorn Helgaas Date: Fri Jun 27 16:57:00 2008 -0600 PNP: dont sort by type in /sys/.../resources Rather than stepping through all IO resources, then stepping through all MMIO resources, etc., we can just iterate over the resource list once directly. This can change the order in /sys, e.g., # cat /sys/devices/pnp0/00:07/resources # OLD state = active io 0x3f8-0x3ff irq 4 # cat /sys/devices/pnp0/00:07/resources # NEW state = active irq 4 io 0x3f8-0x3ff The old code artificially sorted resources by type; the new code just lists them in the order we read them from the ISAPNP hardware or the BIOS. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 25d39c39d82d062f4be685146abd054a3bafdf12 Author: Bjorn Helgaas Date: Fri Jun 27 16:56:59 2008 -0600 PNP: remove ratelimit on add resource failures We used to have a fixed-size resource table. If a device had twenty resources when the table only had space for ten, we didn't need ten warnings, so we added the ratelimit. Now that we can dynamically allocate new resources, we should only get failures if the allocation fails. That should be rare enough that we don't need to ratelimit the messages. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 5acf91415799025410cc0d13101340d352f34c89 Author: Bjorn Helgaas Date: Fri Jun 27 16:56:58 2008 -0600 PNPACPI: keep disabled resources when parsing current config When we parse a device's _CRS data (the current resource settings), we should keep track of everything we find, even if it's currently disabled or invalid. This is what we already do for ISAPNP and PNPBIOS, and it helps keep things matched up when we subsequently re-encode resources. For example, consider a device with (mem, irq0, irq1, io), where irq0 is disabled. If we drop irq0 when parsing the _CRS, we will mistakenly put irq1 in the irq0 slot when we encode resources for an _SRS call. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit aee3ad815dd291a7193ab01da0f1a30c84d00061 Author: Bjorn Helgaas Date: Fri Jun 27 16:56:57 2008 -0600 PNP: replace pnp_resource_table with dynamically allocated resources PNP used to have a fixed-size pnp_resource_table for tracking the resources used by a device. This table often overflowed, so we've had to increase the table size, which wastes memory because most devices have very few resources. This patch replaces the table with a linked list of resources where the entries are allocated on demand. This removes messages like these: pnpacpi: exceeded the max number of IO resources 00:01: too many I/O port resources References: http://bugzilla.kernel.org/show_bug.cgi?id=9535 http://bugzilla.kernel.org/show_bug.cgi?id=9740 http://lkml.org/lkml/2007/11/30/110 This patch also changes the way PNP uses the IORESOURCE_UNSET, IORESOURCE_AUTO, and IORESOURCE_DISABLED flags. Prior to this patch, the pnp_resource_table entries used the flags like this: IORESOURCE_UNSET This table entry is unused and available for use. When this flag is set, we shouldn't look at anything else in the resource structure. This flag is set when a resource table entry is initialized. IORESOURCE_AUTO This resource was assigned automatically by pnp_assign_{io,mem,etc}(). This flag is set when a resource table entry is initialized and cleared whenever we discover a resource setting by reading an ISAPNP config register, parsing a PNPBIOS resource data stream, parsing an ACPI _CRS list, or interpreting a sysfs "set" command. Resources marked IORESOURCE_AUTO are reinitialized and marked as IORESOURCE_UNSET by pnp_clean_resource_table() in these cases: - before we attempt to assign resources automatically, - if we fail to assign resources automatically, - after disabling a device IORESOURCE_DISABLED Set by pnp_assign_{io,mem,etc}() when automatic assignment fails. Also set by PNPBIOS and PNPACPI for: - invalid IRQs or GSI registration failures - invalid DMA channels - I/O ports above 0x10000 - mem ranges with negative length After this patch, there is no pnp_resource_table, and the resource list entries use the flags like this: IORESOURCE_UNSET This flag is no longer used in PNP. Instead of keeping IORESOURCE_UNSET entries in the resource list, we remove entries from the list and free them. IORESOURCE_AUTO No change in meaning: it still means the resource was assigned automatically by pnp_assign_{port,mem,etc}(), but these functions now set the bit explicitly. We still "clean" a device's resource list in the same places, but rather than reinitializing IORESOURCE_AUTO entries, we just remove them from the list. Note that IORESOURCE_AUTO entries are always at the end of the list, so removing them doesn't reorder other list entries. This is because non-IORESOURCE_AUTO entries are added by the ISAPNP, PNPBIOS, or PNPACPI "get resources" methods and by the sysfs "set" command. In each of these cases, we completely free the resource list first. IORESOURCE_DISABLED In addition to the cases where we used to set this flag, ISAPNP now adds an IORESOURCE_DISABLED resource when it reads a configuration register with a "disabled" value. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 20bfdbba7212d19613b93dcea93f26cb65af91fe Author: Bjorn Helgaas Date: Fri Jun 27 16:56:56 2008 -0600 PNP: make pnp_{port,mem,etc}_start(), et al work for invalid resources Some callers use pnp_port_start() and similar functions without making sure the resource is valid. This patch makes us fall back to returning the initial values if the resource is not valid or not even present. This mostly preserves the previous behavior, where we would just return the initial values set by pnp_init_resource_table(). The original 2.6.25 code didn't range-check the "bar", so it would return garbage if the bar exceeded the table size. This code returns sensible values instead. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 9fdee4e02e3b214cde8e4f3beb6776075a3d08a7 Author: Bjorn Helgaas Date: Fri Jun 27 16:56:55 2008 -0600 PNP: add pnp_resource_type_name() helper function This patch adds a "pnp_resource_type_name(struct resource *)" that returns the string resource type. This will be used by the sysfs "show resources" function and the debug resource dump function. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 940e98dbc616f1df7b63b73858a966969baf261d Author: Bjorn Helgaas Date: Fri Jun 27 16:56:54 2008 -0600 PNP: add pnp_resource_type() internal interface Given a struct resource, this returns the type (IO, MEM, IRQ, DMA). Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 87e4acf3ebc02c9d0a2f7a37b655c49176c4d765 Author: Bjorn Helgaas Date: Fri Jun 27 16:56:53 2008 -0600 PNP: remove pnp_resource.index We used pnp_resource.index to keep track of which ISAPNP configuration register a resource should be written to. We needed this only to handle the case where a register is disabled but a subsequent register in the same set is enabled. Rather than explicitly maintaining the pnp_resource.index, this patch adds a resource every time we read an ISAPNP configuration register and marks the resource as IORESOURCE_DISABLED when appropriate. This makes the position in the pnp_resource_table always correspond to the config register index. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit b897f46cf7941fff8130ccdaf85f39528bff6a51 Author: Bjorn Helgaas Date: Fri Jun 27 16:56:52 2008 -0600 PNP: add detail to debug resource dump In the debug resource dump, decode the flags and indicate when a resource is disabled or has been automatically assigned. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 469778c1740fcf3113498b6fdf4559bdec25c58f Author: Julia Jomantaite Date: Mon Jun 23 22:50:42 2008 +0100 ACPI: video: fix brightness allocation Fix use of uninitialized device->brightness. Signed-off-by: Julia Jomantaite Signed-off-by: Andi Kleen Acked-by: Zhang Rui Signed-off-by: Len Brown commit 8aa863b8ca0855378e3409b5e55ad57a856f6412 Author: Len Brown Date: Fri Jun 27 11:31:50 2008 -0400 ACPI: Andi Kleen maintains the ACPI sub-system ...while Len is on sabbatical from Intel Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 65573ee72e34e767a135a0841ac5380a2be1a390 Author: Len Brown Date: Fri Jun 27 11:22:46 2008 -0400 ACPI: Zhang Rui maintains ACPI THERMAL and FAN Reflect that Zhang-Rui has been the sub-maintainer for ACPI THERMAL and FAN for some time now. Also, the Chinese custom is to speak family name first, so rather than "Rui Zhang", write "Zhang Rui", as he does on e-mail. Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 2a2a64714d9c40f7705c4de1e79a5b855c7211a9 Author: Zhao Yakui Date: Tue Jun 24 18:02:57 2008 +0800 ACPI: Disable MWAIT via DMI on broken Compal board If a system matches in this DMI table, Linux will disable MWAIT support for idle. ie. "idle=nomwait" is automatically invoked and C1_FFH and C2C3_FFH access mode are disabled. http://bugzilla.kernel.org/show_bug.cgi?id=10807 http://bugzilla.kernel.org/show_bug.cgi?id=10914 Signed-off-by: Zhao Yakui Signed-off-by: Li Shaohua Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit da5e09a1b3e5a9fc0b15a3feb64e921ccc55ba74 Author: Zhao Yakui Date: Tue Jun 24 18:01:09 2008 +0800 ACPI : Create "idle=nomwait" bootparam "idle=nomwait" disables the use of the MWAIT instruction from both C1 (C1_FFH) and deeper (C2C3_FFH) C-states. When MWAIT is unavailable, the BIOS and OS generally negotiate to use the HALT instruction for C1, and use IO accesses for deeper C-states. This option is useful for power and performance comparisons, and also to work around BIOS bugs where broken MWAIT support is advertised. http://bugzilla.kernel.org/show_bug.cgi?id=10807 http://bugzilla.kernel.org/show_bug.cgi?id=10914 Signed-off-by: Zhao Yakui Signed-off-by: Li Shaohua Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit c1e3b377ad48febba6f91b8ae42c44ee4d4ab45e Author: Zhao Yakui Date: Tue Jun 24 17:58:53 2008 +0800 ACPI: Create "idle=halt" bootparam "idle=halt" limits the idle loop to using the halt instruction. No MWAIT, no IO accesses, no C-states deeper than C1. If something is broken in the idle code, "idle=halt" is a less severe workaround than "idle=poll" which disables all power savings. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 5b53496a5ad79e91052f72761a7c5516b069bc99 Author: Zhao Yakui Date: Tue Jun 17 14:39:59 2008 +0800 ACPI: Disable the C2C3_FFH access mode HW has no MWAIT support 991528d7348667924176f3e29addea0675298944 (ACPI: Processor native C-states using MWAIT) started passing C2C3_FFH to _PDC to tell the BIOS that Linux supports MWAIT for deep C-states. However, we should first double check with the hardware that it actually supports MWAIT before potentially exposing a BIOS bug of an MWAIT _CST on HW that doesn't support MWAIT. Signed-off-by: Zhao Yakui Signed-off-by: Li Shaohua Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 71b58cbb0c30d1f78636a48c4721529449d6ea37 Author: Zhang Rui Date: Fri Jun 20 09:42:47 2008 +0800 ACPI: Enhance /sys/firmware/interrupts to allow enable/disable/clear from user-space Allow users to enable/disable/clear a specific & valid GPE/Fixed Event in user space. This is useful for debugging, especially for some interrupt storm issues. All wakeup GPEs are disabled and they can not be enabled at runtime, and we mark them as invalid. All GPEs that don't have a _Lxx/_Exx method are marked as invalid. All Fixed Events that don't have an event handler are marked as invalid and they can't be enabled until an event handler is registered. Signed-off-by: Zhang Rui Signed-off-by: Ling Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 9c9f6d052dc6f469431461a97d49cf9c5558b8ad Author: Bob Moore Date: Tue Jun 10 14:37:53 2008 +0800 ACPICA: Update version to 20080609 Update version to 20080609. Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit b53ce3f7186e2fc561f02085b5021df10d715ce2 Author: Bob Moore Date: Tue Jun 10 14:30:04 2008 +0800 ACPICA: Fix mutex debug code for wrong loop termination value Loop was terminating one iteration early, missing one of the debugger handshake mutexes. Linn Crosetto. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit fd0a43276dc986e186eb27e5755a18e97e07a7eb Author: Bob Moore Date: Tue Jun 10 14:27:55 2008 +0800 ACPICA: Cleanup of _PRT parsing code Removed extraneous else clauses, other general cleanup. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 71d993e115706a4108bdc7e3cb3cf25309f17aa6 Author: Bob Moore Date: Tue Jun 10 14:25:05 2008 +0800 ACPICA: Cleanup debug operand dump mechanism Eliminated unnecessary operands; eliminated use of negative index in loop. Operands now displayed in correct order, not backwards. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 5a1a57efeb152d6b8a3b2a20f6b192d074e919ec Author: Bob Moore Date: Tue Jun 10 14:21:05 2008 +0800 ACPICA: Fix for invalid large array index on 64-bit systems This problem was introduced in 20080514 as a result of the elimination of the acpi_native_uint type. Code uses a negative array index, which should be eliminated. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 75e5b5fb778646a93d98adb1ca697435362d2856 Author: Bob Moore Date: Tue Jun 10 14:19:32 2008 +0800 ACPICA: Update disassembler for DMAR table changes Now supports the 2007 intel Virtualization Technology for Directed I/O specification. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 19d0cfe9ddfdf7afa8d1765ab0bd2a7dd30e47c9 Author: Bob Moore Date: Tue Jun 10 15:54:40 2008 +0800 ACPICA: Update DMAR and SRAT table definitions Synchronized tables with current specifications. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit d0e184abc5983281ef189db2c759d65d56eb1b80 Author: Bob Moore Date: Tue Jun 10 14:16:47 2008 +0800 ACPICA: Workaround for reversed _PRT entries from BIOS Some BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. Detect and repair this problem. MS ACPI also allows and repairs this problem, thus ACPICA must also. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit b25d2a470bc9ffef4c34248952d914bd6fc0fcf6 Author: Bob Moore Date: Tue Jun 10 14:15:05 2008 +0800 ACPICA: Update version to 20080514 Update version to 20080514 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 4b8ed631679070c183c8ae7519d2bdb9df124ae4 Author: Bob Moore Date: Tue Jun 10 13:55:53 2008 +0800 ACPICA: Add const qualifier for appropriate string constants Mostly MODULE_NAME and printf format strings. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit b52437641edf63cee2f2f73a189154989b4a7ff4 Author: Bob Moore Date: Tue Jun 10 13:44:48 2008 +0800 ACPICA: Several lint changes, no functional changes Remove pointer cast warnings and fix for a debug printf. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit d97b4358da9bdaee5789c85415d770e36aebca52 Author: Bob Moore Date: Tue Jun 10 13:43:34 2008 +0800 ACPICA: Removed unused include files from source files From lint. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 67a119f990063f5662574f6d6414fe9bc5ece86a Author: Bob Moore Date: Tue Jun 10 13:42:13 2008 +0800 ACPICA: Eliminate acpi_native_uint type v2 No longer needed; replaced mostly with u32, but also acpi_size where a type that changes 32/64 bit on 32/64-bit platforms is required. v2: Fix a cast of a 32-bit int to a pointer in ACPI to avoid a compiler warning. from David Howells Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 11f2a61ab418305167f9a3f3a31a50449222f64b Author: Bob Moore Date: Tue Jun 10 12:53:01 2008 +0800 ACPICA: Fix possible negative array index in acpi_ut_validate_exception Added NULL fields to the exception string arrays to eliminate the -1 subtraction on the SubStatus field. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 6719561f9b4281491f58ed9f0bbc179dc7db95b7 Author: Jan Beulich Date: Tue Jun 10 12:49:56 2008 +0800 ACPICA: Update tracking macros to reduce code/data size Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings instead of pointers to static strings. Jan Beulich and Bob Moore. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit c91d924e3af08d4f98eab6ebf81f2b8ce132448f Author: Bob Moore Date: Tue Jun 10 12:38:10 2008 +0800 ACPICA: Fix for hang on GPE method invocation Fixes problem where the new method argument count validation mechanism will enter an infinite loop when a GPE method is dispatched. Problem fixed be removing the obsolete code that passes GPE block information to the notify handler via the control method parameter pointer. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit f3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc Author: Bob Moore Date: Tue Jun 10 12:25:42 2008 +0800 ACPICA: Add argument count checking to control method invocation via acpi_evaluate_object Error if too few arguments, warning if too many. This applies only to external programmatic control method execution, not method-to-method calls within the AML. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit c735ab7da3414c3e639d5c5223092b74689e5d87 Author: Randy Dunlap Date: Thu Jun 26 22:27:21 2008 -0400 fujitsu-laptop: depends on INPUT fujitsu-laptop uses input_* functions, so it should depend on INPUT. drivers/built-in.o: In function `acpi_fujitsu_add': fujitsu-laptop.c:(.text+0xaaec7): undefined reference to `input_allocate_device' fujitsu-laptop.c:(.text+0xaaf39): undefined reference to `input_register_device' fujitsu-laptop.c:(.text+0xab025): undefined reference to `input_free_device' drivers/built-in.o: In function `acpi_fujitsu_notify': fujitsu-laptop.c:(.text+0xab0d8): undefined reference to `input_event' fujitsu-laptop.c:(.text+0xab0e5): undefined reference to `input_event' fujitsu-laptop.c:(.text+0xab0f5): undefined reference to `input_event' fujitsu-laptop.c:(.text+0xab102): undefined reference to `input_event' drivers/built-in.o: In function `acpi_fujitsu_hotkey_notify': fujitsu-laptop.c:(.text+0xab261): undefined reference to `input_event' drivers/built-in.o:fujitsu-laptop.c:(.text+0xab26e): more undefined references to `input_event' follow drivers/built-in.o: In function `acpi_fujitsu_hotkey_add': fujitsu-laptop.c:(.text+0xab49c): undefined reference to `input_allocate_device' fujitsu-laptop.c:(.text+0xab51a): undefined reference to `input_register_device' fujitsu-laptop.c:(.text+0xab5e4): undefined reference to `input_free_device' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen Acked-by: Jonathan Woithe Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 25f2f3daadaf0768a61d02ee3ed3d9a21e9dc46c Author: Rafael J. Wysocki Date: Wed Jun 11 22:09:45 2008 +0200 snapshot: Use pm_mutex for mutual exclusion We can avoid taking the BKL in snapshot_ioctl() if pm_mutex is used to prevent the ioctls from being executed concurrently. In addition, although it is only possible to open /dev/snapshot once, the task which has done that may spawn a child that will inherit the open descriptor, so in theory they can call snapshot_write(), snapshot_read() and snapshot_release() concurrently. pm_mutex can also be used for mutual exclusion in such cases. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andi Kleen Acked-by: Pavel Machek Signed-off-by: Len Brown commit 52d11025dba32bed696eaee1822b26529e764770 Author: Alan Cox Date: Wed Jun 11 22:07:52 2008 +0200 snapshot: Push BKL down into ioctl handlers Push BKL down into ioctl handlers - snapshot device. Signed-off-by: Alan Cox Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit ebb12db51f6c13b30752fcf506baad4c617b153c Author: Rafael J. Wysocki Date: Wed Jun 11 22:04:29 2008 +0200 Freezer: Introduce PF_FREEZER_NOSIG The freezer currently attempts to distinguish kernel threads from user space tasks by checking if their mm pointer is unset and it does not send fake signals to kernel threads. However, there are kernel threads, mostly related to networking, that behave like user space tasks and may want to be sent a fake signal to be frozen. Introduce the new process flag PF_FREEZER_NOSIG that will be set by default for all kernel threads and make the freezer only send fake signals to the tasks having PF_FREEZER_NOSIG unset. Provide the set_freezable_with_signal() function to be called by the kernel threads that want to be sent a fake signal for freezing. This patch should not change the freezer's observable behavior. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andi Kleen Acked-by: Pavel Machek Signed-off-by: Len Brown commit d20a4dca47d2cd027ed58a13f91b424affd1f449 Author: Johannes Berg Date: Wed Jun 11 22:03:10 2008 +0200 APM emulation: Notify about all suspend events, not just APM invoked ones (v2) This revamps the apm-emulation code to get suspend notifications regardless of what way pm_suspend() was invoked, whether via the apm ioctl or via /sys/power/state. Also do some code cleanup and add comments while at it. Signed-off-by: Johannes Berg Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 741438b5008791327d2183cebcd7ac9cfad64ec6 Author: Rafael J. Wysocki Date: Thu Jun 5 01:17:28 2008 +0200 ACPI PM: Remove obsolete Toshiba workaround Remove the obsolete workaround for a Toshiba Satellite 4030cdt S1 problem from drivers/acpi/sleep/main.c . Signed-off-by: Rafael J. Wysocki Signed-off-by: Andi Kleen Acked-by: Pavel Machek Signed-off-by: Len Brown commit a80a6da145bab8ee77af304961fc926de7a8ac84 Author: Rafael J. Wysocki Date: Thu Jun 5 01:16:37 2008 +0200 PCI ACPI: Drop the second argument of platform_pci_choose_state Since the second argument of acpi_pci_choose_state() and platform_pci_choose_state() is never used, remove it. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andi Kleen Acked-by: Pavel Machek Signed-off-by: Len Brown commit 2fe2de5f6c283a7d2a82c1b99a19012079cee555 Author: David Brownell Date: Thu Jun 5 01:15:40 2008 +0200 ACPI PM: acpi_pm_device_sleep_state() cleanup Get rid of a superfluous acpi_pm_device_sleep_state() parameter. The only legitimate value of that parameter must be derived from the first parameter, which is what all the callers already do. (However, this does not address the fact that ACPI still doesn't set up those flags.) Signed-off-by: David Brownell Signed-off-by: Andi Kleen Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit cc7e51666d82aedfd6b9a033ca1a10d71c21f1ca Author: Len Brown Date: Tue Jun 24 22:57:12 2008 -0400 dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled. Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit d1857056904d5f313f11184fcfa624652ff9620a Author: Vegard Nossum Date: Fri Jun 20 15:39:09 2008 +0200 ACPI: don't walk tables if ACPI was disabled Ingo Molnar wrote: > -tip auto-testing started triggering this spinlock corruption message > yesterday: > > [ 3.976213] calling acpi_rtc_init+0x0/0xd3 > [ 3.980213] ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread F7C50000 could not acquire Mutex [3] [20080321] > [ 3.992213] BUG: spinlock bad magic on CPU#0, swapper/1 > [ 3.992213] lock: c2508dc4, .magic: 00000000, .owner: swapper/1, .owner_cpu: 0 This is apparently because some parts of ACPI, including mutexes, are not initialized when acpi=off is passed to the kernel. Reported-by: Ingo Molnar Signed-off-by: Vegard Nossum Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 860f0c6b3dcaa455894f690647442dc97cab19c8 Author: Carlos Corbacho Date: Sat Jun 21 09:09:58 2008 +0100 acer-wmi: Remove version number It doesn't make much sense these days. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 81143522aa823036c4aa35bdd3b2e41966cf6e15 Author: Carlos Corbacho Date: Sat Jun 21 09:09:53 2008 +0100 acer-wmi: Add debugfs file for device detection Add a debugfs file for showing the full results of the method we use to detect devices on WMID laptops. This should be useful in the case that a Linux user gets an Acer laptop with 3G support (and/ or people who enjoy ripping their wireless cards out) so we can get some feedback on how this value changes in these cases. (At the moment, we always enable the wireless and 3G control. In the case of the former, this is fairly safe. In the case of the latter though, trying to toggle this device if it doesn't exist on a laptop causes ACPI warnings/ errors). To summarise: If you have an Acer laptop with a built in 3G card, please report back the value from this file. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 5753dd539a86d8fc40a25e1a2cd1005a6525f083 Author: Carlos Corbacho Date: Sat Jun 21 09:09:48 2008 +0100 acer-wmi: Disable device autodetection on Fujitsu Siemens Amilo Li2732 The AMW0 (V1) device detection method doesn't work properly on this laptop, so disable it, and for other laptops that may have this problem, by switching on a strange GUID. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 6f061ab5e55d7fe6ce0c36e8954f56f0d95348fb Author: Carlos Corbacho Date: Sat Jun 21 09:09:38 2008 +0100 acer-wmi: Add EC quirk for Fujitsu Siemens Amilo Li 1718 This laptop needs a different EC quirk from the standard Acer one to read the wireless status. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit f2b585b4a31731b17b9769eae523986fa7fddcde Author: Carlos Corbacho Date: Sat Jun 21 09:09:27 2008 +0100 acer-wmi: Respect framebuffer blanking in backlight If the framebuffer has requested blanking, turn the backlight down. Also offer the user the option to do this. Reported-by: Michal Pecio Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 9991d9f2bc75dc8735932240b67432d4073b8f60 Author: Carlos Corbacho Date: Sat Jun 21 09:09:22 2008 +0100 acer-wmi: Blacklist backlight on Acer Aspire 1520 & 1360 series A newer BIOS for these laptops adds ACPI-WMI support to them. However, it does not add support for the backlight via the EC, and we have no way to detect this on older machines, so blacklist it from them. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit a0bbaf83311cd995136c9047f174d79c1075ee2d Author: Carlos Corbacho Date: Sat Jun 21 09:09:08 2008 +0100 acer-wmi: Remove LED colour comment from documentation This should have been removed when the colour was removed from the LED device name. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 141094612d2606395a7b9e8658d10ef5c487cf97 Author: Adrian Bunk Date: Wed Jun 25 19:25:47 2008 +0300 eeepc-laptop: static make the needlessly global cm_{g,s}etv[] static. Signed-off-by: Adrian Bunk Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 47c00d2bc2ef2cf8a608688144fe2093a2aa9507 Author: Vegard Nossum Date: Fri Jun 20 13:56:56 2008 +0200 ACPICA: fix mutex names in debug code. Reorder the mutex names to match the preceding #defines Signed-off-by: Vegard Nossum Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit e38e8a0743b0e996a8a3fbea8908fe75a84f02c7 Author: Bob Moore Date: Fri Jun 13 08:28:55 2008 +0800 Make GPE disable more robust Implemented another change for the GPE disable. We now perform a read-change-write of the enable register instead of simply writing out the cached enable mask. This will prevent inadvertent enabling of GPEs if a rogue GPE is received during initialization (before GPE handlers are installed.) http://bugzilla.kernel.org/show_bug.cgi?id=6217 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 87dc5e3218ba3d7a9293f9113f58455747a233ac Author: Cezary Jackiewicz Date: Thu Jun 12 22:08:59 2008 +0200 compal-laptop: remove unnecessary lcd_level attribute Signed-off-by: Cezary Jackiewicz Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 12b2b34e240a24bdbb2fdacf26a54b24ebf1ed81 Author: Randy Dunlap Date: Tue Jun 17 09:43:41 2008 -0700 acpi: fix printk format warning Fix printk format warning: linux-next-20080617/drivers/acpi/processor_throttling.c:1258: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 3d532d5e3882c1387a2722df2a368c4a9224b12f Author: Yi Yang Date: Sat Jun 14 00:54:37 2008 -0400 ACPI: fix processor throttling set error http://bugzilla.kernel.org/show_bug.cgi?id=9704 When echo some invalid values to /proc/acpi/processor/*/throttling, there isn't any error info returned, on the contray, it sets throttling value to some T* successfully, obviously, this is incorrect, a correct way should be to let it fail and return error info. This patch fixed the aforementioned issue, it also enables /proc/acpi/processor/*/throttling to accept such values as 't0' and 'T0', it also strictly limits /proc/acpi/processor/*/throttling only to accept "*", "t*" and "T*", "*" is the throttling state value the processor can support, current, it is 0 - 7. Before applying this patch, the test result is below: [root@localhost acpi]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T1 state available: T0 to T7 states: T0: 100% *T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost acpi]# echo "1xxxxxx" > /proc/acpi/processor/CPU0/throttling [root@localhost acpi]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T1 state available: T0 to T7 states: T0: 100% *T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost acpi]# echo "0" > /proc/acpi/processor/CPU0/throttling [root@localhost acpi]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost acpi]# cd / [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "T0" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "T7" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "T100" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "xxx" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "2xxxx" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T2 state available: T0 to T7 states: T0: 100% T1: 87% *T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost /]# echo "7777" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost /]# echo "7xxx" > /proc/acpi/processor/CPU0/throttling [root@localhost /]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T7 state available: T0 to T7 states: T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% *T7: 12% [root@localhost /]# After applying this patch, the test result is below: [root@localhost linux-2.6.24-rc6]# echo > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "0" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo "t0" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo "T0" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T0 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12% [root@localhost linux-2.6.24-rc6]# echo "T7" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T7 state available: T0 to T7 states: T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% *T7: 12% [root@localhost linux-2.6.24-rc6]# echo "T8" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# vi drivers/acpi/processor_throttling.c [root@localhost linux-2.6.24-rc6]# echo "T8" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "t7" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo "t70" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "70" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "7000" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "70" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo "xxx" > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo -n > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo -n "" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo $? 0 [root@localhost linux-2.6.24-rc6]# echo -n "" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T7 state available: T0 to T7 states: T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% *T7: 12% [root@localhost linux-2.6.24-rc6]# echo -n "" > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T7 state available: T0 to T7 states: T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% *T7: 12% [root@localhost linux-2.6.24-rc6]# echo t0 > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo T0 > /proc/acpi/processor/CPU0/throttling [root@localhost linux-2.6.24-rc6]# echo Tt0 > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# echo T > /proc/acpi/processor/CPU0/throttling -bash: echo: write error: Invalid argument [root@localhost linux-2.6.24-rc6]# Signed-off-by: Yi Yang Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 6594d87ebd8371f4b67f7ab4b68f172b139b78d6 Author: Yi Yang Date: Sat Jun 14 00:52:06 2008 -0400 ACPI: fix acpi fan state set error Under /proc/acpi, there is a fan control interface, a user can set 0 or 3 to /proc/acpi/fan/*/state, 0 denotes D0 state, 3 denotes D3 state, but in current implementation, a user can set a fan to D1 state by any char excluding '1', '2' and '3'. For example: [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: off [root@localhost acpi]# echo "" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: on [root@localhost acpi]# echo "3" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: off [root@localhost acpi]# echo "xxxxx" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: on Obviously, such inputs as "" and "xxxxx" are invalid for fan state. This patch fixes this issue, it strictly limits fan state only to accept 0, 1, 2 and 3, any other inputs are invalid. Before applying this patch, the test result is: [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: off [root@localhost acpi]# echo "" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: on [root@localhost acpi]# echo "3" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: off [root@localhost acpi]# echo "xxxxx" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: on [root@localhost acpi]# echo "3" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: off [root@localhost acpi]# echo "3x" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: off [root@localhost acpi]# echo "-1x" > /proc/acpi/fan/C31B/state [root@localhost acpi]# cat /proc/acpi/fan/C31B/state status: on [root@localhost acpi]# After applying this patch, the test result is: [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: off [root@localhost ~]# echo "" > /proc/acpi/fan/C31B/state -bash: echo: write error: Invalid argument [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: off [root@localhost ~]# echo "3" > /proc/acpi/fan/C31B/state [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: off [root@localhost ~]# echo "xxxxx" > /proc/acpi/fan/C31B/state -bash: echo: write error: Invalid argument [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: off [root@localhost ~]# echo "-1x" > /proc/acpi/fan/C31B/state -bash: echo: write error: Invalid argument [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: off [root@localhost ~]# echo "0" > //proc/acpi/fan/C31B/state [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: on [root@localhost ~]# echo "4" > //proc/acpi/fan/C31B/state -bash: echo: write error: Invalid argument [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: on [root@localhost ~]# echo "3" > //proc/acpi/fan/C31B/state [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: off [root@localhost ~]# echo "0" > //proc/acpi/fan/C31B/state [root@localhost ~]# cat /proc/acpi/fan/C31B/state status: on [root@localhost ~]# echo "3x" > //proc/acpi/fan/C31B/state -bash: echo: write error: Invalid argument [root@localhost ~]# Signed-off-by: Yi Yang Signed-off-by: Andi Kleen Acked-by: Zhang Rui Signed-off-by: Len Brown commit 74523c901342a773ddd9f14c14539ec3d4197ecf Author: Alok N Kataria Date: Fri Jun 13 12:54:24 2008 -0400 ACPI: fix checkpatch.pl complaints in scan.c http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Alok N Kataria Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 20b937343e55c16e37b1a4ad2176760b4a11002c Author: Jonathan Woithe Date: Wed Jun 11 10:14:56 2008 +0930 Fujitsu-laptop update Add additional capabilities to the Fujitsu-laptop driver. * Brightness hotkey actions are sent to userspace. This can be disabled using a module parameter if it causes issues with models which handle these keys transparently in the BIOS. * Actions of additional hotkeys found on some Fujitsu models (eg: the suspend key and the dedicated "power on passphrase" keys) are broadcast to userspace. * An alternative brightness control method used by some Fujitsu models (for example, the S6410) is now supported, enabling software brightness controls on models using this method. * DMI-based module aliases are configured for the S6410 and S7020. * The current LCD brightness after booting should now be reflected in the standard backlight interface sysfs file (previously it was always set to 0). The platform brightness sysfs interface has always been fine. Thanks go to Peter Gruber who provided a significant portion of this code and tested various iterations of the patch on his S6410. Signed-off-by: Peter Gruber Signed-off-by: Jonathan Woithe Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 706546d02384b64e083bd9130c56eaa599c66038 Author: Mike Travis Date: Mon Jun 9 16:22:23 2008 -0700 ACPI: change processors from array to per_cpu variable Change processors from an array sized by NR_CPUS to a per_cpu variable. Signed-off-by: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 5411552c707f4b7387ad63141ef3a559e7488091 Author: Cezary Jackiewicz Date: Mon Jun 9 16:22:22 2008 -0700 misc,acpi,backlight: compal Laptop Extras This is driver for Compal Laptop: FL90/IFL90, based on MSI driver. This driver exports a few files in /sys/devices/platform/compal-laptop/: lcd_level - screen brightness: contains a single integer in the range 0..7 (rw) wlan - wlan subsystem state: contains 0 or 1 (rw) bluetooth - bluetooth subsystem state: contains 0 or 1 (rw) raw - raw value taken from embedded controller register (ro) In addition to these platform device attributes the driver registers itself in the Linux backlight control subsystem and is available to userspace under /sys/class/backlight/compal-laptop/. Signed-off-by: Cezary Jackiewicz Signed-off-by: Andi Kleen Cc: Richard Purdie Cc: Henrique de Moraes Holschuh Cc: Len Brown Cc: Alexey Starikovskiy Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 9f1eb99c757939b0b1783f926130993e9c298bae Author: Zhang Rui Date: Tue Apr 29 02:36:07 2008 -0400 create sysfs link from acpi device to sysdev for cpu Sys I/F under acpi device node and sysdev device node are both needed for cpu hot-removal. User space need this link so that they know they are poking the sys I/F for the same cpu. http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Zhang Rui Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit b62b8ef906cdf7115af579ce7378886ce3e0ce00 Author: Zhang Rui Date: Tue Apr 29 02:35:56 2008 -0400 force offline the processor during hot-removal The ACPI device node for the cpu has already been unregistered when acpi_processor_handle_eject is called. Thus we should offline the cpu and continue, rather than a failure here. http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Zhang Rui Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 26d46867b7d27f68a446b073dac7817721ae4c8f Author: Zhang Rui Date: Tue Apr 29 02:35:48 2008 -0400 fix a deadlock issue when poking "eject" file "/sys/devices/LNXSYSTM:00/.../eject" is used to evaluate _EJx method and eject a device in user space. But system hangs when poking the "eject" file because that the device hot-removal code invoke the driver .remove method which will try to remove the "eject" file as a result. Queues the hot-removal function for deferred execution in this patch. http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Zhang Rui Signed-off-by: Len Brown Signed-off-by: Andi Kleen commit 41ab8592ca35a20580665cae18c172816236b21e Author: Alexey Dobriyan Date: Wed Jul 16 21:29:02 2008 +0400 SLUB: simplify re on_each_cpu() on_each_cpu() expands to function call on UP, too. Acked-by: Christoph Lameter Signed-off-by: Alexey Dobriyan Signed-off-by: Pekka Enberg commit 1b82c9666a6f637ccb3a86d0fbe23d0427076815 Merge: a3cf859... 380fdd7... Author: Ingo Molnar Date: Wed Jul 16 22:15:53 2008 +0200 Merge branch 'x86/step' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland into x86/step commit 380fdd7585a4c2f41b48925eba85c0654b7b858b Author: Roland McGrath Date: Wed Jul 9 02:39:29 2008 -0700 x86 ptrace: user-sets-TF nits This closes some arcane holes in single-step handling that can arise only when user programs set TF directly (via popf or sigreturn) and then use vDSO (syscall/sysenter) system call entry. In those entry paths, the clear_TF_reenable case hits and we must check TIF_SINGLESTEP to be sure our bookkeeping stays correct wrt the user's view of TF. Signed-off-by: Roland McGrath commit d4d67150165df8bf1cc05e532f6efca96f907cab Author: Roland McGrath Date: Wed Jul 9 02:38:07 2008 -0700 x86 ptrace: unify syscall tracing This unifies and cleans up the syscall tracing code on i386 and x86_64. Using a single function for entry and exit tracing on 32-bit made the do_syscall_trace() into some terrible spaghetti. The logic is clear and simple using separate syscall_trace_enter() and syscall_trace_leave() functions as on 64-bit. The unification adds PTRACE_SYSEMU and PTRACE_SYSEMU_SINGLESTEP support on x86_64, for 32-bit ptrace() callers and for 64-bit ptrace() callers tracing either 32-bit or 64-bit tasks. It behaves just like 32-bit. Changing syscall_trace_enter() to return the syscall number shortens all the assembly paths, while adding the SYSEMU feature in a simple way. Signed-off-by: Roland McGrath commit 64f097331928b01d704047c1dbc738bb6d2a9bf9 Author: Roland McGrath Date: Wed Jul 9 01:33:14 2008 -0700 x86 ptrace: unify TIF_SINGLESTEP This unifies the treatment of TIF_SINGLESTEP on i386 and x86_64. The bit is now excluded from _TIF_WORK_MASK on i386 as it has been on x86_64. This means the do_notify_resume() path using it is never used, so TIF_SINGLESTEP is not cleared on returning to user mode. Both now leave TIF_SINGLESTEP set when returning to user, so that it's already set on an int $0x80 system call entry. This removes the need for testing TF on the system_call path. Doing it this way fixes the regression for PTRACE_SINGLESTEP into a sigreturn syscall, introduced by commit 1e2e99f0e4aa6363e8515ed17011c210c8f1b52a. The clear_TF_reenable case that sets TIF_SINGLESTEP can only happen on a non-exception kernel entry, i.e. sysenter/syscall instruction. That will always get to the syscall exit tracing path. Signed-off-by: Roland McGrath commit 6718d0d6da2749d3bff522e6057e97e6aa85e4d1 Author: Roland McGrath Date: Wed Jul 9 01:07:02 2008 -0700 x86 ptrace: block-step fix The enable_single_step() logic bails out early if TF is already set. That skips some of the bookkeeping that keeps things straight. This makes PTRACE_SINGLEBLOCK break the behavior of a user task that was already setting TF itself in user mode. Fix the bookkeeping to notice the old TF setting as it should. Test case at: http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/step-jump-cont-strict.c?cvsroot=systemtap Signed-off-by: Roland McGrath commit a3cf859321486f69506326146ab3e2fd15c05c3f Merge: 3c3622d... 33468e7... Author: Linus Torvalds Date: Wed Jul 16 11:47:35 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: (44 commits) hwmon: (w83l786ng) Convert to a new-style i2c driver hwmon: (w83l785ts) Convert to a new-style i2c driver hwmon: (w83793) Convert to a new-style i2c driver hwmon: (w83792d) Convert to a new-style i2c driver hwmon: (w83791d) Convert to a new-style i2c driver hwmon: (thmc50) Convert to a new-style i2c driver hwmon: (smsc47m192) Convert to a new-style i2c driver hwmon: (max6650) Convert to a new-style i2c driver hwmon: (max1619) Convert to a new-style i2c driver hwmon: (lm93) Convert to a new-style i2c driver hwmon: (lm92) Convert to a new-style i2c driver hwmon: (lm90) Convert to a new-style i2c driver hwmon: (lm87) Convert to a new-style i2c driver hwmon: (lm83) Convert to a new-style i2c driver hwmon: (lm80) Convert to a new-style i2c driver hwmon: (lm77) Convert to a new-style i2c driver hwmon: (lm63) Convert to a new-style i2c driver hwmon: (gl520sm) Convert to a new-style i2c driver hwmon: (gl518sm) Convert to a new-style i2c driver hwmon: (fscpos) Convert to a new-style i2c driver ... commit 3c3622dcb64c76c9abd2e468f802db9ba523421c Author: Randy Dunlap Date: Wed Jul 16 08:52:00 2008 -0500 Fix compile issues in fs/compat_ioctl.c when CONFIG_BLOCK is disabled Fix fs/compat_ioctl.c to handle CONFIG_BLOCK=n, CONFIG_SCSI=n to avoid build errors: In file included from include/scsi/scsi.h:12, from fs/compat_ioctl.c:71: include/scsi/scsi_cmnd.h:27:25: warning: "BLK_MAX_CDB" is not defined include/scsi/scsi_cmnd.h:28:3: error: #error MAX_COMMAND_SIZE can not be bigger than BLK_MAX_CDB In file included from include/scsi/scsi.h:12, from fs/compat_ioctl.c:71: include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd': include/scsi/scsi_cmnd.h:182: error: implicit declaration of function 'blk_bidi_rq' include/scsi/scsi_cmnd.h:183: error: dereferencing pointer to incomplete type include/scsi/scsi_cmnd.h: In function 'scsi_in': include/scsi/scsi_cmnd.h:189: error: dereferencing pointer to incomplete type Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e3621ee633810be1079d0fa65ac2c904f53b73fa Author: Kumar Gala Date: Wed Jul 16 08:39:12 2008 -0500 powerpc/ep8248e: Fix compile problem if !CONFIG_FS_ENET If we don't enable FS_ENET we get build issues: arch/powerpc/platforms/built-in.o: In function `ep8248e_mdio_probe': arch/powerpc/platforms/82xx/ep8248e.c:129: undefined reference to `alloc_mdio_bitbang' arch/powerpc/platforms/82xx/ep8248e.c:143: undefined reference to `mdiobus_register' Signed-off-by: Kumar Gala Signed-off-by: Linus Torvalds commit bef5b54bd7bf8117c75cb943d64549134c6d9a1f Author: Ralf Baechle Date: Wed Jul 16 13:02:24 2008 +0100 Fix MIPS cross-compile problem Crosscompiling on a Fedora 9 machine running gcc 4.3.0 as its host compiler and gcc 3.4.6 for the mips-linux target results in the following build error: $ make malta_defconfig $ make cc1: error: unrecognized command line option "-fno-stack-protector" scripts/kconfig/conf -s arch/mips/Kconfig cc1: error: unrecognized command line option "-fno-stack-protector" The arch Makefile is included too late so the host compiler is feature tested, not the crosscompiler as intended and thus the Makefile applies adds -fno-stack-protector to crosscompiler's flags which fails for gcc 3.4.6. The bug was introduced by e06b8b98da071f7dd78fb7822991694288047df0 in 2.6.25; 35bb5b1e0e84cfa1a8906f7e6a77f391ff315791 did add more flags testing before the arch Makefile inclusion. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 64a8f00ff19508b3962c8a932375dbae88bee4d6 Author: Elias Oltmanns Date: Wed Jul 16 20:33:48 2008 +0200 IDE: Report errors during drive reset back to user space Make sure that each error condition during the execution of an HDIO_DRIVE_RESET ioctl is actually reported to the calling process. Also, unify the exit path of reset_pollfunc() when returning ide_stopped since the need of ->port_ops->reset_poll() to be treated specially has vanished (way back, it seems). Signed-off-by: Elias Oltmanns Cc: "Alan Cox" Cc: "Randy Dunlap" Signed-off-by: Bartlomiej Zolnierkiewicz commit bb7ee9b1ec15358af870a81b0c6a03af29417f99 Author: Elias Oltmanns Date: Wed Jul 16 20:33:48 2008 +0200 Update documentation of HDIO_DRIVE_RESET ioctl Alter the entry for HDIO_DRIVE_RESET in Documentation/ioctl/hdio.txt to reflect a functional change in the driver. Besides, the entry has been inaccurate before. Signed-off-by: Elias Oltmanns Cc: "Alan Cox" Cc: "Randy Dunlap" Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ef5eb424ebf0cd981192a416358fd707a9f959b Author: Elias Oltmanns Date: Wed Jul 16 20:33:48 2008 +0200 IDE: Remove unused code Remove some code which has been made obsolete and hasn't worked properly before anyway. Part of the infrastructure may be reintroduced in a follow up patch to implement a working command aborting facility. Signed-off-by: Elias Oltmanns Cc: "Alan Cox" Cc: "Randy Dunlap" Signed-off-by: Bartlomiej Zolnierkiewicz commit 79e36a9f54aaf4a52eb2d9520953aa3960e99294 Author: Elias Oltmanns Date: Wed Jul 16 20:33:48 2008 +0200 IDE: Fix HDIO_DRIVE_RESET handling Currently, the code path executing an HDIO_DRIVE_RESET ioctl is broken in various ways. Most importantly, it is treated as an out of band request in an illegal way which may very likely lead to system lock ups. Use the drive's request queue to avoid this problem (and fix a locking issue for free along the way). Signed-off-by: Elias Oltmanns Cc: "Alan Cox" Cc: "Randy Dunlap" Signed-off-by: Bartlomiej Zolnierkiewicz commit 72a3d651b2fe341a8ae2ca164c395aa3007350cd Author: Adrian Bunk Date: Wed Jul 16 20:33:48 2008 +0200 hd.c: remove the #include The code that needed this #include was removed one year ago. Signed-off-by: Adrian Bunk Cc: rmk@arm.linux.org.uk Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit f327c1c33f4882c70f29ff3a9ff7c55c1951d1f6 Author: Adrian Bunk Date: Wed Jul 16 20:33:47 2008 +0200 update the BLK_DEV_HD help text Many people will see this option the first time now that it is in drivers/block/ Make it clear that virtually noone needs it. Signed-off-by: Adrian Bunk Cc: rmk@arm.linux.org.uk Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 453ea3ed0b3e8ad67d4ee9d2fccf3d95a3e1f709 Author: Adrian Bunk Date: Wed Jul 16 20:33:47 2008 +0200 move ide/legacy/hd.c to drivers/block/ This patch moves hd.c to drivers/block/ Signed-off-by: Adrian Bunk Cc: rmk@arm.linux.org.uk Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 01c22bfc30a3f40fed08cfd2779348edcb6c5e53 Author: Adrian Bunk Date: Wed Jul 16 20:33:47 2008 +0200 ide/legacy/hd.c: use late_initcall() Since the later move to drivers/block/ will break the link order, the module_init() has to become a late_initcall(). Signed-off-by: Adrian Bunk Cc: rmk@arm.linux.org.uk Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit ffa793f9bb5b563edb4cacc43a4d6677eec0e36b Author: Adrian Bunk Date: Wed Jul 16 20:33:47 2008 +0200 remove BLK_DEV_HD_ONLY After commit 80aa31cb460d12c1e02327b43eceb3eebc6e7090 (ide: remove CONFIG_BLK_DEV_HD_IDE config option (take 2)) the indirection through BLK_DEV_HD_ONLY is no longer required. Signed-off-by: Adrian Bunk Cc: rmk@arm.linux.org.uk Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 85ae98a3dff2da860a4f8f9e4a0de69ad82ce633 Author: Harvey Harrison Date: Wed Jul 16 20:33:47 2008 +0200 ide: endian annotations in ide-floppy.c Signed-off-by: Harvey Harrison Cc: Al Viro Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 68dc3575e064a5655cbd656fbf32d6ceeb85ac9e Author: Borislav Petkov Date: Wed Jul 16 20:33:47 2008 +0200 ide-floppy: zero out the whole struct ide_atapi_pc on init This is a precaution just to make sure a new pc is clean when allocated. There should be no functional change introduced by this patch. [bart: ported it over IDE changes] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c96a7df8dba5800c03b0f1edd87b2f3d0473a119 Author: Borislav Petkov Date: Wed Jul 16 20:33:46 2008 +0200 ide-floppy: fold idefloppy_create_test_unit_ready_cmd into idefloppy_open There's no need for this function since it is used only once. [bart: ported it over IDE changes] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7fcebda501681080a242733b8db3f09f5ccb5d3f Author: Borislav Petkov Date: Wed Jul 16 20:33:46 2008 +0200 ide-cd: move request prep chunk from cdrom_do_newpc_cont to rq issue path As a nice side effect, this minimizes the IRQ handler execution time. There should be no functionality change resulting from this patch. [bart: remove extra newlines from ide_cd_do_request()] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 90eb808e0fd3cbda8a8b085238930c533f603642 Author: Borislav Petkov Date: Wed Jul 16 20:33:46 2008 +0200 ide-cd: move request prep from cdrom_start_rw_cont to rq issue path ... by factoring out the rq preparation code into a separate function called in the request routine. As a nice side effect, this minimizes the IRQ handler execution time. There should be no functionality change resulting from this patch. [bart: s/HWGROUP()/drive->hwif->hwgroup/ and remove extra newline] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e529c6087a845e64a6a36a2d17b8754b20bc7c0d Author: Borislav Petkov Date: Wed Jul 16 20:33:46 2008 +0200 ide-cd: move request prep from cdrom_start_seek_continuation to rq issue path ... by factoring out the rq preparation code into a separate function called in the request routine. As a nice side effect, this minimizes the IRQ handler execution time. There should be no functionality change resulting from this patch. [bart: s/HWGROUP()/drive->hwif->hwgroup/ and remove extra newlines] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4b01fcbbe69bba34a8494fca6376ac0804f0f51d Author: Borislav Petkov Date: Wed Jul 16 20:33:46 2008 +0200 ide-cd: fold cdrom_start_seek into ide_cd_do_request Do what the compiler does anyway: inline a function that is used only once. This saves us the overhead of a function call and the function is small enough to be embedded in the callsite anyways. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b6ca440a8ff15e12478ea6f026a52970e7a0c54c Author: Borislav Petkov Date: Wed Jul 16 20:33:46 2008 +0200 ide-cd: simplify request issuing path Call cdrom_start_packet_command() only from the ->do_request() routine. As a nice side effect, this improves code readability a bit. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 99384aeafe3a78d8a2e66b09b67aa6a219cd7897 Author: Borislav Petkov Date: Wed Jul 16 20:33:45 2008 +0200 ide-cd: mv ide_do_rw_cdrom ide_cd_do_request There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ea1d17b962c35401fe26428e25c4652023e2652 Author: Borislav Petkov Date: Wed Jul 16 20:33:45 2008 +0200 ide-cd: cdrom_start_seek: remove unused argument block There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ab9d6e3374d938cf3d941fbed5ba32a19ad263b8 Author: Borislav Petkov Date: Wed Jul 16 20:33:45 2008 +0200 ide-cd: ide_do_rw_cdrom: add the catch-all bad request case to the if-else block There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ae8789f034ffa077105575817ec0cc581fd18d83 Author: Borislav Petkov Date: Wed Jul 16 20:33:45 2008 +0200 ide-cd: remove ide_cd_drain_data and ide_cd_pad_transfer Use the generic ide_pad_transfer() helper instead. [bart: fixup ide_cd_drain_data() -> ide_pad_transfer() conversion] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit af6765ce9f535f20e6f9975269660fe49594745a Author: Borislav Petkov Date: Wed Jul 16 20:33:45 2008 +0200 ide-cd: remove wait-for-idle-controller bit in cdrom_start_packet_command This is done in the request issue path anyway. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce30e4015954e281f682aa8d158a47885d8e1262 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:44 2008 +0200 sgiioc4: call ide_find_port_slot() later Move ide_find_port_slot() call closer to ide_device_add(). This is basically a preparation for the future changes. Cc: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit cb8ea0929c9cb899d61c4e155aace0b34d8cffe3 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:44 2008 +0200 swarm: call ide_find_port_slot() later Move ide_find_port_slot() call closer to ide_device_add(). This is basically a preparation for the future changes. Cc: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit 67717e224181527987cce800fa2ddb5c8c1e9315 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:44 2008 +0200 icside: always try to probe first interface Try to probe first interface even if ide_hwifs[]'s slot for the second interface cannot be obtained. While at it: - Add DRV_NAME define and use it for request_dma() instead of hwif->name. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 47bc7e7425d198ad1f8c4597b0bf28619fcce0fd Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:44 2008 +0200 rapide: fix rapide_probe() return value Return -ENOENT on ide_find_port() failure. While at it: - Cleanup rapide_probe() a bit. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit ff23712e791fd80f3b088d5e1c5733c0944cfe64 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:44 2008 +0200 ide: remove needless includes from setup-pci.c (take 2) v2: * sparc build fix. (From Stephen Rothwell) Signed-off-by: Bartlomiej Zolnierkiewicz commit ad15e9fc8913b704978ffdda7d1f31c79ed6814d Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:44 2008 +0200 ide: remove needless includes from ide-taskfile.c (take 2) v2: On Sunday 15 June 2008, Geert Uytterhoeven wrote: > As ide-taskfile.c uses scatterlists, it should include . (v1 broke IDE build on m68k, thanks to Geert for finding the bug) Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 61729415e64a1149d4eb36c3fac26a28728ad1d7 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:43 2008 +0200 ide: remove needless includes from ide.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 605cfe8270cb182f494575c5a608404bb19fdfc5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:43 2008 +0200 ide: remove superfluous BUG_ON() from set_geometry_intr() ide_set_handler() bugs on ->handler == NULL so no need to do it in set_geometry_intr(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 07fe69d5d0b6e476cecaf75e81c0c6093571087b Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:43 2008 +0200 ide: allow any command requesting DMA data phase for HDIO_DRIVE_TASKFILE Allow any command requesting DMA data phase for HDIO_DRIVE_TASKFILE ioctl and remove no longer needed task_dma_ok() Signed-off-by: Bartlomiej Zolnierkiewicz commit e193c3e141df4b536ed077b29c83a96768333607 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:43 2008 +0200 ide-pnp: print driver banner message early Print driver banner message early and without interface number. Signed-off-by: Bartlomiej Zolnierkiewicz commit 740c397cc64272917a4c4c283649579d2044a836 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:43 2008 +0200 ide-h8300: print driver banner message early Print driver banner message early and without interface number. Signed-off-by: Bartlomiej Zolnierkiewicz commit eb3aff5530d22eb4be0a99c9d39c9ffde7b9891a Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:42 2008 +0200 ide: print message on error in ide_find_port_slot() * Add DRV_NAME define to ide-h8300.c. * Fix ide-h8300.c, swarm.c and sgiioc4.c to set .name field in struct ide_port_info to DRV_NAME, then convert these host drivers to use ide_find_port_slot() instead of ide_find_port(). * Print message on error in ide_find_port_slot(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b60fa16ca50b0f8cb9d007faee0dff71b397fb8 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:42 2008 +0200 ide_platform: use struct ide_port_info Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f81eb80bbb949f9498980c785ef7dd4c994a4909 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:42 2008 +0200 ide-h8300: use struct ide_port_info Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a5ae1faaaf43933dee48c223b193d5e1c4b8b0c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:42 2008 +0200 rapide: use struct ide_port_info Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit b48c89a9699f451e4e236fa7313461281c00e69b Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:42 2008 +0200 cmd640: add ->init_dev method Convert the driver to use ->init_dev method instead of open-coding devices init in cmd640x_init(). While at it: - fix printk()-s to use KERN_INFO level instead of the default KERN_ERR - use DRV_NAME define in printk()-s - set proper ->pio_mask also for CONFIG_BLK_DEV_CMD640_ENHANCED=n There should be no functional changes caused by this patch (except fixing printk()-s levels). Signed-off-by: Bartlomiej Zolnierkiewicz commit e6d95bd14928926d6658b5e4ace905e8b83ed27a Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:42 2008 +0200 ide: ->port_init_devs -> ->init_dev Change ->port_init_devs method to take 'ide_drive_t *' as an argument instead of 'ide_hwif_t *' and rename it to ->init_dev. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit a698400a1556cf9f0376d1a41e536973dd5c4747 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:41 2008 +0200 cmd640: fix warm-plug support for the secondary interface Register secondary interface also when user requested not to probe devices. While at it: - remove write-only second_port_toggled variable Signed-off-by: Bartlomiej Zolnierkiewicz commit ba1d0de70d64e68f0e035f00dbb041c1e05b49c9 Author: Arnd Bergmann Date: Wed Jul 16 20:33:41 2008 +0200 powerpc/ide: remove mpc8xx-ide driver This driver was only used by arch/ppc code and is obsolete now with the move to common arch/powerpc code. [bart: port it over IDE tree, remove leftover 'choice' from Kconfig] Signed-off-by: Arnd Bergmann Acked-by: Kumar Gala Cc: Paul Mackerras Signed-off-by: Bartlomiej Zolnierkiewicz commit e48905e9cfffd21861c3521d828ae992a53aac67 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:41 2008 +0200 swarm: use struct ide_port_info Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Acked-by: Maciej W. Rozycki Tested-by: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit c1da678b5b4d8ce7836ed1ded80109d1db37efe0 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:41 2008 +0200 ide: tighten checks on PCI BARs in ide_hwif_configure() Alan has fixed PCI layer handling of PCI IDE in Compatibility mode so PCI BAR 0/1 (and/or 2/3) content reported by kernel should never be zero. Tighten checks on PCI BARs and also fix printk() message while on it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 01397012b3129147890bb116431d5a794dfc3990 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:41 2008 +0200 sgiioc4: use driver name for resource allocation Cc: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit b25afdf1336237fb0e4021eb35744e577e19bd14 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:41 2008 +0200 icside: use ide_init_port_hw() * Move ide_find_port() and default_hwif_mmiops() calls from icside_setup() to icside_register_v{5,6}(). * Convert icside_setup() to initialize hw_regs_t instead ide_hwif_t and icside_register_v{5,6}() to use ide_init_port_hw(). * Rename icside_setup() to icside_setup_ports(). There should be no functional changes caused by this patch. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 26839f09ca2d0f4239e546cd912bc9f4694f3c5e Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:40 2008 +0200 icside: don't use hwif->hwif_data * Move ecard_set_drvdata() from icside_probe() to icside_register_v{5,6}(), then use state->ioc_base instead of hwif->hwif_data in icside_maskproc() and icside_dma_test_irq(). While at it: * Add sel field to struct icside_state, then use state->{sel,ioc_base} instead of ->{select,config}_data in icside_dma_setup(). There should be no functional changes caused by this patch. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit dccdf527379dc2fe8a4efc5c75601d1d4035a750 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:40 2008 +0200 ide-cs: use struct ide_port_info Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f333f92bf9040fb63d13c184295629c7a0ff449f Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:40 2008 +0200 ide_4drives: use struct ide_port_info Convert the driver to use struct ide_port_info - as a nice side-effect this fixes hwif->channel initialization. Signed-off-by: Bartlomiej Zolnierkiewicz commit a536f326a2223c951818e199e23847c2ac5e483b Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:40 2008 +0200 au1xxx-ide: don't use hwif->hwif_data * Use &auide_hwif directly instead of using hwif->hwif_data. While at it: * No need to initialize hwif->{select,config}_data. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c56c5648a3bd15ff14c50f284b261140cd5b5472 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:40 2008 +0200 ide: set hwif->dev in ide_init_port_hw() (take 2) * Add 'parent' field to hw_regs_t for optional parent device pointer (needed by macio PMAC IDE controllers) and set hwif->dev in ide_init_port_hw(). * Update au1xxx-ide.c, sgiioc4.c, pmac.c and setup-pci.c accordingly. v2: * Update scc_pata.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 63b51c6d1d63276fd320615c042f1ff5d94ebab8 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:40 2008 +0200 ide: make ide_hwifs[] static Move ide_hwifs[] from ide.c to ide-probe.c and make it static. Signed-off-by: Bartlomiej Zolnierkiewicz commit 256c5f8eef7b9a8c8a85c15c58cda9df455f947e Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:39 2008 +0200 ide: fix hwif-s initialization * Add ide_hwifs[] entry initialization to ide_find_port_slot() and remove ide_init_port_data() calls from host drivers. * Unexport ide_init_port_data(). * Remove no longer needed init_ide_data(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ad540937554a3779c5fe7af13aa390b1d2aeb3e Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:39 2008 +0200 ide: move PIO blacklist to ide-pio-blacklist.c Move PIO blacklist to ide-pio-blacklist.c. While at it: - fix comment - fix whitespace damage There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e153cfb5e38ae237ff27a10a833946ac95db8a4 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:39 2008 +0200 ide: remove no longer used ide_pio_timings[] Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c9d6c1a2379373219bb3271bdcbdc0ab2edf349d Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:39 2008 +0200 ide: move ide_pio_cycle_time() to ide-timings.c All ide_pio_cycle_time() users already select CONFIG_IDE_TIMINGS so move the function from ide-lib.c to ide-timings.c. While at it: - convert ide_pio_cycle_time() to use ide_timing_find_mode() - cleanup ide_pio_cycle_time() a bit There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a97206e31dc2e2f8f9b4d97e234b5c701fe9894 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:38 2008 +0200 ide-pmac: convert to use ide_timing_find_mode() Also update my Copyrights while at it. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b96f7384646519da54ad50bfad8d53b915b70cb3 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:38 2008 +0200 ide-mpc8xx: convert to use ide_timing_find_mode() Also fix (disabled) debugging code while at it. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f847571a1cf845a338bcd352f31240b3615f40d Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:38 2008 +0200 sl82c105: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 713a590dea9a61e84f2837e75c5e9429d95908b5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:38 2008 +0200 cy82c693: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 86a0e12fcb590a6a84b90ae00e6d6564ce770749 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:38 2008 +0200 cmd64x: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 17b500de0ad79a306a0cd8acfe9a9f086ad28b4c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:38 2008 +0200 cmd640: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 288911af1209f5aa6119c9ec6d5a9bdb16a385b5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:37 2008 +0200 alim15x3: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2feecface7fd62be75bd4961324dc279a04bef22 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:37 2008 +0200 qd65xx: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b32b76f72df17de891181b47e714f9f897bb62a1 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:37 2008 +0200 ht6560b: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cc57ccc03d2a9b5622300f4b59fc8b54408c6e24 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:37 2008 +0200 ali14xx: convert to use ide_timing_find_mode() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f06ab3402aa2d6de060442c1053ea10b24b65076 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:37 2008 +0200 ide: convert ide-timing.h to ide-timings.c library (take 2) * Don't include ide-timing.h in cs5535 and sis5513 host drivers (they don't need it currently). * Convert ide-timing.h to ide-timings.c library and add CONFIG_IDE_TIMINGS config option to be selected by host drivers using the library. While at it: - fix ide_timing_find_mode() placement v2: * Add missing EXPORT_SYMBOLs. (Stephen Rothwell ) There should be no functional changes caused by this patch. Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 2c139e7a7152f66ff93b173f8770c94ea53a691e Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:36 2008 +0200 ide: checkpatch.pl fixes for ide-timing.h Also fix placement of comments in ide_timing_compute() while at it. There should be no functional changes caused by this patch (md5sum was verified to be the same before/after the patch). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bd887f72d2a28a8202519e67fd9ed93ee3c4e78d Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:36 2008 +0200 ide: remove XFER_* masks from ide-timing.h * Check requested xfer mode against xfer modes instead of XFER_* masks in ide_timing_compute() and cs5535.c::cs5535_set_speed(). * Remove XFER_[MODE,MWDMA,EPIO,PIO] masks. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3be53f3f213223f50d8e29b5e1869685bf040a1e Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:36 2008 +0200 ide: move some bits from ide-timing.h to Move struct ide_timing and IDE_TIMING_* defines to from drivers/ide/ide-timing.h. While at it: - use u8/u16 instead of short for struct ide_timing fields - use enum for IDE_TIMING_* There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 71d5161426c26742ba053fe93637559cbe2cea37 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:36 2008 +0200 ide: use u8 for xfer modes in ide-timing.h There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f0ffc9872e972e9d9fe8f7ae577ff046dbdba51b Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:36 2008 +0200 ide: remove unused XFER_UDMA_SLOW Remove unused XFER_UDMA_SLOW from ide_timing[]. While at it: - fix re-defining XFER_PIO_5 (no need to define it in ide-timing.h as it is defined in which is included by ) - fix whitespace damage There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e4e8d02f56f5c0cefc6713384629e068193d706a Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 16 20:33:35 2008 +0200 ide: remove needless includes from ide-lib.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 96b1dfe8fe02e35f017c885b11f0beb10ff4f316 Author: Ben Dooks Date: Fri Jun 20 20:53:35 2008 +0200 BAST: Remove old IDE driver Remove the old BAST IDE driver, as we are now using the platform-pata support. Signed-off-by: Ben Dooks Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit e5318b531b008c79d2a0c0df06a7b8628da38e2f Author: FUJITA Tomonori Date: Wed Jul 16 20:33:35 2008 +0200 ide: use the dma safe check for REQ_TYPE_ATA_PC This uses the dma safe check for REQ_TYPE_ATA_PC. The dma safe check is used for only sg requests but it should be used for other non fs commands. This uses blk_queue_update_dma_pad to make the intention clear though ide don't use the blk APIs so it doesn't change anything. Signed-off-by: FUJITA Tomonori Acked-by: 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 0b6abc17700a7843b165c677da0ac94522f83083 Author: FUJITA Tomonori Date: Wed Jul 16 20:33:35 2008 +0200 ide: avoid DMA on the stack for REQ_TYPE_ATA_PC Some REQ_TYPE_ATA_PC commands uses the stack buffers for DMA, which leads to memory corruption on a non-coherent platform. With regard to alignment and padding, ide-cd has the the dma safe check for sg requests and REQ_TYPE_ATA_PC. This adds the stack buffer check to that check. Signed-off-by: FUJITA Tomonori Acked-by: 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 84e0f3f6c1e26588fdcb9f1b0f99d0275229bc99 Author: Dimitri Gorokhovik Date: Wed Jul 16 20:33:34 2008 +0200 ide: it821x in pass-through mode segfaults in 2.6.26-stable The driver of ITE8212 in pass-through mode (it8212.noraid=1 on cmndline) attempts to use the field `.dma_host_set' of the struct ide_dma_ops in `ide_config_drive_speed' which is set to NULL by default. So give a value to all fields of the struct ide_dma_ops. Signed-off-by: Dimitri Gorokhovik Signed-off-by: Bartlomiej Zolnierkiewicz commit 33468e7637c53b5516902422d66ca3d3fe64a9c3 Author: Jean Delvare Date: Wed Jul 16 19:30:18 2008 +0200 hwmon: (w83l786ng) Convert to a new-style i2c driver The new-style w83l786ng driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Kevin Lo commit dc18a4184d6794e2e5c6f05142f3f8aaeeaee506 Author: Jean Delvare Date: Wed Jul 16 19:30:18 2008 +0200 hwmon: (w83l785ts) Convert to a new-style i2c driver The new-style w83l785ts driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit a7f13a6ec40379fe2116c647ac8e569227ba8d4f Author: Jean Delvare Date: Wed Jul 16 19:30:17 2008 +0200 hwmon: (w83793) Convert to a new-style i2c driver The new-style w83793 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 31d5d275a118527a2b9b0f68613428f176efbb8f Author: Jean Delvare Date: Wed Jul 16 19:30:17 2008 +0200 hwmon: (w83792d) Convert to a new-style i2c driver The new-style w83792d driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit cb0c1af37996f3016e34e9c709e5f727646f7207 Author: Jean Delvare Date: Wed Jul 16 19:30:17 2008 +0200 hwmon: (w83791d) Convert to a new-style i2c driver The new-style w83791d driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Marc Hulsman commit ccf37488322429bf8709f2227f3d48466add2b6b Author: Jean Delvare Date: Wed Jul 16 19:30:16 2008 +0200 hwmon: (thmc50) Convert to a new-style i2c driver The new-style thmc50 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Krzysztof Helt commit 8fb597bb6ec80d53836229bf3576c7b848b909e3 Author: Jean Delvare Date: Wed Jul 16 19:30:16 2008 +0200 hwmon: (smsc47m192) Convert to a new-style i2c driver The new-style smsc47m192 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Hartmut Rick commit 0d57abd5b87e2e82d8d2e8d5c9a3b56743ffa5ab Author: Jean Delvare Date: Wed Jul 16 19:30:16 2008 +0200 hwmon: (max6650) Convert to a new-style i2c driver The new-style max6650 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Hans J. Koch commit c6d3f6fa1b0b984991d6e2a261c7dd7f2685c7bd Author: Jean Delvare Date: Wed Jul 16 19:30:15 2008 +0200 hwmon: (max1619) Convert to a new-style i2c driver The new-style max1619 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Alexey Fisher commit 70b724063f789a443aff1e1a6f0f04d971342116 Author: Jean Delvare Date: Wed Jul 16 19:30:15 2008 +0200 hwmon: (lm93) Convert to a new-style i2c driver The new-style lm93 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Mark M. Hoffman Cc: Eric J. Bowersox Cc: Carsten Emde Cc: Hans J. Koch commit 910e8dcf16dd7afc08dc1791155cc69e07ca4183 Author: Jean Delvare Date: Wed Jul 16 19:30:15 2008 +0200 hwmon: (lm92) Convert to a new-style i2c driver The new-style lm92 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 9b0e85269275159a1f9c3e4a5d254caf5211950b Author: Jean Delvare Date: Wed Jul 16 19:30:15 2008 +0200 hwmon: (lm90) Convert to a new-style i2c driver The new-style lm90 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit a888420af07b9a26b6d518328baa913fb704e950 Author: Jean Delvare Date: Wed Jul 16 19:30:14 2008 +0200 hwmon: (lm87) Convert to a new-style i2c driver The new-style lm87 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Ben Hutchings commit b6aacdcefac8ed60e77930b6e74129da6478e20e Author: Jean Delvare Date: Wed Jul 16 19:30:14 2008 +0200 hwmon: (lm83) Convert to a new-style i2c driver The new-style lm83 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 8c8bacc883610b672d3f08dc6ebf1f17e495f5b9 Author: Jean Delvare Date: Wed Jul 16 19:30:14 2008 +0200 hwmon: (lm80) Convert to a new-style i2c driver The new-style lm80 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit a189dd62d328db7bf8ba68de6a948fdbc93dca25 Author: Jean Delvare Date: Wed Jul 16 19:30:13 2008 +0200 hwmon: (lm77) Convert to a new-style i2c driver The new-style lm77 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Andras Bali commit d5957be2f1535b1a6c77eabba0781ec7245c5dea Author: Jean Delvare Date: Wed Jul 16 19:30:13 2008 +0200 hwmon: (lm63) Convert to a new-style i2c driver The new-style lm63 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit a23a9fe1d4d725e1624635f49e9790ec32deffd0 Author: Jean Delvare Date: Wed Jul 16 19:30:13 2008 +0200 hwmon: (gl520sm) Convert to a new-style i2c driver The new-style gl520sm driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Maarten Deprez commit 95d80e7c834d8742da38e2b9d2f36dec36da03a6 Author: Jean Delvare Date: Wed Jul 16 19:30:13 2008 +0200 hwmon: (gl518sm) Convert to a new-style i2c driver The new-style gl518sm driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit b9e39b1b1b79d3e074ca79b63f548ac48c85ca98 Author: Jean Delvare Date: Wed Jul 16 19:30:12 2008 +0200 hwmon: (fscpos) Convert to a new-style i2c driver The new-style fscpos driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 40ac1994bf988dac05434f856c2a4fa24e22b2ea Author: Jean Delvare Date: Wed Jul 16 19:30:12 2008 +0200 hwmon: (fschmd) Convert to a new-style i2c driver The new-style fschmd driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Hans de Goede commit c2df1591df3ea83b4a5890a1131dd821ca07e761 Author: Jean Delvare Date: Wed Jul 16 19:30:12 2008 +0200 hwmon: (fscher) Convert to a new-style i2c driver The new-style fscher driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Reinhard Nissl commit 935ada8c4481f9591caa1b88c83127c5931a8855 Author: Jean Delvare Date: Wed Jul 16 19:30:11 2008 +0200 hwmon: (f75375s) Drop legacy i2c driver Drop the legacy f75375s i2c driver, and add a detect callback to the new-style i2c driver to achieve the same functionality. Signed-off-by: Jean Delvare Acked-by: Riku Voipio commit 70313eabfc63ce6aa89b9fa3074129e5c521568a Author: Jean Delvare Date: Wed Jul 16 19:30:11 2008 +0200 hwmon: (ds1621) Convert to a new-style i2c driver The new-style ds1621 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 71163c7c36fa76bb5a72feca7fb685677444070a Author: Jean Delvare Date: Wed Jul 16 19:30:11 2008 +0200 hwmon: (atxp1) Convert to a new-style i2c driver The new-style atxp1 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 063675b15608dfbb8404b3a19546d579bd039d02 Author: Jean Delvare Date: Wed Jul 16 19:30:11 2008 +0200 hwmon: (asb100) Convert to a new-style i2c driver The new-style asb100 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit eea54766c6e3f9850affa91061164aeb6bba44b6 Author: Jean Delvare Date: Wed Jul 16 19:30:10 2008 +0200 hwmon: (adt7473) Convert to a new-style i2c driver The new-style adt7473 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Darrick J. Wong commit 008f1ca51e4a25ee3e34b8faa901dbeefaf0081a Author: Jean Delvare Date: Wed Jul 16 19:30:10 2008 +0200 hwmon: (adt7470) Convert to a new-style i2c driver The new-style adt7470 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Darrick J. Wong commit 7347cb388e5aecffc4920bd5ea6a61e4a4690bae Author: Jean Delvare Date: Wed Jul 16 19:30:10 2008 +0200 hwmon: (ads7828) Convert to a new-style i2c driver The new-style ads7828 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 7fae8283109e155467bc1c622178d3a475cdbddf Author: Jean Delvare Date: Wed Jul 16 19:30:09 2008 +0200 hwmon: (adm9240) Convert to a new-style i2c driver The new-style adm9240 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Grant Coady commit af200f881d2cbf3ba2f4c505fa1ae5cfef36f46a Author: Jean Delvare Date: Wed Jul 16 19:30:09 2008 +0200 hwmon: (adm1031) Convert to a new-style i2c driver The new-style adm1031 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Alexandre d'Alton commit 9c97fb4d255fbf6713ee2d77dd8ed8ae770a7e49 Author: Jean Delvare Date: Wed Jul 16 19:30:09 2008 +0200 hwmon: (adm1029) Convert to a new-style i2c driver The new-style adm1029 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare Cc: Corentin Labbe commit 57f7eb0bcb2316dc264cd26f38b33dd2cf3151c1 Author: Jean Delvare Date: Wed Jul 16 19:30:08 2008 +0200 hwmon: (adm1026) Convert to a new-style i2c driver The new-style adm1026 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 7dbafe021ba360bf25674a7e290d3e4a5c953981 Author: Jean Delvare Date: Wed Jul 16 19:30:08 2008 +0200 hwmon: (adm1025) Convert to a new-style i2c driver The new-style adm1025 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 65817ed8d1376afff21019b5c0e0109e5a7d9cc0 Author: Jean Delvare Date: Wed Jul 16 19:30:08 2008 +0200 hwmon: (adm1021) Convert to a new-style i2c driver The new-style adm1021 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 369932f6f840aedfbc717dd156bba7668a11d916 Author: Jean Delvare Date: Wed Jul 16 19:30:08 2008 +0200 hwmon: (ad7418) Convert to a new-style i2c driver The ad7418 driver is only used on embedded platforms where i2c devices can easily be declared in platform code. Thus a new-style i2c driver makes perfect sense. This lets us get rid of quirky detection code (these chips have no identification registers) and shrinks the binary driver size by 38%. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 61c91f7ded640bb2b340cc89d9ca3a3ca0229c74 Author: Jean Delvare Date: Wed Jul 16 19:30:07 2008 +0200 w1/ds2482: Convert to a new-style driver The new-style ds2482 driver implements the optional detect() callback to cover the use cases of the legacy driver. I'm curious if anyone really needs this though, so it might be removed in the feature. Signed-off-by: Jean Delvare commit bd8d421f7ca9f8da3d820d28379d796500f69529 Author: Jean Delvare Date: Wed Jul 16 19:30:07 2008 +0200 i2c: Convert the max6875 driver to a new-style i2c driver The new-style max6875 driver implements the optional detect() callback to cover the use cases of the legacy driver. I'm curious if anyone really needs this though, so it might be removed in the feature. Signed-off-by: Jean Delvare commit 3d63430a26b91fe3daee0dd933f899c225e66daa Author: Jean Delvare Date: Wed Jul 16 19:30:07 2008 +0200 i2c: Convert the pca9539 driver to a new-style i2c driver The new-style pca9539 driver implements the optional detect() callback to cover the use cases of the legacy driver. Warning: users will now have to use the force module parameter to get the driver to attach to their device. That's not a bad thing as these devices can't be detected anyway. Note that this doesn't change the fact that this driver is deprecated in favor of gpio/pca953x. Signed-off-by: Jean Delvare commit 97addff6def3f8e228a634fa017589f45c69de5c Author: Jean Delvare Date: Wed Jul 16 19:30:06 2008 +0200 i2c: Convert the pcf8575 driver to a new-style i2c driver The new-style pcf8575 driver implements the optional detect() callback to cover the use cases of the legacy driver. Warning: users will now have to use the force module parameter to get the driver to attach to their device. That's not a bad thing as these devices can't be detected anyway. Note that this doesn't change the fact that this driver is deprecated in favor of gpio/pcf857x. Signed-off-by: Jean Delvare commit 833bedb813689807385ae73175389c73a3f855c1 Author: Jean Delvare Date: Wed Jul 16 19:30:06 2008 +0200 i2c: Convert the pcf8574 driver to a new-style i2c driver The new-style pcf8574 driver implements the optional detect() callback to cover the use cases of the legacy driver. Warning: users will now have to use the force module parameter to get the driver to attach to their device. That's not a bad thing as these devices can't be detected anyway. Note that this doesn't change the fact that this driver is deprecated in favor of gpio/pcf857x. Signed-off-by: Jean Delvare commit 8b77e6ac4911a79993e583ece719736a9e035b1d Author: Jean Delvare Date: Wed Jul 16 19:30:06 2008 +0200 i2c: Convert the pcf8591 driver to a new-style i2c driver The new-style pcf8591 driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit 68be3363740e4ac3b4309faebcdf8fe5bf62ed2f Author: Jean Delvare Date: Wed Jul 16 19:30:05 2008 +0200 i2c: Convert the eeprom driver to a new-style i2c driver The new-style eeprom driver implements the optional detect() callback to cover the use cases of the legacy driver. Signed-off-by: Jean Delvare commit bd4bc3dbded9cd7b2bdca6bba1aecb4251a8039d Author: Jean Delvare Date: Wed Jul 16 19:30:05 2008 +0200 i2c: Clear i2c_adapter.dev on adapter removal Clear i2c_adapter.dev on adapter removal. This makes it possible to re-add the adapter at a later point, which some drivers (i2c-amd756-s4882, i2c-nforce2-s4985) actually do. This fixes a bug reported by John Stultz here: http://lkml.org/lkml/2008/7/15/720 and by Ingo Molar there: http://lkml.org/lkml/2008/7/16/78 Signed-off-by: Jean Delvare Cc: John Stultz Cc: Ingo Molnar commit e22146e610bb7aed63282148740ab1d1b91e1d90 Author: Jack Steiner Date: Wed Jul 16 11:11:59 2008 -0500 x86: fix kernel_physical_mapping_init() for large x86 systems Fix bug in kernel_physical_mapping_init() that causes kernel page table to be built incorrectly for systems with greater than 512GB of memory. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Signed-off-by: Ingo Molnar commit 9fce1bc956c21dfe0f46be028f18c4d5057f2bd7 Author: Ming Lei Date: Wed Jul 16 22:54:30 2008 +0800 PCI: remove unnecessary volatile in PCIe hotplug struct controller Proper memory barriers have been added to order accesses to ->cmd_busy, so volatile declaration for cmd_busy can be removed. Signed-off-by: Ming Lei Signed-off-by: Jesse Barnes commit d25dc7fd4740decf4c66e2f17dbaa288448fabd5 Author: David Woodhouse Date: Tue Jul 15 22:54:04 2008 -0700 Fix 'make clean' and .gitignore for firmware/ directory. Provide a .gitignore file, and fix a typo which prevented some of the generated binary files from being removed on 'make clean'. Signed-off-by: David Woodhouse Reported-and-tested-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 77e442461c74068217b59b356cf18992c78ed896 Merge: d54191b... 4515889... Author: Ingo Molnar Date: Wed Jul 16 13:11:29 2008 +0200 Merge branch 'linus' into x86/kprobes commit e785d3d8fb5fab744d67fac9966229bcdc52db45 Author: Takashi Iwai Date: Tue Jul 15 16:28:43 2008 +0200 ALSA: hda - Align BDL position adjustment parameter It seems NVidia and other hardwares require the alignment for period update timing. For satisfying this condition, align the position adjustment for delayed wake-up to the initial bdl_pos_adj value. Signed-off-by: Takashi Iwai commit 34646bca474142e1424e5f6c4a33cb2ba0930ea1 Author: Ingo Molnar Date: Wed Jul 9 15:42:09 2008 +0200 x86, paravirt-spinlocks: fix boot hang the paravirt-spinlock patches caused a boot hang with this config: http://redhat.com/~mingo/misc/config-Wed_Jul__9_14_47_04_CEST_2008.bad i have bisected it down to: | commit e17b58c2e85bc2ad2afc07fb8d898017c2b75ed1 | Author: Jeremy Fitzhardinge | Date: Mon Jul 7 12:07:53 2008 -0700 | | xen: implement Xen-specific spinlocks i.e. applying that patch alone causes the hang. The hang happens in the ftrace self-test: initcall utsname_sysctl_init+0x0/0x19 returned 0 after 0 msecs calling init_sched_switch_trace+0x0/0x4c Testing tracer sched_switch: PASSED initcall init_sched_switch_trace+0x0/0x4c returned 0 after 167 msecs calling init_function_trace+0x0/0x12 Testing tracer ftrace: [hard hang] it should have continued like this: Testing tracer ftrace: PASSED initcall init_function_trace+0x0/0x12 returned 0 after 198 msecs calling init_irqsoff_tracer+0x0/0x14 Testing tracer irqsoff: PASSED initcall init_irqsoff_tracer+0x0/0x14 returned 0 after 3 msecs calling init_mmio_trace+0x0/0x12 initcall init_mmio_trace+0x0/0x12 returned 0 after 0 msecs the problem is that such lowlevel primitives as spinlocks should never be built with -pg (which ftrace does). Marking paravirt.o as non-pg and marking all spinlock ops as always-inline solve the hang. Signed-off-by: Ingo Molnar commit 9af98578d6af588f52d0dacd64fe42caa405a327 Author: Ingo Molnar Date: Wed Jul 9 14:39:15 2008 +0200 x86: paravirt spinlocks, modular build fix fix: MODPOST 408 modules ERROR: "pv_lock_ops" [net/dccp/dccp.ko] undefined! ERROR: "pv_lock_ops" [fs/jbd2/jbd2.ko] undefined! ERROR: "pv_lock_ops" [drivers/media/common/saa7146_vv.ko] undefined! Signed-off-by: Ingo Molnar commit 4bb689eee12ceb6d669a0c9a519037c049a8af38 Author: Ingo Molnar Date: Wed Jul 9 14:33:33 2008 +0200 x86: paravirt spinlocks, !CONFIG_SMP build fixes Signed-off-by: Ingo Molnar commit 2d9e1e2f58b5612aa4eab0ab54c84308a29dbd79 Author: Jeremy Fitzhardinge Date: Mon Jul 7 12:07:53 2008 -0700 xen: implement Xen-specific spinlocks The standard ticket spinlocks are very expensive in a virtual environment, because their performance depends on Xen's scheduler giving vcpus time in the order that they're supposed to take the spinlock. This implements a Xen-specific spinlock, which should be much more efficient. The fast-path is essentially the old Linux-x86 locks, using a single lock byte. The locker decrements the byte; if the result is 0, then they have the lock. If the lock is negative, then locker must spin until the lock is positive again. When there's contention, the locker spin for 2^16[*] iterations waiting to get the lock. If it fails to get the lock in that time, it adds itself to the contention count in the lock and blocks on a per-cpu event channel. When unlocking the spinlock, the locker looks to see if there's anyone blocked waiting for the lock by checking for a non-zero waiter count. If there's a waiter, it traverses the per-cpu "lock_spinners" variable, which contains which lock each CPU is waiting on. It picks one CPU waiting on the lock and sends it an event to wake it up. This allows efficient fast-path spinlock operation, while allowing spinning vcpus to give up their processor time while waiting for a contended lock. [*] 2^16 iterations is threshold at which 98% locks have been taken according to Thomas Friebel's Xen Summit talk "Preventing Guests from Spinning Around". Therefore, we'd expect the lock and unlock slow paths will only be entered 2% of the time. Signed-off-by: Jeremy Fitzhardinge Cc: Jens Axboe Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Petr Tesarik Cc: Virtualization Cc: Xen devel Cc: Thomas Friebel Cc: Nick Piggin Signed-off-by: Ingo Molnar commit 56397f8dadb40055479a8ffff23f21a890098a31 Author: Jeremy Fitzhardinge Date: Mon Jul 7 12:07:52 2008 -0700 xen: use lock-byte spinlock implementation Switch to using the lock-byte spinlock implementation, to avoid the worst of the performance hit from ticket locks. Signed-off-by: Jeremy Fitzhardinge Cc: Jens Axboe Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Petr Tesarik Cc: Virtualization Cc: Xen devel Cc: Thomas Friebel Signed-off-by: Ingo Molnar commit 8efcbab674de2bee45a2e4cdf97de16b8e609ac8 Author: Jeremy Fitzhardinge Date: Mon Jul 7 12:07:51 2008 -0700 paravirt: introduce a "lock-byte" spinlock implementation Implement a version of the old spinlock algorithm, in which everyone spins waiting for a lock byte. In order to be compatible with the ticket-lock's use of a zero initializer, this uses the convention of '0' for unlocked and '1' for locked. This algorithm is much better than ticket locks in a virtual envionment, because it doesn't interact badly with the vcpu scheduler. If there are multiple vcpus spinning on a lock and the lock is released, the next vcpu to be scheduled will take the lock, rather than cycling around until the next ticketed vcpu gets it. To use this, you must call paravirt_use_bytelocks() very early, before any spinlocks have been taken. Signed-off-by: Jeremy Fitzhardinge Cc: Jens Axboe Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Petr Tesarik Cc: Virtualization Cc: Xen devel Cc: Thomas Friebel Cc: Nick Piggin Signed-off-by: Ingo Molnar commit 74d4affde8feb8d5bdebf7fba8e90e4eae3b7b1d Author: Jeremy Fitzhardinge Date: Mon Jul 7 12:07:50 2008 -0700 x86/paravirt: add hooks for spinlock operations Ticket spinlocks have absolutely ghastly worst-case performance characteristics in a virtual environment. If there is any contention for physical CPUs (ie, there are more runnable vcpus than cpus), then ticket locks can cause the system to end up spending 90+% of its time spinning. The problem is that (v)cpus waiting on a ticket spinlock will be granted access to the lock in strict order they got their tickets. If the hypervisor scheduler doesn't give the vcpus time in that order, they will burn timeslices waiting for the scheduler to give the right vcpu some time. In the worst case it could take O(n^2) vcpu scheduler timeslices for everyone waiting on the lock to get it, not counting new cpus trying to take the lock while the log-jam is sorted out. These hooks allow a paravirt backend to replace the spinlock implementation. At the very least, this could revert the implementation back to the old lock algorithm, which allows the next scheduled vcpu to take the lock, and has basically fairly good performance. It also allows the spinlocks to take advantages of the hypervisor features to make locks more efficient (spin and block, for example). The cost to native execution is an extra direct call when using a spinlock function. There's no overhead if CONFIG_PARAVIRT is turned off. The lock structure is fixed at a single "unsigned int", initialized to zero, but the spinlock implementation can use it as it wishes. Thanks to Thomas Friebel's Xen Summit talk "Preventing Guests from Spinning Around" for pointing out this problem. Signed-off-by: Jeremy Fitzhardinge Cc: Jens Axboe Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Petr Tesarik Cc: Virtualization Cc: Xen devel Cc: Thomas Friebel Cc: Nick Piggin Signed-off-by: Ingo Molnar commit 094029479be8eb380447f42eff1b35362ef1a464 Author: Jeremy Fitzhardinge Date: Sat Jul 12 02:22:12 2008 -0700 x86_64: adjust exception frame on paranoid exceptions Exceptions using paranoidentry need to have their exception frames adjusted explicitly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit d5303b811b9d6dad2e7396d545eb7db414d42a61 Author: Jeremy Fitzhardinge Date: Sat Jul 12 02:22:06 2008 -0700 x86: xen: no need to disable vdso32 Now that the vdso32 code can cope with both syscall and sysenter missing for 32-bit compat processes, just disable the features without disabling vdso altogether. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 6a52e4b1cddd90fbfde8fb67021657936ee74b07 Author: Jeremy Fitzhardinge Date: Sat Jul 12 02:22:00 2008 -0700 x86_64: further cleanup of 32-bit compat syscall mechanisms AMD only supports "syscall" from 32-bit compat usermode. Intel and Centaur(?) only support "sysenter" from 32-bit compat usermode. Set the X86 feature bits accordingly, and set up the vdso in accordance with those bits. On the offchance we run on in a 64-bit environment which supports neither syscall nor sysenter from 32-bit mode, then fall back to the int $0x80 vdso. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 71415c6a0877d5944d5dc3060f3b03513746158d Author: Ingo Molnar Date: Fri Jul 11 22:41:34 2008 +0200 x86, xen, vdso: fix build error fix: arch/x86/xen/built-in.o: In function `xen_enable_syscall': (.cpuinit.text+0xdb): undefined reference to `sysctl_vsyscall32' Signed-off-by: Ingo Molnar commit 62541c376668042e20122864a044360707b2fb82 Author: Jeremy Fitzhardinge Date: Thu Jul 10 16:24:08 2008 -0700 xen64: disable 32-bit syscall/sysenter if not supported. Old versions of Xen (3.1 and before) don't support sysenter or syscall from 32-bit compat userspaces. If we can't set the appropriate syscall callback, then disable the corresponding feature bit, which will cause the vdso32 setup to fall back appropriately. Linux assumes that syscall is always available to 32-bit userspace, and installs it by default if sysenter isn't available. In that case, we just disable vdso altogether, forcing userspace libc to fall back to int $0x80. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 6596f2422306a05be2170efc114da49f26a047dd Author: Ingo Molnar Date: Wed Jul 9 22:32:33 2008 +0200 Revert "x86_64: there's no need to preallocate level1_fixmap_pgt" This reverts commit 033786969d1d1b5af12a32a19d3a760314d05329. Suresh Siddha reported that this broke booting on his 2GB testbox. Reported-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 1a8caeebe3689ad4ef67d7ff5d4143f7748deedd Author: Mike Frysinger Date: Wed Jul 16 17:07:26 2008 +0800 Blackfin arch: use local labels and ENDPROC() markings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7dee62ac5a3e3f5aa7cc5069fa2d32cec5117229 Author: Yi Li Date: Sat Jul 19 20:53:46 2008 +0800 Blackfin arch: Do not need this dualcore test module in kernel. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit 6717ef1aa750b54ddb9d8854b91707ee21f0ad23 Author: Ingo Molnar Date: Wed Jul 9 22:17:01 2008 +0200 Revert "suspend, xen: enable PM_SLEEP for CONFIG_XEN" This reverts commit 6fbbec428c8e7bb617da2e8a589af2e97bcf3bc4. Rafael doesnt like it - it breaks various assumptions. Signed-off-by: Ingo Molnar commit b3fe124389f9dd97f0bbd954da2910e286648f0f Author: Ingo Molnar Date: Wed Jul 9 13:45:33 2008 +0200 xen64: fix build error on 32-bit + !HIGHMEM fix: arch/x86/xen/enlighten.c: In function 'xen_set_fixmap': arch/x86/xen/enlighten.c:1127: error: 'FIX_KMAP_BEGIN' undeclared (first use in this function) arch/x86/xen/enlighten.c:1127: error: (Each undeclared identifier is reported only once arch/x86/xen/enlighten.c:1127: error: for each function it appears in.) arch/x86/xen/enlighten.c:1127: error: 'FIX_KMAP_END' undeclared (first use in this function) make[1]: *** [arch/x86/xen/enlighten.o] Error 1 make: *** [arch/x86/xen/enlighten.o] Error 2 FIX_KMAP_BEGIN is only available on HIGHMEM. Signed-off-by: Ingo Molnar commit 9c8a4420444801bd9d818f542eb4a5be8d5687f0 Author: Ingo Molnar Date: Wed Jul 9 13:15:03 2008 +0200 xen64: fix !HVC_XEN build dependency fix: arch/x86/xen/built-in.o: In function `set_page_prot': enlighten.c:(.text+0x111d): undefined reference to `xen_raw_printk' arch/x86/xen/built-in.o: In function `xen_start_kernel': : undefined reference to `xen_raw_console_write' arch/x86/xen/built-in.o: In function `xen_start_kernel': : undefined reference to `xen_raw_console_write' Signed-off-by: Ingo Molnar commit 51dd660a2cd6eab4d470cfe1009c7f473832b786 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:17 2008 -0700 xen: update Kconfig to allow 64-bit Xen Allow Xen to be enabled on 64-bit. Also extend domain size limit from 8 GB (on 32-bit) to 32 GB on 64-bit. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 1153968a48e3ca3e2b7a437e8b82ec9e6f768e24 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:16 2008 -0700 xen: implement Xen write_msr operation 64-bit uses MSRs for important things like the base for fs and gs-prefixed addresses. It's more efficient to use a hypercall to update these, rather than go via the trap and emulate path. Other MSR writes are just passed through; in an unprivileged domain they do nothing, but it might be useful later. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit bf18bf94dc72db998d0fbebc846c07c858a59c90 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:15 2008 -0700 xen64: set up userspace syscall patch 64-bit userspace expects the vdso to be mapped at a specific fixed address, which happens to be in the middle of the kernel address space. Because we have split user and kernel pagetables, we need to make special arrangements for the vsyscall mapping to appear in the kernel part of the user pagetable. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 6fcac6d305e8238939e169f4c52e8ec8a552a31f Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:14 2008 -0700 xen64: set up syscall and sysenter entrypoints for 64-bit We set up entrypoints for syscall and sysenter. sysenter is only used for 32-bit compat processes, whereas syscall can be used in by both 32 and 64-bit processes. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d6182fbf04164016cb6540db02eef3d6bdc967c3 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:13 2008 -0700 xen64: allocate and manage user pagetables Because the x86_64 architecture does not enforce segment limits, Xen cannot protect itself with them as it does in 32-bit mode. Therefore, to protect itself, it runs the guest kernel in ring 3. Since it also runs the guest userspace in ring3, the guest kernel must maintain a second pagetable for its userspace, which does not map kernel space. Naturally, the guest kernel pagetables map both kernel and userspace. The userspace pagetable is attached to the corresponding kernel pagetable via the pgd's page->private field. It is allocated and freed at the same time as the kernel pgd via the paravirt_pgd_alloc/free hooks. Fortunately, the user pagetable is almost entirely shared with the kernel pagetable; the only difference is the pgd page itself. set_pgd will populate all entries in the kernel pagetable, and also set the corresponding user pgd entry if the address is less than STACK_TOP_MAX. The user pagetable must be pinned and unpinned with the kernel one, but because the pagetables are aliased, pgd_walk() only needs to be called on the kernel pagetable. The user pgd page is then pinned/unpinned along with the kernel pgd page. xen_write_cr3 must write both the kernel and user cr3s. The init_mm.pgd pagetable never has a user pagetable allocated for it, because it can never be used while running usermode. One awkward area is that early in boot the page structures are not available. No user pagetable can exist at that point, but it complicates the logic to avoid looking at the page structure. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit c24481e9da2c7bc8aafab46e0bc64821244a24a6 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:12 2008 -0700 xen64: save lots of registers The Xen hypercall interface is allowed to trash any or all of the argument registers, so we need to be careful that the kernel state isn't damaged. On 32-bit kernels, the hypercall parameter registers same as a regparm function call, so we've got away without explicit clobbering so far. The 64-bit ABI defines lots of caller-save registers, so save them all for safety. We can trim this set later by re-distributing the responsibility for saving all these registers. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit c05f1cfaba846dfbd4a67e348087d32326288fe0 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:11 2008 -0700 xen64: implement 64-bit update_descriptor 64-bit hypercall interface can pass a maddr in one argument rather than splitting it. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8a95408e183b3e4aaf3b6a66fa34bff4db53011b Author: Eduardo Habkost Date: Tue Jul 8 15:07:10 2008 -0700 xen64: Clear %fs on xen_load_tls() We need to do this, otherwise we can get a GPF on hypercall return after TLS descriptor is cleared but %fs is still pointing to it. Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4a5c3e77f70b3ea8b361d7fa9eb2e4dad18f70ae Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:09 2008 -0700 xen64: implement failsafe callback Implement the failsafe callback, so that iret and segment register load exceptions are reported to the kernel. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 0775b3dbcb6d17b531b36df520ddab735647f3f7 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:08 2008 -0700 suspend, xen: enable PM_SLEEP for CONFIG_XEN Xen save/restore requires PM_SLEEP to be set without requiring SUSPEND or HIBERNATION. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit b7c3c5c15936a40c79ef40af7b3bac801c7feb20 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:07 2008 -0700 xen: make sure the kernel command line is right Point the boot params cmd_line_ptr to the domain-builder-provided command line. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 5deb30d194d28b6bf7dacfb758267a51bf7c5b78 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:06 2008 -0700 xen: rework pgd_walk to deal with 32/64 bit Rewrite pgd_walk to deal with 64-bit address spaces. There are two notible features of 64-bit workspaces: 1. The physical address is only 48 bits wide, with the upper 16 bits being sign extension; kernel addresses are negative, and userspace is positive. 2. The Xen hypervisor mapping is at the negative-most address, just above the sign-extension hole. 1. means that we can't easily use addresses when traversing the space, since we must deal with sign extension. This rewrite expresses everything in terms of pgd/pud/pmd indices, which means we don't need to worry about the exact configuration of the virtual memory space. This approach works equally well in 32-bit. To deal with 2, assume the hole is between the uppermost userspace address and PAGE_OFFSET. For 64-bit this skips the Xen mapping hole. For 32-bit, the hole is zero-sized. In all cases, the uppermost kernel address is FIXADDR_TOP. A side-effect of this patch is that the upper boundary is actually handled properly, exposing a long-standing bug in 32-bit, which failed to pin kernel pmd page. The kernel pmd is not shared, and so must be explicitly pinned, even though the kernel ptes are shared and don't need pinning. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a8fc1089e49caa5dca346dfacb5c84abf9a22a0c Author: Eduardo Habkost Date: Tue Jul 8 15:07:05 2008 -0700 xen64: implement xen_load_gs_index() xen-64: implement xen_load_gs_index() Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 45eb0d889862c813dfc98c95549c25acbfc99ab8 Author: Eduardo Habkost Date: Tue Jul 8 15:07:04 2008 -0700 Xen64: HYPERVISOR_set_segment_base() implementation Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 0725cbb97793d4e65bf148e4872959cdbb8c6ddd Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:03 2008 -0700 xen64: add identity irq->vector map The x86_64 interrupt subsystem is oriented towards vectors, as opposed to a flat irq space as it is in x86-32. This patch adds a simple identity irq->vector mapping so that we can continue to feed irqs into do_IRQ() and get a good result. Ideally x86_32 will unify with the 64-bit code and use vectors too. At that point we can move to mapping event channels to vectors, which will allow us to economise on irqs (so per-cpu event channels can share irqs, rather than having to allocte one per cpu, for example). Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 88459d4c7eb68c4a15609e00e5d100e2a305f040 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:02 2008 -0700 xen64: register callbacks in arch-independent way Use callback_op hypercall to register callbacks in a 32/64-bit independent way (64-bit doesn't need a code segment, but that detail is hidden in XEN_CALLBACK). Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 952d1d7055c8cbf95b4ad2f90be5ed37db8a48ee Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:01 2008 -0700 xen64: add pvop for swapgs swapgs is a no-op under Xen, because the hypervisor makes sure the right version of %gs is current when switching between user and kernel modes. This means that the swapgs "implementation" can be inlined and used when the stack is unsafe (usermode). Unfortunately, it means that disabling patching will result in a non-booting kernel... Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 997409d3d0bd6894f33e31ced251c0fdf523aa14 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:07:00 2008 -0700 xen64: deal with extra words Xen pushes onto exception frames Xen pushes two extra words containing the values of rcx and r11. This pvop hook copies the words back into their appropriate registers, and cleans them off the stack. This leaves the stack in native form, so the normal handler can run unchanged. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit e176d367d0cc8b8efd2e0960c9edf5d2fe7cd9f1 Author: Eduardo Habkost Date: Tue Jul 8 15:06:59 2008 -0700 xen64: xen_write_idt_entry() and cvt_gate_to_trap() Changed to use the (to-be-)unified descriptor structs. Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 836fe2f291cb450a6193fa713878efe7d32bec6e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:58 2008 -0700 xen: use set_pte_vaddr Make Xen's set_pte_mfn() use set_pte_vaddr rather than copying it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Juan Quintela Signed-off-by: Mark McLoughlin Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8745f8b0b914cf1d617ecc49726c24011858c74e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:57 2008 -0700 xen64: defer setting pagetable alloc/release ops We need to wait until the page structure is available to use the proper pagetable page alloc/release operations, since they use struct page to determine if a pagetable is pinned. This happened to work in 32bit because nobody allocated new pagetable pages in the interim between xen_pagetable_setup_done and xen_post_allocator_init, but the 64-bit kenrel needs to allocate more pagetable levels. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4560a2947e32670fc6ede108c2b032c396180649 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:56 2008 -0700 xen: set num_processors Someone's got to do it. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ce803e705f1cbdd2703e83061622089b5b4a5417 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:55 2008 -0700 xen64: use arbitrary_virt_to_machine for xen_set_pmd When building initial pagetables in 64-bit kernel the pud/pmd pointer may be in ioremap/fixmap space, so we need to walk the pagetable to look up the physical address. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ebd879e397f6361727c36267a12d1650710e465a Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:54 2008 -0700 xen: fix truncation of machine address arbitrary_virt_to_machine can truncate a machine address if its above 4G. Cast the problem away. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 39dbc5bd345ebf93e066dde7f8e29467eb61b42e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:53 2008 -0700 xen32: create initial mappings like 64-bit Rearrange the pagetable initialization to share code with the 64-bit kernel. Rather than deferring anything to pagetable_setup_start, just set up an initial pagetable in swapper_pg_dir early at startup, and create an additional 8MB of physical memory mappings. This matches the native head_32.S mappings to a large degree, and allows the rest of the pagetable setup to continue without much Xen vs. native difference. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d114e1981cc1a51131230993a082c27c79ab370a Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:52 2008 -0700 xen64: map an initial chunk of physical memory Early in boot, map a chunk of extra physical memory for use later on. We need a pool of mapped pages to allocate further pages to construct pagetables mapping all physical memory. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 22911b3f1cf5431058e56b1727e8ef77be5e0ac9 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:51 2008 -0700 xen64: 64-bit starts using set_pte from very early It also doesn't need the 32-bit hack version of set_pte for initial pagetable construction, so just make it use the real thing. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 084a2a4e7656209ea93aac9778defa03213ca31d Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:50 2008 -0700 xen64: early mapping setup Set up the initial pagetables to map the kernel mapping into the physical mapping space. This makes __va() usable, since it requires physical mappings. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 3d75e1b8ef1567348ceba93d4666a1c7c2333583 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:49 2008 -0700 xen64: add hypervisor callbacks for events, etc Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 7d087b68d6ddb2398fb7f6e45990b7248de640ef Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:48 2008 -0700 xen: cpu_detect is 32-bit only Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 15664f968a95d8fbf4a0d7b462fcc20f88906bb3 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:47 2008 -0700 xen64: use set_fixmap for shared_info structure Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit cdacc1278b12d929f9a053c245ff3d16eb7af9f8 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:46 2008 -0700 xen64: add 64-bit assembler Split xen-asm into 32- and 64-bit files, and implement the 64-bit variants. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 555cf2b5805a213ba262a2830c4d22ad635a249e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:45 2008 -0700 xen64: add asm-offsets Add Xen vcpu_info offsets to asm-offsets_64. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8c5e5ac32fe08793246709fbb94c055ec76a7c0e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:44 2008 -0700 xen64: add xen-head code to head_64.S Add the Xen entrypoint and ELF notes to head_64.S. Adapts xen-head.S to compile either 32-bit or 64-bit. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit c7b75947f89d45493562ede6d9ee7311dfa5c4ce Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:43 2008 -0700 xen64: smp.c compile hacking A number of random changes to make xen/smp.c compile in 64-bit mode. Signed-off-by: Jeremy Fitzhardinge a Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 5b09b2876ed1a8e34a0da8f069575fc6174e2077 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:42 2008 -0700 x86_64: add workaround for no %gs-based percpu As a stopgap until Mike Travis's x86-64 gs-based percpu patches are ready, provide workaround functions for x86_read/write_percpu for Xen's use. Specifically, this means that we can't really make use of vcpu placement, because we can't use a single gs-based memory access to get to vcpu fields. So disable all that for now. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a9e7062d7339f1a1df2b6d7e5d595c7d55b56bfb Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:41 2008 -0700 xen: move smp setup into smp.c Move all the smp_ops setup into smp.c, allowing a lot of things to become static. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ce87b3d326de733c72b47662f106ee6cd699a20f Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:40 2008 -0700 xen64: get active_mm from the pda x86_64 stores the active_mm in the pda, so fetch it from there. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit f5d36de069f4b343f64e858e7377cfc9c772c4fb Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:39 2008 -0700 xen64: random ifdefs to mask out 32-bit only code Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit f6e587325b3bc7e5c829a407ddc25b52c1e73851 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:38 2008 -0700 xen64: add extra pv_mmu_ops We need extra pv_mmu_ops for 64-bit, to deal with the extra level of pagetable. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit e74359028d5489a281fb2c379a47b1d3cb14526e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:37 2008 -0700 xen64: fix calls into hypercall page The 64-bit calling convention for hypercalls uses different registers from 32-bit. Annoyingly, gcc's asm syntax doesn't have a way to specify one of the extra numeric reigisters in a constraint, so we must use explicitly placed register variables. Given that we have to do it for some args, may as well do it for all. Also fix syntax gcc generates for the call instruction itself. We need a plain direct call, but the asm expansion which works on 32-bit generates a rip-relative addressing mode in 64-bit, which is treated as an indirect call. The alternative is to pass the hypercall page offset into the asm, and have it add it to the hypercall page start address to generate the call. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ca15f20f1126f897500ade892a2d598a08da1b56 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:36 2008 -0700 xen: fix 64-bit hypercall variants 64-bit guests can pass 64-bit quantities in a single argument, so fix up the hypercalls. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 7077c33d81a8d790135ae87cd19e6efcb075c23a Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:35 2008 -0700 xen: make ELF notes work for 32 and 64 bit Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 48b5db20621388582ca11ac3c61d3403966dbe51 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:34 2008 -0700 xen64: define asm/xen/interface for 64-bit Copy 64-bit definitions of various interface structures into place. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 851fa3c4e7b50d6a946d8b4c0a68683b5e56b2f1 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:33 2008 -0700 xen: define set_pte from the outset We need set_pte to work from a relatively early point, so enable it from the start. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ad55db9fed6d6cd09333045945cb03ba2c070085 Author: Isaku Yamahata Date: Tue Jul 8 15:06:32 2008 -0700 xen: add xen_arch_resume()/xen_timer_resume hook for ia64 support add xen_timer_resume() hook. Timer resume should be done after event channel is resumed. add xen_arch_resume() hook when ipi becomes usable after resume. After resume, some cpu specific resource must be reinitialized on ia64 that can't be set by another cpu. However available hooks is run once on only one cpu so that ipi has to be used. During stop_machine_run() ipi can't be used because interrupt is masked. So add another hook after stop_machine_run(). Another approach might be use resume hook which is run by device_resume(). However device_resume() may be executed on suspend error recovery path. So it is necessary to determine whether it is executed on real resume path or error recovery path. Signed-off-by: Isaku Yamahata Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 1ffb40b8ecdf314edd88dc5550d6bcbebf29970b Author: Isaku Yamahata Date: Tue Jul 8 15:06:31 2008 -0700 xen-netfront: fix xennet_release_tx_bufs() After restore on ia64 xen domain, kernel panics as follows. This patch fixes it. union skb_entry assumes sizeof(link->skb, pointer) == sizeof(list->link, unsigned). However this isn't true on ia64. So make link type unsigned long. And introduced two accesor. kernel unaligned access to 0xe0000000000000bd, ip=0xa0000001004c2ca0 xenwatch[14]: error during unaligned kernel access -1 [1] Modules linked in: Pid: 14, CPU 0, comm: xenwatch psr : 0000101008422010 ifs : 8000000000000307 ip : [] Not tainted (2.6.26-rc4xen-ia64-dirty) ip is at dev_kfree_skb_irq+0x20/0x1a0 unat: 0000000000000000 pfs : 400000000000040b rsc : 0000000000000007 rnat: 0000000000000000 bsps: 0000000000000000 pr : 000000000000a941 ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c8a70433f csd : 0000000000000000 ssd : 0000000000000000 b0 : a0000001003efb70 b6 : a000000100070e40 b7 : a000000100070e40 f6 : 1003e000000fcb75352b1 f7 : 1003e000000000014ff97 f8 : 1003e00fcb74fc3454d80 f9 : 1003e0000000080000000 f10 : 1003e0000000000001431 f11 : 1003e0000000000989680 r1 : a000000100bfcf80 r2 : e0000000000000bd r3 : 000000000000308c r8 : 0000000000000000 r9 : e00000000fc31310 r10 : a000000100a13b28 r11 : 0000000000000000 r12 : e00000000fd0fdf0 r13 : e00000000fd08000 r14 : 0000000000000000 r15 : e00000000fcc8000 r16 : 0000000000000009 r17 : e000010000104000 r18 : e000010000104000 r19 : a000000100a13b40 r20 : a0000001009c23f0 r21 : a0000001009fd4d0 r22 : 0000000000004000 r23 : 0000000000000000 r24 : fffffffffff04c10 r25 : 0000000000000002 r26 : 0000000000000000 r27 : 0000000000000000 r28 : e00000000fd08bd4 r29 : a0000001007570b8 r30 : a0000001009e5500 r31 : a0000001009e54a0 Call Trace: [] show_stack+0x40/0xa0 sp=e00000000fd0f670 bsp=e00000000fd08f68 [] show_regs+0x9a0/0x9e0 sp=e00000000fd0f840 bsp=e00000000fd08f10 [] die+0x260/0x3a0 sp=e00000000fd0f840 bsp=e00000000fd08ec8 [] die_if_kernel+0x50/0x80 sp=e00000000fd0f840 bsp=e00000000fd08e98 [] ia64_handle_unaligned+0x2ea0/0x2fc0 sp=e00000000fd0f840 bsp=e00000000fd08df0 [] ia64_prepare_handle_unaligned+0x30/0x60 sp=e00000000fd0fa10 bsp=e00000000fd08df0 [] paravirt_leave_kernel+0x0/0x40 sp=e00000000fd0fc20 bsp=e00000000fd08df0 [] dev_kfree_skb_irq+0x20/0x1a0 sp=e00000000fd0fdf0 bsp=e00000000fd08db8 [] xennet_release_tx_bufs+0xd0/0x120 sp=e00000000fd0fdf0 bsp=e00000000fd08d78 [] backend_changed+0xc40/0xf80 sp=e00000000fd0fdf0 bsp=e00000000fd08d08 [] otherend_changed+0x190/0x1c0 sp=e00000000fd0fe00 bsp=e00000000fd08cc8 [] xenwatch_thread+0x310/0x3c0 sp=e00000000fd0fe00 bsp=e00000000fd08ca0 [] kthread+0xe0/0x160 sp=e00000000fd0fe30 bsp=e00000000fd08c68 [] kernel_thread_helper+0x30/0x60 sp=e00000000fd0fe30 bsp=e00000000fd08c40 [] start_kernel_thread+0x20/0x40 sp=e00000000fd0fe30 bsp=e00000000fd08c40 Kernel panic - not syncing: Aiee, killing interrupt handler! Signed-off-by: Isaku Yamahata Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8ba6c2b0958c332d2f3336f4ca9c116ed81f38e9 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:30 2008 -0700 xen: print backtrace on multicall failure Print a backtrace if a multicall fails, to help with debugging. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 7c33b1e6ee26d67551109aca04d46544d0ce55b1 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:29 2008 -0700 x86_64: unstatic get_local_pda This allows Xen's xen_cpu_up() to allocate a pda for the new CPU. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 360c044eb1b985a9ef29d952276a3e14973bed93 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:28 2008 -0700 x86_64: adjust exception frame in ia32entry The 32-bit compat int $0x80 entrypoint needs exception frame adjustment. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit cbcd79c2e5b496b84845618cef734b4c40736576 Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:27 2008 -0700 x86: use __page_aligned_data/bss Update arch/x86's use of page-aligned variables. The change to arch/x86/xen/mmu.c fixes an actual bug, but the rest are cleanups and to set a precedent. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 87b935a0ef9a1ddf62f2f0c0fc17b10654ff41cd Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:26 2008 -0700 x86: clean up formatting of __switch_to process_64.c:__switch_to has some very old strange formatting, some of it dating back to pre-git. Fix it up. No functional changes. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8840c0ccd763936a8e730ece118197a51be8dc8e Author: Jeremy Fitzhardinge Date: Tue Jul 8 15:06:25 2008 -0700 x86_64: there's no need to preallocate level1_fixmap_pgt Early fixmap will allocate its own L1 pagetable page for fixmap mappings, so there's no need to preallocate one. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit c1f2f09ef66d5dadd5fe42ea909e708470c9636d Author: Eduardo Habkost Date: Tue Jul 8 15:06:24 2008 -0700 pvops-64: call paravirt_post_allocator_init() on setup_arch() Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a312b37b2a212fd2e227d1d6321f903b91b65ec7 Author: Eduardo Habkost Date: Tue Jul 8 15:06:23 2008 -0700 x86/paravirt: call paravirt_pagetable_setup_{start, done} Call paravirt_pagetable_setup_{start,done} These paravirt_ops functions were not being called on x86_64. Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 45158894d4d6704afbb4cefe55e5f6ca279fe12a Merge: 89a93f2... 84c3d4a... Author: Linus Torvalds Date: Tue Jul 15 19:04:58 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (249 commits) powerpc: Fix pte_update for CONFIG_PTE_64BIT and !PTE_ATOMIC_UPDATES powerpc: Fix a build problem on ppc32 with new DMA_ATTRs ibm_newemac: Add MII mode support to the EMAC RGMII bridge. powerpc: Don't spin on sync instruction at boot time powerpc: Add VSX load/store alignment exception handler powerpc: fix giveup_vsx to save registers correctly powerpc: support for latencytop powerpc: Remove unnecessary condition when sanity-checking WIMG bits powerpc: Add PPC_FEATURE_PSERIES_PERFMON_COMPAT powerpc: Add driver for Barrier Synchronization Register powerpc: mman.h export fixups powerpc/fsl: update crypto node definition and device tree instances powerpc/fsl: Refactor device bindings powerpc/85xx: Minor fixes for 85xxds and 8536ds board. powerpc: Add 82xx/83xx/86xx to 6xx Multiplatform powerpc/85xx: publish of device for cds platforms powerpc/booke: don't reinitialize time base powerpc/86xx: Refactor pic init powerpc/CPM: Add i2c pins to dts and board setup cpm_uart: Support uart_wait_until_sent() ... commit 89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d Merge: 260eddf... fe9233f... Author: Linus Torvalds Date: Tue Jul 15 18:58:04 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: (102 commits) [SCSI] scsi_dh: fix kconfig related build errors [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h [SCSI] make struct scsi_{host,target}_type static [SCSI] fix locking in host use of blk_plug_device() [SCSI] zfcp: Cleanup external header file [SCSI] zfcp: Cleanup code in zfcp_erp.c [SCSI] zfcp: zfcp_fsf cleanup. [SCSI] zfcp: consolidate sysfs things into one file. [SCSI] zfcp: Cleanup of code in zfcp_aux.c [SCSI] zfcp: Cleanup of code in zfcp_scsi.c [SCSI] zfcp: Move status accessors from zfcp to SCSI include file. [SCSI] zfcp: Small QDIO cleanups [SCSI] zfcp: Adapter reopen for large number of unsolicited status [SCSI] zfcp: Fix error checking for ELS ADISC requests [SCSI] zfcp: wait until adapter is finished with ERP during auto-port [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver [SCSI] sg: Add target reset support [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC [SCSI] sd: Move scsi_disk() accessor function to sd.h ... commit 260eddf4391f162a69d1d163729249635fa7a78f Merge: f2d9c74... 7890ea1... Author: Linus Torvalds Date: Tue Jul 15 18:57:38 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: Revert crypto: prng - Deterministic CPRNG commit f2d9c740f6b9f92608dfb2a2bdd797e0350cabe4 Author: Steven Rostedt Date: Tue Jul 15 10:57:33 2008 -0400 ftrace: ftrace.txt updates This patch includes ftrace.txt updates that address (mostly) comments from Andrew Morton. It also includes updates that were suggested by Randy Dunlap, John Kacur and David Teigland. Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 84c3d4aaec3338201b449034beac41635866bddf Merge: 43d2548... fafa3a3... Author: Benjamin Herrenschmidt Date: Wed Jul 16 11:07:59 2008 +1000 Merge commit 'origin/master' Manual merge of: arch/powerpc/Kconfig arch/powerpc/kernel/stacktrace.c arch/powerpc/mm/slice.c arch/ppc/kernel/smp.c commit fafa3a3f16723997f039a0193997464d66dafd8f Merge: 7e2225d... 431ceb8... Author: Linus Torvalds Date: Tue Jul 15 16:29:18 2008 -0700 Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix TSC build error on 32bit commit 809d9a8f93bd8504dcc34b16bbfdfd1a8c9bb1ed Author: Alok Kataria Date: Tue Jul 15 11:59:42 2008 -0700 x86/PCI: ACPI based PCI gap calculation Using ACPI to find free address space allows us to find a gap for the unallocated PCI resources or MMIO resources for hotplug devices within the BIOS allowed PCI regions. It works by evaluating the _CRS object under PCI0 looking for producer resources. Then searches the e820 memory space for a gap within these producer resources. Signed-off-by: Alok N Kataria Cc: Andi Kleen Cc: Len Brown Cc: Ingo Molnar Signed-off-by: Jesse Barnes commit cadc723cc19ce6b881d973d3c04e25ebb83058e6 Merge: e89e896... f839c4c... Author: Trond Myklebust Date: Tue Jul 15 18:34:58 2008 -0400 Merge branch 'bkl-removal' into next commit e89e896d31b11a51a54ddcd3f72a76bd286dd86c Merge: 3a628b0... d67d1c7... Author: Trond Myklebust Date: Tue Jul 15 18:34:16 2008 -0400 Merge branch 'devel' into next Conflicts: fs/nfs/file.c Fix up the conflict with Jon Corbet's bkl-removal tree commit 82638844d9a8581bbf33201cc209a14876eca167 Merge: 9982fbf... 63cf13b... Author: Ingo Molnar Date: Wed Jul 16 00:29:07 2008 +0200 Merge branch 'linus' into cpus4096 Conflicts: arch/x86/xen/smp.c kernel/sched_rt.c net/iucv/iucv.c Signed-off-by: Ingo Molnar commit f839c4c1991cc9b580ae38f98f54554938a7f49c Author: Trond Myklebust Date: Wed Jun 11 15:44:26 2008 -0400 NFSv4: Remove BKL from the nfsv4 state recovery Signed-off-by: Trond Myklebust commit a86dc496b764ebb1431677b38eab45310e5a2ad4 Author: Trond Myklebust Date: Wed Jun 11 13:37:09 2008 -0400 SUNRPC: Remove the BKL from the callback functions Push it into those callback functions that actually need it. Note that all the NFS operations use their own locking, so don't need the BKL. Ditto for the rpcbind client. Signed-off-by: Trond Myklebust commit c3cc8c019ca09767d7c9b5457d5cf8ac65085f44 Author: Trond Myklebust Date: Wed Jun 11 15:44:23 2008 -0400 NFS: Remove BKL from the readdir code Page accesses are serialised using the page locks, whereas all attribute updates are serialised using the inode->i_lock. Signed-off-by: Trond Myklebust commit 76566991f94c206d9c5881edcaf99ba72c9e9d61 Author: Trond Myklebust Date: Wed Jun 11 15:44:22 2008 -0400 NFS: Remove BKL from the symlink code Page cache accesses are serialised using page locks, whereas attribute updates are serialised using inode->i_lock. Signed-off-by: Trond Myklebust commit 52e2e8d37e01edf38ccdccc983fb13ec1456d63d Author: Trond Myklebust Date: Wed Jun 11 15:44:21 2008 -0400 NFS: Remove BKL from the sillydelete operations Signed-off-by: Trond Myklebust commit bd9bb454b76fb6ca2d00f17313f9f9df5f5c404a Author: Trond Myklebust Date: Wed Jun 11 16:09:59 2008 -0400 NFS: Remove the BKL from the rename, rmdir and unlink operations Attribute updates are safe, and dentry operations are protected using VFS level locks. Defer removing the BKL from sillyrename until a separate patch. Signed-off-by: Trond Myklebust commit fc0f684c21b5d4b41dc2ec76f7c0897ac98f5b6e Author: Trond Myklebust Date: Wed Jun 11 15:44:20 2008 -0400 NFS: Remove BKL from NFS lookup code All dentry-related operations are already BKL-safe, since they are protected by the VFS locking. No extra locks should be needed in the NFS code. In the case of nfs_revalidate_inode(), we're only doing an attribute update (protected by the inode->i_lock). In the case of nfs_lookup(), we're instantiating a new dentry, so there should be no contention possible until after we call d_materialise_unique. Signed-off-by: Trond Myklebust commit fc81af535e462764e17f638d542973fbef13b026 Author: Trond Myklebust Date: Wed Jun 11 15:52:40 2008 -0400 NFS: Remove the BKL from nfs_link() Signed-off-by: Trond Myklebust commit f1e2eda23513b68003202bddf1f84158baad8844 Author: Trond Myklebust Date: Wed Jun 11 15:50:50 2008 -0400 NFS: Remove the BKL from the inode creation operations nfs_instantiate() does not require the BKL, neither do the attribute updates or the RPC code. Signed-off-by: Trond Myklebust commit bba67e0e3f4caba2b2b90b48ed798fb0461bcb86 Author: Trond Myklebust Date: Wed Jun 11 13:26:23 2008 -0400 NFS: Remove BKL usage from open() All the NFSv4 stateful operations are already protected by other locks (in particular by the rpc_sequence locks. Signed-off-by: Trond Myklebust commit b6a2e569e2157509951c9f3f58dfa18b44ce91b3 Author: Trond Myklebust Date: Wed Jun 11 13:26:16 2008 -0400 NFS: Remove BKL usage from the write path Signed-off-by: Trond Myklebust commit 4d80f2ecd506d9732ad94a6da104580bb47680d6 Author: Trond Myklebust Date: Wed Jun 11 15:44:18 2008 -0400 NFS: Remove the BKL from the permission checking code Signed-off-by: Trond Myklebust commit fa6dc9dc59c3a76fd209a97c8cf37395980fb903 Author: Trond Myklebust Date: Wed Jun 11 13:26:14 2008 -0400 NFS: Remove attribute update related BKL references Signed-off-by: Trond Myklebust commit a3d01454bc58b5a211ef64a7670572a40b71e682 Author: Trond Myklebust Date: Wed Jun 11 12:21:19 2008 -0400 NFS: Remove BKL requirement from attribute updates The main problem is dealing with inode->i_size: we need to set the inode->i_lock on all attribute updates, and so vmtruncate won't cut it. Make an NFS-private version of vmtruncate that has the necessary locking semantics. The result should be that the following inode attribute updates are protected by inode->i_lock nfsi->cache_validity nfsi->read_cache_jiffies nfsi->attrtimeo nfsi->attrtimeo_timestamp nfsi->change_attr nfsi->last_updated nfsi->cache_change_attribute nfsi->access_cache nfsi->access_cache_entry_lru nfsi->access_cache_inode_lru nfsi->acl_access nfsi->acl_default nfsi->nfs_page_tree nfsi->ncommit nfsi->npages nfsi->open_files nfsi->silly_list nfsi->acl nfsi->open_states inode->i_size inode->i_atime inode->i_mtime inode->i_ctime inode->i_nlink inode->i_uid inode->i_gid The following is protected by dir->i_mutex nfsi->cookieverf Signed-off-by: Trond Myklebust commit 1b83d707032a1be40a60ed0a9bd841662cc04a5d Author: Trond Myklebust Date: Wed Jun 11 15:44:04 2008 -0400 NFS: Protect inode->i_nlink updates using inode->i_lock Signed-off-by: Trond Myklebust commit d67d1c7bf948341fd8678c8e337ec27f4b46b206 Author: Felix Blyakher Date: Tue Jul 15 12:40:22 2008 -0500 nfs: set correct fl_len in nlmclnt_test() fcntl(F_GETLK) on an nfs client incorrectly returns the values for the conflicting lock. fl_len value is always 1. If the conflicting lock is (0, 4095) the F_GETLK request for (1024, 10) returns (0, 1), which doesn't even cover the requested range, and is quite confusing. The fix is trivial, set fl_end from the fl_end value recieved from the nfs server. Signed-off-by: Felix Blyakher Signed-off-by: "J. Bruce Fields" Signed-off-by: Trond Myklebust commit c2e1b09ff237c0a3687b9a804cc8bf489743cffc Author: Chuck Lever Date: Mon Jul 14 16:03:30 2008 -0400 SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon Introduce a new API to register RPC services on IPv6 interfaces to allow the NFS server and lockd to advertise on IPv6 networks. Unlike rpcb_register(), the new rpcb_v4_register() function uses rpcbind protocol version 4 to contact the local rpcbind daemon. The version 4 SET/UNSET procedures allow services to register address families besides AF_INET, register at specific network interfaces, and register transport protocols besides UDP and TCP. All of this functionality is exposed via the new rpcb_v4_register() kernel API. A user-space rpcbind daemon implementation that supports version 4 of the rpcbind protocol is required in order to make use of this new API. Note that rpcbind version 3 is sufficient to support the new rpcbind facilities listed above, but most extant implementations use version 4. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit babe80eb4994dfdc97d5be19a68b5af66d667585 Author: Chuck Lever Date: Mon Jul 14 16:03:29 2008 -0400 SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier rpcbind version 4 registration will reuse part of rpcb_register, so just split it out into a separate function now. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 423d8b064771f5cd8b706a4839b18db9bb6c3c59 Author: Chuck Lever Date: Mon Jul 14 16:03:28 2008 -0400 SUNRPC: None of rpcb_create's callers wants a privileged source port Clean up: Callers that required a privileged source port now use rpcb_create_local(), so we can remove the @privileged argument from rpcb_create(). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit cc5598b78fd320dd6d1f90c14491e08029f3c4f6 Author: Chuck Lever Date: Mon Jul 14 16:03:27 2008 -0400 SUNRPC: Introduce a specific rpcb_create for contacting localhost Add rpcb_create_local() for use by rpcb_register() and upcoming IPv6 registration functions. Ensure any errors encountered by rpcb_create_local() are properly reported. We can also use a statically allocated constant loopback socket address instead of one allocated on the stack and initialized every time the function is called. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 166b88d755f925139af7f7b75aa0a1b896ca0670 Author: Chuck Lever Date: Mon Jul 14 16:03:26 2008 -0400 SUNRPC: Use correct XDR encoding procedure for rpcbind SET/UNSET The rpcbind versions 3 and 4 SET and UNSET procedures use the same arguments as the GETADDR procedure. While definitely a bug, this hasn't been a problem so far since the kernel hasn't used version 3 or 4 SET and UNSET. But this will change in just a moment. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 7e2225d860772aaa07e1cebca6a5aa6f93f9aa91 Merge: 3a628b0... b27418a... Author: Linus Torvalds Date: Tue Jul 15 15:01:29 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: (54 commits) [MIPS] Remove mips_machtype for LASAT machines [MIPS] Remove mips_machtype from EMMA2RH machines [MIPS] Remove mips_machtype from ARC based machines [MIPS] MTX-1 flash partition setup move to platform devices registration [MIPS] TXx9: cleanup and fix some sparse warnings [MIPS] TXx9: rename asm-mips/mach-jmr3927 to asm-mips/mach-tx39xx [MIPS] remove machtype for group Toshiba [MIPS] separate rbtx4927_time_init() and rbtx4937_time_init() [MIPS] separate rbtx4927_arch_init() and rbtx4937_arch_init() [MIPS] txx9_cpu_clock setup move to rbtx4927_time_init() [MIPS] txx9_board_vec set directly without mips_machtype [MIPS] IP22: Add platform device for Indy volume buttons [MIPS] cmbvr4133: Remove support [MIPS] remove wrppmc_machine_power_off() [MIPS] replace inline assembler to cpu_wait() [MIPS] IP22/28: Add platform devices for HAL2 [MIPS] TXx9: Update and merge defconfigs [MIPS] TXx9: Make single kernel can support multiple boards [MIPS] TXx9: Update defconfigs [MIPS] TXx9: Reorganize PCI code ... commit 3a628b0fd42f7eaf9d052447784d48ceae9ffb8e Author: Mikulas Patocka Date: Tue Jul 15 17:19:55 2008 -0400 Don't crash on IOMMU overflow in A100U2W driver Handle IOMMU overflow correctly, by retrying. IOMMU errors can happen and drivers must deal with them. Signed-off-by: Mikulas Patocka Signed-off-by: Linus Torvalds commit a5db33411ae762e597bfcde6bb9d0c8c2ea9c0eb Author: Mikulas Patocka Date: Tue Jul 15 17:18:38 2008 -0400 BUG_ON on kernel misbehavior on A100U2W driver With broken Sparc64 IOMMU accounting, the kernel submits larger requests then allowed. Better to crash on BUG than corrupt memory. Signed-off-by: Mikulas Patocka Acked-by: James Bottomley Signed-off-by: Linus Torvalds commit 56d387ec210049be2fdb0fe26ba6d6de1b3c1b15 Author: Mikulas Patocka Date: Tue Jul 15 17:16:38 2008 -0400 Add udelay to A100U2W SCSI driver udelay is required on Sun Ultra 5. I don't know any reason or explanation for this, it was found purely experimentally. Signed-off-by: Mikulas Patocka Signed-off-by: Linus Torvalds commit 987ff954cda2a206f5e694f267b0ccad869c257c Author: Mikulas Patocka Date: Tue Jul 15 17:15:41 2008 -0400 Fix endianity in A100U2W SCSI driver Support big endian systems in a100u2w driver. Signed-off-by: Mikulas Patocka Signed-off-by: Linus Torvalds commit 1e09481365ce248dbb4eb06dad70129bb5807037 Merge: 3e2f69f... b9d2252... Author: Ingo Molnar Date: Tue Jul 15 23:12:58 2008 +0200 Merge branch 'linus' into core/softlockup Conflicts: kernel/softlockup.c Signed-off-by: Ingo Molnar commit 63cf13b77ab785e87c867defa8545e6d4a989774 Author: Jeremy Fitzhardinge Date: Tue Jul 15 13:22:49 2008 -0700 generic ipi function calls: wait on alloc failure fallback When a GFP_ATOMIC allocation fails, it falls back to allocating the data on the stack and converting it to a waiting call. Make sure we actually wait in this case. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit 59190f4213462f191fc0d22d39b1cf18ea39ca39 Merge: 64fd52a... f6f88e9... Author: Linus Torvalds Date: Tue Jul 15 14:02:33 2008 -0700 Merge branch 'generic-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'generic-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits) generic-ipi: more merge fallout generic-ipi: merge fix x86, visws: use mach-default/entry_arch.h x86, visws: fix generic-ipi build generic-ipi: fixlet generic-ipi: fix s390 build bug generic-ipi: fix linux-next tree build failure fix: "smp_call_function: get rid of the unused nonatomic/retry argument" fix: "smp_call_function: get rid of the unused nonatomic/retry argument" fix "smp_call_function: get rid of the unused nonatomic/retry argument" on_each_cpu(): kill unused 'retry' parameter smp_call_function: get rid of the unused nonatomic/retry argument sh: convert to generic helpers for IPI function calls parisc: convert to generic helpers for IPI function calls mips: convert to generic helpers for IPI function calls m32r: convert to generic helpers for IPI function calls arm: convert to generic helpers for IPI function calls alpha: convert to generic helpers for IPI function calls ia64: convert to generic helpers for IPI function calls powerpc: convert to generic helpers for IPI function calls ... Fix trivial conflicts due to rcu updates in kernel/rcupdate.c manually commit 64fd52a52077d3cd5a778ca031c0aaecf885eaa6 Merge: fe1a687... 6c9fcaf... Author: Linus Torvalds Date: Tue Jul 15 13:59:31 2008 -0700 Merge branch 'core/rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (23 commits) rcu classic: update qlen when cpu offline rcu: make rcutorture even more vicious: invoke RCU readers from irq handlers (timers) rcu: make quiescent rcutorture less power-hungry rcu, rcutorture: make quiescent rcutorture less power-hungry rcu: make rcutorture more vicious: reinstate boot-time testing rcu: make rcutorture more vicious: add stutter feature rcutorture: WARN_ON_ONCE(1) when detecting an error rcu: remove unused field struct rcu_data::rcu_tasklet Revert "prohibit rcutorture from being compiled into the kernel" rcu: fix nf_conntrack_helper.c build bug rculist.h: fix include in net/netfilter/nf_conntrack_netlink.c rcu: remove duplicated include in kernel/rcupreempt.c rcu: remove duplicated include in kernel/rcupreempt_trace.c RCU, rculist.h: fix list iterators rcu: fix rcu_try_flip_waitack_needed() to prevent grace-period stall rculist.h: use the rcu API rcu: split list.h and move rcu-protected lists into rculist.h sched: 1Q08 RCU doc update, add call_rcu_sched() rcu: add call_rcu_sched() and friends to rcutorture rcu: add rcu_barrier_sched() and rcu_barrier_bh() ... commit fe1a6875fcaaac2041945008a9875d2c07be1d9b Author: Sebastian Siewior Date: Tue Jul 15 22:28:46 2008 +0200 mm: fix build on non-mmu machines Commit 1ea0704e0d aka "mm: add a ptep_modify_prot transaction abstraction" caused: | CC init/main.o |In file included from include2/asm/pgtable.h:68, | from /home/bigeasy/git/linux-2.6-m68k/include/linux/mm.h:39, | from include2/asm/uaccess.h:8, | from /home/bigeasy/git/linux-2.6-m68k/include/linux/poll.h:13, | from /home/bigeasy/git/linux-2.6-m68k/include/linux/rtc.h:113, | from /home/bigeasy/git/linux-2.6-m68k/include/linux/efi.h:19, | from /home/bigeasy/git/linux-2.6-m68k/init/main.c:43: |/linux-2.6/include/asm-generic/pgtable.h: In function '__ptep_modify_prot_start': |/linux-2.6/include/asm-generic/pgtable.h:209: error: implicit declaration of function 'ptep_get_and_clear' |/linux-2.6/include/asm-generic/pgtable.h:209: error: incompatible types in return |/linux-2.6/include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit': |/linux-2.6/include/asm-generic/pgtable.h:220: error: implicit declaration of function 'set_pte_at' |make[2]: *** [init/main.o] Error 1 |make[1]: *** [init] Error 2 |make: *** [sub-make] Error 2 on my m68knommu box. Acked-by: Jeremy Fitzhardinge Cc: Linus Torvalds Cc: Hugh Dickins Cc: Ingo Molnar Signed-off-by: Sebastian Siewior Signed-off-by: Linus Torvalds commit de3b69d7d87e1e86c0307f0f15b377dcebeab906 Author: Steven Rostedt Date: Tue Jul 15 13:28:14 2008 -0400 ftrace: maintainer I'm willing to take responsibility for ftrace, and follow up on any issues that arise due to it. Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 431ceb83f703a343bdd14350480a2224fa4bfedf Author: Thomas Gleixner Date: Tue Jul 15 22:08:04 2008 +0200 x86: fix TSC build error on 32bit Dave Hansen reported a build error on 32bit which went unnoticed as newer gcc versions seem to optimize unused static functions away before compiling them. Make vread_tsc() depend on CONFIG_X86_64 Signed-off-by: Thomas Gleixner commit 367c8c7bd9a2882daad6c9cb607e1db8ef781ad4 Author: Chuck Lever Date: Mon Jun 30 18:58:14 2008 -0400 lockd: Pass "struct sockaddr *" to new failover-by-IP function Pass a more generic socket address type to nlmsvc_unlock_all_by_ip() to allow for future support of IPv6. Also provide additional sanity checking in failover_unlock_ip() when constructing the server's IP address. As an added bonus, provide clean kerneldoc comments on related NLM interfaces which were recently added. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit f6f88e9bfb6ced9871ed65ebe85c371de3c9e4be Author: Ingo Molnar Date: Tue Jul 15 22:08:52 2008 +0200 generic-ipi: more merge fallout fix more API change fallout in recently merged upstream changes. Signed-off-by: Ingo Molnar commit b3c9816b9fa9a7b75ab36111eb76eca03e5bab78 Author: Ingo Molnar Date: Tue Jul 15 22:03:56 2008 +0200 generic-ipi: merge fix fix merge fallout: arch/x86/pci/amd_bus.c: In function ‘enable_pci_io_ecs': arch/x86/pci/amd_bus.c:581: error: too many arguments to function ‘on_each_cpu' Signed-off-by: Ingo Molnar commit 1a781a777b2f6ac46523fe92396215762ced624d Merge: b9d2252... 42a2f21... Author: Ingo Molnar Date: Tue Jul 15 21:55:59 2008 +0200 Merge branch 'generic-ipi' into generic-ipi-for-linus Conflicts: arch/powerpc/Kconfig arch/s390/kernel/time.c arch/x86/kernel/apic_32.c arch/x86/kernel/cpu/perfctr-watchdog.c arch/x86/kernel/i8259_64.c arch/x86/kernel/ldt.c arch/x86/kernel/nmi_64.c arch/x86/kernel/smpboot.c arch/x86/xen/smp.c include/asm-x86/hw_irq_32.h include/asm-x86/hw_irq_64.h include/asm-x86/mach-default/irq_vectors.h include/asm-x86/mach-voyager/irq_vectors.h include/asm-x86/smp.h kernel/Makefile Signed-off-by: Ingo Molnar commit 560de0e65904db392e1c443c4bf5ee750573336b Author: J. Bruce Fields Date: Tue Jul 15 15:05:45 2008 -0400 lockd: get host reference in nlmsvc_create_block() instead of callers It may not be obvious (till you look at the definition of nlm_alloc_call()) that a function like nlmsvc_create_block() should consume a reference on success or failure, so I find it clearer if it takes the reference it needs itself. And both callers already do this immediately before the call anyway. Signed-off-by: J. Bruce Fields commit 22a37bcb7857541eb2d37806c4744ee2530baa98 Merge: 849c529... 82f06e8... Author: Linus Torvalds Date: Tue Jul 15 12:39:44 2008 -0700 Merge branch 'sbp2-spindown' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'sbp2-spindown' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: sbp2: spin disks down on suspend and shutdown firewire: fw-sbp2: spin disks down on suspend and shutdown ieee1394: sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares firewire: fw-sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares scsi: sd: optionally set power condition in START STOP UNIT commit 849c529f57020cc47085400edd5e641d95cd4faf Merge: b9d2252... a7ea678... Author: Linus Torvalds Date: Tue Jul 15 12:39:13 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: don't respond to broadcast write requests firewire: clean up fw_card reference counting firewire: clean up some includes firewire: remove unused struct members firewire: implement broadcast_channel CSR for 1394a compliance ieee1394: dump mmapped iso buffers in core files ieee1394: raw1394: Push the BKL down into the driver ioctls ieee1394: video1394: reorder module init, prepare BKL removal ieee1394: reduce log noise about config ROM CRC errors commit 6d7bbbbacc5202eaabbc232681cc325b22a73eeb Author: J. Bruce Fields Date: Tue Jul 15 14:38:32 2008 -0400 lockd: minor svclock.c style fixes Signed-off-by: J. Bruce Fields commit 6c9fcaf2eec1b9f85226a694230dd957dd7926b3 Merge: b9d2252... 199a952... Author: Ingo Molnar Date: Tue Jul 15 21:10:12 2008 +0200 Merge branch 'core/rcu' into core/rcu-for-linus commit 6cde4de80773497d8333985b135f472eda870904 Author: Jeff Layton Date: Tue Jul 15 14:26:17 2008 -0400 lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock nlmsvc_lock calls nlmsvc_lookup_host to find a nlm_host struct. The callers of this function, however, call nlmsvc_retrieve_args or nlm4svc_retrieve_args, which also return a nlm_host struct. Change nlmsvc_lock to take a host arg instead of calling nlmsvc_lookup_host itself and change the callers to pass a pointer to the nlm_host they've already found. Since nlmsvc_testlock() now just uses the caller's reference, we no longer need to get or release it. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 417e1494fd70715b737428cc3c3d924255f22ba1 Author: Larry Finger Date: Tue Jul 15 11:30:00 2008 -0500 pcmcia: ide-cs: Remove outdated comment There is an outdated version information comment in ide-cs. Signed-off-by: Larry Finger Signed-off-by: Dominik Brodowski commit 002b90a1bf5fe9c8de7a8634403a685621841ff3 Author: Marc Zyngier Date: Tue Jul 15 15:26:15 2008 +0200 pcmcia: fix cisinfo_t removal The cisinfo_t removal patch (c5081d5f4775b2a3f858f91151bbf9163e473075 pcmcia: simplify pccard_validate_cis ) introduced a bug that prevented card detection, for the (info->Chains == MAX_TUPLES) check was replaced by (count), which is always true. Restoring the comparison to MAX_TUPLES makes everybody happy... [linux@dominikbrodowski.net: update changelog comment] Signed-off-by: Marc Zyngier Signed-off-by: Dominik Brodowski commit d93c768e66d8c3970187c179a91a2553b077d9e8 Author: Dominik Brodowski Date: Tue Jul 15 20:11:21 2008 +0200 pcmcia: fix return value in cm4000_cs.c should be -EINVAL, not EINVAL. Found by Peter Stuge. Signed-off-by: Dominik Brodowski commit 8f920d5e29f86d3425a68e1c3bc264d1f6f55112 Author: Jeff Layton Date: Tue Jul 15 14:06:48 2008 -0400 lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock nlmsvc_testlock calls nlmsvc_lookup_host to find a nlm_host struct. The callers of this functions, however, call nlmsvc_retrieve_args or nlm4svc_retrieve_args, which also return a nlm_host struct. Change nlmsvc_testlock to take a host arg instead of calling nlmsvc_lookup_host itself and change the callers to pass a pointer to the nlm_host they've already found. We take a reference to host in the place where nlmsvc_testlock() previous did a new lookup, so the reference counting is unchanged from before. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit b9d2252c1e44fa83a4e65fdc9eb93db6297c55af Merge: b312bf3... e79aec2... Author: Linus Torvalds Date: Tue Jul 15 11:26:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab: rename slab_destroy_objs slub: current is always valid slub: Add check for kfree() of non slab objects. commit b312bf359e20cc39c00d480fd40a24c245d80bf7 Merge: dc221ea... 2640d7c... Author: Linus Torvalds Date: Tue Jul 15 11:18:10 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: AHCI: Remove an unnecessary flush from ahci_qc_issue AHCI: speed up resume [libata] Add support for VPD page b1 ata: endianness annotations in pata drivers libata-eh: update atapi_eh_request_sense() to take @dev instead of @qc [libata] sata_svw: update code comments relating to data corruption libata/ahci: enclosure management support libata: improve EH internal command timeout handling libata: use ULONG_MAX to terminate reset timeout table libata: improve EH retry delay handling libata: consistently use msecs for time durations commit dc221eae08eea3b0db127d1f152fac24d10b6a52 Merge: 98339cb... 4735c98... Author: Linus Torvalds Date: Tue Jul 15 11:16:05 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: (56 commits) i2c: Add detection capability to new-style drivers i2c: Call client_unregister for new-style devices too i2c: Clean up old chip drivers i2c-ibm_iic: Register child nodes i2c: New-style EEPROM driver using device IDs i2c: Export the i2c_bus_type symbol i2c-au1550: Fix PM support i2c-dev: Delete empty detach_client callback i2c: Drop stray references to lm_sensors i2c: Check for ACPI resource conflicts i2c-ocores: basic PM support i2c-sibyte: SWARM I2C board initialization i2c-i801: Fix handling of error conditions i2c-i801: Rename local variable temp to status i2c-i801: Properly report bus arbitration loss i2c-i801: Remove verbose debugging messages i2c-algo-pcf: Drop unused struct members i2c-algo-pcf: Multi-master lost-arbitration improvement i2c: Deprecate the legacy gpio drivers i2c-pxa: Initialize early ... commit 98339cbd360b77c3167db287fd611468c2c44559 Merge: e4e0fad... cbbc4e8... Author: Linus Torvalds Date: Tue Jul 15 11:15:36 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: (80 commits) ide-floppy: fix unfortunate function naming ide-tape: unify idetape_create_read/write_cmd ide: add ide_pc_intr() helper ide-{floppy,scsi}: read Status Register before stopping DMA engine ide-scsi: add more debugging to idescsi_pc_intr() ide-scsi: use pc->callback ide-floppy: add more debugging to idefloppy_pc_intr() ide-tape: always log debug info in idetape_pc_intr() if debugging is enabled ide-tape: add ide_tape_io_buffers() helper ide-tape: factor out DSC handling from idetape_pc_intr() ide-{floppy,tape}: move checking of ->failed_pc to ->callback ide: add ide_issue_pc() helper ide: add PC_FLAG_DRQ_INTERRUPT pc flag ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc() ide: add ide_transfer_pc() helper ide-scsi: set drive->scsi flag for devices handled by the driver ide-{cd,floppy,tape}: remove checking for drive->scsi ide: add PC_FLAG_ZIP_DRIVE pc flag ide-tape: factor out waiting for good ireason from idetape_transfer_pc() ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc() ... commit cbbc4e818de4451cdef75a112b7fc8a523d5d2a0 Author: Borislav Petkov Date: Tue Jul 15 21:22:03 2008 +0200 ide-floppy: fix unfortunate function naming mv idefloppy_transfer_pc1 idefloppy_start_pc_transfer mv idefloppy_transfer_pc2 idefloppy_transfer_pc which describes their functionality and disambiguates them. There should be no functionality change introduced by this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit cd2abbfec84f43db740483daf4ea528d49d8858f Author: Borislav Petkov Date: Tue Jul 15 21:22:03 2008 +0200 ide-tape: unify idetape_create_read/write_cmd A straightforward one. There should be no functional change resulting from this change. [bart: minor fixups] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 646c0cb6c430f8d3ad3769dd1518fe664ff0ce27 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:03 2008 +0200 ide: add ide_pc_intr() helper * ide-tape.c: add 'drive' argument to idetape_update_buffers(). * Add generic ide_pc_intr() helper to ide-atapi.c and then convert ide-{floppy,tape,scsi} device drivers to use it. * ide-tape.c: remove no longer needed DBG_PC_INTR. There should be no functional changes caused by this patch (unless the debugging is explicitely compiled in). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 55d82bfa6763d6761670d740ab3bac2f1c042d87 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:03 2008 +0200 ide-{floppy,scsi}: read Status Register before stopping DMA engine Read Status Register before stopping DMA engine to match ide-tape device driver - it should be safe and shouldn't affect anything. This is a preparation for adding generic ide_pc_intr() helper. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit cdca5c1f3b769eb2cdfc9cadc254cb74ba73c7d6 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:02 2008 +0200 ide-scsi: add more debugging to idescsi_pc_intr() Add more debugging to idescsi_pc_intr() to match ide-tape's idetape_pc_intr(). While at it: * Correct the first debug message. This is a preparation for adding generic ide_pc_intr() helper. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c6b2d260b5a7a5ed32aa2ce370d81183fc37eeb1 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:02 2008 +0200 ide-scsi: use pc->callback * Add ide_scsi_callback() pc->callback implementation, then update idescsi_check_condition() and idescsi_queue() to setup ->callback. * Convert idescsi_pc_intr() to use pc->callback. This is a preparation for adding generic ide_pc_intr() helper. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4c93067ea9e5eca9d975bec74dae641228ac1bbe Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:02 2008 +0200 ide-floppy: add more debugging to idefloppy_pc_intr() Add more debugging to idefloppy_pc_intr() to match ide-tape's idetape_pc_intr(). While at it: * Correct the first debug message. * Log device name with "DMA finished" message. This is a preparation for adding generic ide_pc_intr() helper. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e421d324c003f8f002f402141b15d758adbfaef Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:01 2008 +0200 ide-tape: always log debug info in idetape_pc_intr() if debugging is enabled Add DBG_PC_INTR debug level and use it to always log debug info in idetape_pc_intr() if debugging is enabled. While at it: * Use drive->name instead of tape->name. * Log device name with "DMA finished" message. This is a preparation for adding generic ide_pc_intr() helper. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 08424ac24a35b505463919a897b097f27e4dca96 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:01 2008 +0200 ide-tape: add ide_tape_io_buffers() helper * Add ide_tape_io_buffers() helper which is a wrapper for idetape_{in,out}put_buffers() and convert idetape_pc_intr() to use it. * Remove no longer used idetape_io_buf typedef. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz --- commit 74e63e74ea57e06839aa5fcf016eace35da26050 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:01 2008 +0200 ide-tape: factor out DSC handling from idetape_pc_intr() Factor out DSC handling from idetape_pc_intr() to ide_tape_handle_dsc() helper as a preparation for adding generic ide_pc_intr() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit dd2e9a032bc552f6e2ae852e81cde602c09d7d3e Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:01 2008 +0200 ide-{floppy,tape}: move checking of ->failed_pc to ->callback Move checking/resetting of ->failed_pc from ide*_pc_intr() to ->callback as a preparation for adding generic ide_pc_intr() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz --- commit 6bf1641ca1c7554f0da54aaf89788731b541bacc Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:22:00 2008 +0200 ide: add ide_issue_pc() helper Add generic ide_issue_pc() helper to ide-atapi.c and then convert ide-{floppy,tape,scsi} device drivers to use it. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 28c7214bd8c2bbd4873b8f1e7f58d86d3731124f Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:59 2008 +0200 ide: add PC_FLAG_DRQ_INTERRUPT pc flag Add PC_FLAG_DRQ_INTERRUPT pc flag, set it in ide*_do_request() and check for it (instead of checking for IDE*_FLAG_DRQ_INTERRUPT) in ide*_issue_pc(). This is a preparation for adding generic ide_issue_pc() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4cc196897de9e6c02cf86debc5b9f7cf1b69a214 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:58 2008 +0200 ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc() Move idescsi_map_sg() call out from idescsi_issue_pc() to idescsi_do_request() as a preparation to adding generic ide_issue_pc() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 594c16d8dd54cd7b1c5ef1ec3ac0f6bf34301dad Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:58 2008 +0200 ide: add ide_transfer_pc() helper * Add ide-atapi.c file for generic ATAPI support together with CONFIG_IDE_ATAPI config option. * Add generic ide_transfer_pc() helper to ide-atapi.c and then convert ide-{floppy,tape,scsi} device drivers to use it. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f83cbc77b0d5521b4f0f591ede4870316944481a Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:58 2008 +0200 ide-scsi: set drive->scsi flag for devices handled by the driver This is a preparation for adding generic ide_transfer_pc() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 794cc6804bb946826b7427d205ac391a5370d361 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:57 2008 +0200 ide-{cd,floppy,tape}: remove checking for drive->scsi Remove checking for drive->scsi which is no longer set by IDE core code (leave the flag since it will be re-used for generic ATAPI support). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d41893c0f9caf94b449eada0279a08c86f0212e Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:57 2008 +0200 ide: add PC_FLAG_ZIP_DRIVE pc flag Add PC_FLAG_ZIP_DRIVE pc flag, set it in idefloppy_do_request() and check for it (instead of checking for IDEFLOPPY_FLAG_ZIP_DRIVE) in idefloppy_transfer_pc(). This is a preparation for adding generic ide_transfer_pc() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a7b75ab429e9ed568be50cfbf7091f097457cb8 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:57 2008 +0200 ide-tape: factor out waiting for good ireason from idetape_transfer_pc() Factor out waiting for good ireason from idetape_transfer_pc() to ide_tape_wait_ireason() as a preparation for adding generic ide_transfer_pc() helper. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9fd13a27c8a35ff1986793cb96aaedb5e75b5368 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:57 2008 +0200 ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc() Set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc() instead of idetape_issue_pc() to match the other ATAPI device drivers. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ffb66410dd9f5f383d9265d51ab667333a8296c Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:56 2008 +0200 ide-floppy: start DMA engine in idefloppy_transfer_pc1() Start DMA engine and set PC_FLAG_DMA_IN_PROGRESS flag in idefloppy_transfer_pc1() instead of idefloppy_issue_pc() so the Status Register and the Interrupt Reason Register are checked first. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e3310958204912f3f00be2592c945fbc37db6ae Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:56 2008 +0200 ide-{floppy,tape}: PC_FLAG_DMA_RECOMMENDED -> PC_FLAG_DMA_OK * Use PC_FLAG_DMA_OK flag instead of PC_FLAG_DMA_RECOMMENDED one. * Remove no longer used PC_FLAG_DMA_RECOMMENDED flag. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b06e92aa03018e4b3ba281e03a7711d9b71a998 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:56 2008 +0200 ide-{floppy,tape}: merge pc->idefloppy_callback and pc->idetape_callback Merge pc->idefloppy_callback and pc->idetape_callback into pc->callback. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 81f4938239fea86d0a7529194a37fb81041171e0 Author: Borislav Petkov Date: Tue Jul 15 21:21:56 2008 +0200 ide-floppy: merge callbacks The appropriate functionality of the callback is established through querying the ATAPI packet command in pc->c[0]. While at it, simplify if (floppy->failed_pc)-branch to be found in the original idefloppy_request_sense_callback(). Bart: - keep handling for blk_pc_request() requests unchanged + add FIXME - add uptodate variable + leave just one idefloppy_end_request() call - add newline to the debug message Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 92f5daff2b8439fa4c57c57f47823ffc459c3bd9 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:55 2008 +0200 ide-tape: make pc->idetape_callback void There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5985e6abbd89f969c17fd80ab864c80f089827a3 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:55 2008 +0200 ide-tape: merge callbacks The appropriate functionality of the callback is established through querying the ATAPI packet command in pc->c[0]. While at it: - add uptodate variable + leave just one idetape_end_request() call - don't use HWGROUP() macro Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 258ec4113081c2b63117dc2df6d94c3e484e9747 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:55 2008 +0200 ide-tape: make idetape_retry_pc() void idetape_retry_pc() always returns ide_stopped so make it void. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 568ca92774d2f6be4a7e2f8357559bfdc9424056 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:54 2008 +0200 ide-{floppy,tape,scsi}: log device name instead of driver name Log device name instead of driver name in *_pc_intr() and *_transfer_pc*(). While at it: * Merge two consecutive printk()-s in *_pc_intr() together. * Replace "floppy"/"tape"/"scsi" references in printk()-s by "device". Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0b2eea4c5594ceaf13c57eaff7ff226263f1c36f Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:54 2008 +0200 ide-floppy: merge idefloppy_transfer_pc() and idefloppy_transfer_pc1() * Check IDEFLOPPY_FLAG_ZIP_DRIVE flag in idefloppy_transfer_pc1() and skip idefloppy_transfer_pc2()-phase if the flag is not set. * Always use idefloppy_transfer_pc1() in idefloppy_issue_pc() and remove no longer needed idefloppy_transfer_pc(). There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 170ee569bbe1005baebf2e9e4c3f4622d14ec851 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:54 2008 +0200 ide-tape: remove SIMULATE_ERRORS debug code Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 531e9e50543ebf562237b8ac64529ae09b344a43 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:54 2008 +0200 ide-tape: remove stale comments from idetape_pc_intr() Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 91395a16309596c2e78439aa5f9f6004f0365ef9 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:54 2008 +0200 ide-tape: remove unneeded CONFIG_BLK_DEV_IDEDMA ifdef PC_FLAG_DMA_IN_PROGRESS flag is never set if DMA support is disabled. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6bd3b0bfb8fccdcce3b8524d6761e0a3ab6e23f0 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:53 2008 +0200 ide-tape: remove superfluous warning message from idetape_issue_pc() ide_dma_off() prints info about DMA being disabled. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1e049a8ea190b7cc22320c7797b36b2c6128c9c5 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:53 2008 +0200 ide-tape: remove superfluous error message from idetape_pc_intr() ide_dma_off() prints info about DMA being disabled. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 87429bdc2e0701fa33a455297de01e79797b4210 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:53 2008 +0200 ide-tape: idetape_pc_intr() should use local_irq_enable_in_hardirq() Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 43a2b5b29385a3e0997a47c86f286d3645e5cb44 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:52 2008 +0200 ide-scsi: add debug_log() macro Add debug_log() macro and convert the driver to use it. [ This makes debug messages to be always prefixed with "ide-scsi: " and use KERN_INFO level. ] While at it: * Change "DMA complete" debug message to "DMA finished" to match other ATAPI device drivers. * Use __func__. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c8c51129805c0efb32f34afd3af8fe94f5757363 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:52 2008 +0200 ide-scsi: remove superfluous BUG_ON() from idescsi_transfer_pc() ide_set_handler() bugs on ->handler == NULL so no need to do it in idescsi_transfer_pc(). There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e52fb4d1f4cc9630422982b6c5fa571e30f9889 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:52 2008 +0200 ide-scsi: merge idescsi_input_buffers() and idescsi_output_buffers() * Merge idescsi_input_buffers() and idescsi_output_buffers() into ide_scsi_io_buffers() helper. While at it: * Log device name instead of driver name on error. * Use xfer_func_t. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c60bd8ea7aa536d67830bc8384ef0ebdfb8aad4 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:52 2008 +0200 ide-scsi: fix Interrupt Reason checking in idescsi_pc_intr() Set PC_FLAG_WRITING pc flag in idescsi_queue() (if needed) and then fix Interrupt Reason checking in idescsi_pc_intr(). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c04bbc812b05b304a9118687d0e0a47e35f00d1d Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:51 2008 +0200 ide-scsi: fix handling of DMA errors in idescsi_pc_intr() Check return value of ->dma_end method and if there was a DMA error handle it accordingly (set PC_FLAG_DMA_ERROR pc flag, don't update pc->xferred and increase rq->errors). Also move debug message in the right place while at it. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e8e25f03e19c2c47834c821511625c0b80567827 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:51 2008 +0200 ide-scsi: fix DRQ checking for DMA transfers in idescsi_pc_intr() If DRQ bit of Status Register is not cleared it is an error condition and should be handled accordingly (disable DMA + reset the device). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b3d96afccf8b5c67b66a61efb88c53ff029c6611 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:51 2008 +0200 ide-scsi: fix race in idescsi_transfer_pc() Start DMA engine before sending content of packet command (otherwise it is possible that IRQ will happen before DMA engine is started). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 63f5abb0959337db0d5bece9cefba03cdcadec51 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:51 2008 +0200 ide: remove action argument in ide_do_drive_cmd ide_do_drive_cmd is called only with ide_preempt action argument. So we can remove the action argument in ide_do_drive_cmd and ide_action_t typedef. This patch also includes two minor cleanups: 1) ide_do_drive_cmd always succeeds so we don't need the return value; 2) the callers use blk_rq_init before ide_do_drive_cmd so there is no need to initialize rq->errors. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7e12ca11d65f4cb29ed58ea3948f8c5d4f57b35e Author: FUJITA Tomonori Date: Tue Jul 15 21:21:50 2008 +0200 ide-scsi: replace ide_do_drive_cmd with blk_execute_rq_nowait All the callers of ide_do_drive_cmd() except for ide-scsi use ide_preempt action argument. This converts ide-scsi to use blk_execute_rq_nowait instead of ide_do_drive_cmd so that we can remove the action argument in ide_do_drive_cmd and ide_action_t typedef. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ff07488346702f554aaeb6aae982540aa0302373 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:50 2008 +0200 ide: remove drive->ctl Remove drive->ctl (it is always equal to 0x08 after init time). While at it: * Use ATA_DEVCTL_OBS define. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0fd04dcc2ebb6ec9088c24b368b0ce1f42a98ef5 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:50 2008 +0200 ide: use ->OUTBSYNC in ide_set_irq() Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a732e11be1355baeeca7c47f19ab20e7baa6ce7 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:50 2008 +0200 ide: use ->OUTBSYNC in init_irq() Signed-off-by: Bartlomiej Zolnierkiewicz commit f8c4bd0ab2b8783c0f080957781e9f70bee48eaa Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:49 2008 +0200 ide: pass 'hwif *' instead of 'drive *' to ->OUTBSYNC method There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 135721446144af005109c25eeacca4fdddcd9a66 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:49 2008 +0200 ide: remove ->mmio flag from ide_hwif_t Since scc_pata host driver no longer uses IDE PCI layer / ide_dma_setup() and all other ->mmio users set also IDE_HFLAG_MMIO host flag we can safely remove ->mmio flag. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ed4af48fd660176680da905817f6e40d51436e4c Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:48 2008 +0200 ide: move IRQ unmasking out from ->tf_load method Move IRQ unmasking out from ->tf_load method to its users. There should be no functional changes caused by this patch (SELECT_MASK() is NOP except for hpt366, icside and sgiioc4). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a410e79b552bacb4481f85618aa7333b7776ed7 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:48 2008 +0200 ide: remove IDE_TFLAG_NO_SELECT_MASK taskfile flag Always call SELECT_MASK(..., 0) in ide_tf_load() (needs to be done to match ide_set_irq(..., 1)) and then remove IDE_TFLAG_NO_SELECT_MASK taskfile flag. This change should only affect hpt366 and icside host drivers since ->maskproc(..., 0) for sgiioc4 is equivalent to ide_set_irq(..., 1). Cc: Sergei Shtylyov Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit e81a3bde13343bc36613aff8f864def7171b376a Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:48 2008 +0200 ide: fix do_probe() to use SELECT_DRIVE() Fix one place in do_probe() which used ->OUTB directly instead of calling SELECT_DRIVE() (so ->selectproc method is also used). Signed-off-by: Bartlomiej Zolnierkiewicz commit 49e153e68187454e296f1e03442393f1a3f1d69c Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:47 2008 +0200 ide: remove commented out code from ide_config_drive_speed() Signed-off-by: Bartlomiej Zolnierkiewicz commit 912ef6d94cc07ce5db19a8ed8953676727d4f30c Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:47 2008 +0200 sgiioc4: use ->extra_base instead of ->dma_status for dma_handle This is a preparation for removal of ->dma_status field from ide_hwif_t. There should be no functional changes caused by this patch. Acked-by: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit 57279a7a401eed844ded4346c5ff512e622ac1de Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:47 2008 +0200 ide: remove try_to_flush_leftover_data() Just use the new & shiny ide_pad_transfer() helper instead. Also remove the superfluous check for 'drive->media == ide_disk' while at it (ide_ata_error() is used only for ide_disk devices). Signed-off-by: Bartlomiej Zolnierkiewicz commit 931ee0dc5c69e8113233d21942681ab8fecde7f9 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:47 2008 +0200 ide: remove obsoleted "ide=" kernel parameters * Remove obsoleted "ide=" kernel parameters. * Remove no longer needed: - ide_setup() - parse_options() - __setup("", ...) - module_param(options, ...) * Use module_{init,exit}() for MODULE=y case and remove MODULE ifdef. * Make ide_*acpi* and ide_doubler variables static. Signed-off-by: Bartlomiej Zolnierkiewicz commit dbac9f895f628deebc99dee86dfd21c1823013c3 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:46 2008 +0200 ide: cleanup init_ide_data() * Remove no longer need init_ide_data() call from ide_setup(). * Cleanup init_ide_data(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 232595eaff951e96cabe5e85fed35f66b72ff51e Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:46 2008 +0200 ide: remove obsoleted "hdx=" kernel parameters * Remove obsoleted "hdx=" kernel parameters. * Remove no longer used stridx() and match_parm(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 30e5ee4d1a651a0c66e86c6612c003034bd20ba2 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:46 2008 +0200 ide: remove obsoleted "idebus=" kernel parameter * Remove obsoleted "idebus=" kernel parameter. * Remove no longer needed ide_system_bus_speed() and system_bus_clock() (together with idebus_parameter and system_bus_speed variables). Signed-off-by: Bartlomiej Zolnierkiewicz commit 681a561b7ec7fdcd8f35b68e44ac6d6c70aecc04 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:45 2008 +0200 block: unexport blk_end_sync_rq All the users of blk_end_sync_rq has gone (they are converted to use blk_execute_rq). This unexports blk_end_sync_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Signed-off-by: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 52a93ba815737e3877f85b46850cffe993a22429 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:45 2008 +0200 block: remove the checking for NULL queue in blk_put_request Some uses blk_put_request asymmetrically, that is, they uses it with requests that not allocated by blk_get_request. As a result, blk_put_request has a hack to catch a NULL request_queue. Now such callers are fixed (they use blk_get_request properly). So we can safely remove the hack in blk_put_request. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Signed-off-by: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit d79c5a670ddf076a346ddcf3d9e21785ecab963f Author: FUJITA Tomonori Date: Tue Jul 15 21:21:45 2008 +0200 block: convert pd_special_command to use blk_execute_rq pd_special_command uses blk_put_request with struct request on the stack. As a result, blk_put_request needs a hack to catch a NULL request_queue. This converts pd_special_command to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Signed-off-by: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit ed820f19521de246c5b7978f8f78290733a55b20 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:45 2008 +0200 ide-cd: remove ide_cd_init_rq ide_cd_init_rq is not used by ide-cd_ioctl any more. Only cdrom_queue_request_sense use it. This converts cdrom_queue_request_sense to use blk_rq_init directly and removes ide_cd_init_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 124cafc5eb973e748c4ce3dc1caad29274e64613 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:44 2008 +0200 ide: remove ide_init_drive_cmd ide_init_drive_cmd just calls blk_rq_init. This converts the users of ide_init_drive_cmd to use blk_rq_init directly and removes ide_init_drive_cmd. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f2e1ceef45ac07d7c52d16de2531a56c453bb0f Author: FUJITA Tomonori Date: Tue Jul 15 21:21:44 2008 +0200 ide: remove ide_wait/head_wait path in ide_do_drive_cmd Now all the users of ide_do_drive_cmd using ide_wait/head_wait are converted to use blk_execute_rq this removes the ide_wait/head_wait path in ide_do_drive_cmd. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b114715ed63f3a4fdf790f5df61364fc4adadf1 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:44 2008 +0200 ide: convert ide_do_drive_cmd path to use blk_execute_rq This converts the ide_do_drive_cmd path using ide_[head_]wait to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a2d43b7566caeeeb414aa628bc2759028897dbb Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:43 2008 +0200 block: handle blk_pm_resume_request() requests in blk_execute_rq_nowait() For blk_pm_resume_request() requests (which are used only by IDE subsystem currently) the queue is stopped so we need to call ->request_fn explicitly. Thanks to: - Rafael for reporting/bisecting the bug - Borislav/Rafael for testing the fix This is a preparation for converting IDE to use blk_execute_rq(). Cc: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Cc: "Rafael J. Wysocki" Signed-off-by: Bartlomiej Zolnierkiewicz commit 64ea1b4ab7f51c5de601d291a51508c27d445f70 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:43 2008 +0200 ide-tape: convert ide_do_drive_cmd path to use blk_execute_rq This converts the ide_do_drive_cmd path using ide_wait to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 154ed280e3f48995d0689b57f10b7063add63019 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:43 2008 +0200 ide-taskfile: convert ide_do_drive_cmd path to use blk_execute_rq This converts the ide_do_drive_cmd path using ide_wait to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 6fe162381e547f457252e68521eb42fd36ec1418 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:43 2008 +0200 ide-floppy: convert ide_do_drive_cmd path to use blk_execute_rq This converts the ide_do_drive_cmd path using ide_wait to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit dd47087bc173a84e8c42644b315d38b30dc02263 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:43 2008 +0200 ide-disk: convert ide_do_drive_cmd path to use blk_execute_rq This converts the ide_do_drive_cmd path using ide_wait to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 0ef4c4db7faabe4fb8a516e9e991e1e8e87a647f Author: FUJITA Tomonori Date: Tue Jul 15 21:21:42 2008 +0200 ide-cd: convert ide_do_drive_cmd path to use blk_execute_rq This converts the ide_do_drive_cmd path using ide_wait to use blk_execute_rq. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f828546e1acb45678e73d3a9a796c1a3a8c7846 Author: FUJITA Tomonori Date: Tue Jul 15 21:21:42 2008 +0200 ide-cd: convert ide_cd_queue_pc to use blk_execute_rq This converts ide_cd_queue_pc to use blk_execute_rq, necessitating changing the ide_cd_queue_pc prototype into a form that doesn't takes a pointer to request struct. ide_cd_queue_pc works like scsi_execute. Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit c6866a6ff571eebebda45bf14b5b62188768893a Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:42 2008 +0200 ide: use __generic_unplug_device() in ide_do_drive_cmd() (take 2) * Call __elv_add_request() with 'plug' == 1 (so the device will be plugged) and then use __generic_unplug_device() instead of calling ide_do_request() directly. v2: * For blk_pm_resume_request() requests the queue is stopped so we need to call ->request_fn explicitly. Thanks to: - Rafael for reporting/bisecting the bug - Borislav/Rafael for testing the fix This is a preparation for converting IDE to use blk_execute_rq(). Cc: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Cc: "Rafael J. Wysocki" Signed-off-by: Bartlomiej Zolnierkiewicz commit e8a96aa71355edef9f40ce01459acf25c50cb78c Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 15 21:21:41 2008 +0200 ide: set REQ_PREEMPT request flag in ide_do_drive_cmd() users * Set REQ_PREEMPT request flag in ide_do_drive_cmd() users for ide_preempt and ide_head_wait action types. * Remove setting REQ_PREEMPT from ide_do_drive_cmd(). While at it: * Set 'where' variable outside ide_lock. This is a preparation for converting IDE to use blk_execute_rq(). There should be no functional changes caused by this patch. Cc: FUJITA Tomonori Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d0cc8ae29b310ceb6516a6840ca22738aab7820 Author: Harvey Harrison Date: Tue Jul 15 21:21:41 2008 +0200 ide: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit a792bd5a407872714942f50bf24083874ce03745 Author: Harvey Harrison Date: Tue Jul 15 21:21:41 2008 +0200 ide-tape: use clamp_t() rather than nested min_t()/max_t() Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit d6cddd3cac6650f273a2595c9f403aacee01ab05 Author: Harvey Harrison Date: Tue Jul 15 21:21:41 2008 +0200 ide: eliminate FIT() macro Replace the FIT() macro with the kernel-provided clamp_val() macro. FIT was always being called with a member of a struct ide_timing, which are shorts, and constant constraints for the min and max. Thus we can use clamp_val, rather than clamp_t. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 5ddee516dae1acc779b36cb7565720a80503196d Author: Mikhail Cherkashin Date: Tue Jul 15 21:21:40 2008 +0200 ide: disable drive interrupts in ide_driveid_update() Since ide_driveid_update() uses polling to execute the IDENTIFY DEVICE command but clears nIEN bit in the control register and doesn't mask the IDE interrupt, the latter does happen and lead to the corresponding message to appear: ide0: unexpected interrupt, status=0x58, count=1 when e.g. running hdparm with option -X with a non-PCI IDE driver... Signed-off-by: Mikhail Cherkashin Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c6e46ddb343004e33653f62f0b09c0721cd8c12 Author: Mikhail Cherkashin Date: Tue Jul 15 21:21:40 2008 +0200 palm_bk3710: fix tRP for UDMA mode 4 Fix tRP timing for UDMA mode 4 according to the ATA specification. Signed-off-by: Mikhail Cherkashin Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e4e0fadcd929138aa82130a1c5f22206d86d7bb2 Merge: 1435176... ec1aef3... Author: Linus Torvalds Date: Tue Jul 15 11:03:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: remove DIRENTSIZ JFS: diAlloc() should return -EIO rather than EIO JFS: skip bad iput() call in error path JFS: switch to seq_files JFS: 0 is not valid errno value so return NULL from jfs_lookup commit 14351760e314b8a9720804b11c6bd11d0c0b1258 Author: Linus Torvalds Date: Tue Jul 15 11:01:39 2008 -0700 Fix printk format warning in clocksource/acpi_pm.c For real, this time. The earlier attempt just moved the warning around. Signed-off-by: Linus Torvalds commit b27418aa551a153e8bf1bd16cf93e5786f9590a9 Author: Thomas Bogendoerfer Date: Mon Jul 14 16:58:47 2008 +0200 [MIPS] Remove mips_machtype for LASAT machines This is the LASAT part of the mips_machtype removal. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0b56fd8c7abbf85baeecb77be25c54d3c7d11587 Author: Thomas Bogendoerfer Date: Mon Jul 14 15:54:30 2008 +0200 [MIPS] Remove mips_machtype from EMMA2RH machines This is the EMMA2RH part of the mips_machtype removal. [Ralf: Fixed to the #error statements] Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit c660729501894e0b88054ad4b66a5f98a1a2a37e Author: Thomas Bogendoerfer Date: Mon Jul 14 15:11:40 2008 +0200 [MIPS] Remove mips_machtype from ARC based machines This is the ARC part of the mips_machtype removal. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 9528356308ecd2fb6368472615996a8602c02964 Author: Yoichi Yuasa Date: Fri Jul 11 22:34:48 2008 +0900 [MIPS] MTX-1 flash partition setup move to platform devices registration Signed-off-by: Yoichi Yuasa Acked-By: David Woodhouse Signed-off-by: Ralf Baechle commit 7b22609442a32050e37cec5f6735376af61e68a1 Author: Atsushi Nemoto Date: Mon Jul 14 00:15:04 2008 +0900 [MIPS] TXx9: cleanup and fix some sparse warnings * Do not return void value * Make some functions static * Do not include unnecessary bootinfo.h Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4c642f3f5e9f3f1a2fcce2c3fa1a94bf80142202 Author: Atsushi Nemoto Date: Sun Jul 13 23:37:56 2008 +0900 [MIPS] TXx9: rename asm-mips/mach-jmr3927 to asm-mips/mach-tx39xx Rename mach-jmr3927 directory to more proper name to make adding other platforms easier. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6e68665e51b9937b132a990b9ae7f04118e64688 Author: Yoichi Yuasa Date: Sun Jul 13 20:04:18 2008 +0900 [MIPS] remove machtype for group Toshiba Signed-off-by: Yoichi Yuasa Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b6c4053610f04011bc0ecbc5a0417afe169b2693 Author: Yoichi Yuasa Date: Sun Jul 13 20:02:13 2008 +0900 [MIPS] separate rbtx4927_time_init() and rbtx4937_time_init() Signed-off-by: Yoichi Yuasa Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a38c47519832f22659244fd8437722b7aaa67f9a Author: Yoichi Yuasa Date: Sun Jul 13 20:01:04 2008 +0900 [MIPS] separate rbtx4927_arch_init() and rbtx4937_arch_init() Signed-off-by: Yoichi Yuasa Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a00fb6694f15b3bccf105f34f10bbcb6b47af67c Author: Yoichi Yuasa Date: Sun Jul 13 19:54:08 2008 +0900 [MIPS] txx9_cpu_clock setup move to rbtx4927_time_init() Signed-off-by: Yoichi Yuasa Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 7a1fdf1946b641f7c2866b3386414657eeb88084 Author: Yoichi Yuasa Date: Sun Jul 13 19:51:55 2008 +0900 [MIPS] txx9_board_vec set directly without mips_machtype Signed-off-by: Yoichi Yuasa Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b03d7b18fd783f39e31560d568e7db954f3080af Author: Thomas Bogendoerfer Date: Fri Jul 11 23:03:03 2008 +0200 [MIPS] IP22: Add platform device for Indy volume buttons Create platform device for Indy volume buttons and remove button handling from ip22-reset.c Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit efff4ae259b8f750ea426d3084007f85c0a15a85 Author: Yoichi Yuasa Date: Fri Jul 11 22:45:21 2008 +0900 [MIPS] cmbvr4133: Remove support It cannot be built for a long time and nobody maintains it. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3f16654f36723f5ef1ca38c4e2078ca377a0f86f Author: Yoichi Yuasa Date: Fri Jul 11 22:39:18 2008 +0900 [MIPS] remove wrppmc_machine_power_off() It can be replace wrppmc_machine_halt(). Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 9ecb1ff1b295a515b21d0ac83d8bd39b07335aab Author: Yoichi Yuasa Date: Fri Jul 11 22:39:14 2008 +0900 [MIPS] replace inline assembler to cpu_wait() Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5b438c44082d9f09fed10f3621fe8d5c93d3676d Author: Thomas Bogendoerfer Date: Thu Jul 10 20:29:55 2008 +0200 [MIPS] IP22/28: Add platform devices for HAL2 Create platform devices for hal2 and add option for selecting HAL2 alsa driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit bf744d417ff2fe1e8e386c7ad06e79c34a078642 Author: Atsushi Nemoto Date: Fri Jul 11 23:28:04 2008 +0900 [MIPS] TXx9: Update and merge defconfigs Merge rbhma4200(RBTX4927/37) and rbhma4500(RBTX4938) defconfig into single rbtx49xx defconfig. And jmr3927 defconfig is also updated. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit edcaf1a6a77315562e9781245cc8e028c9a921dc Author: Atsushi Nemoto Date: Fri Jul 11 23:27:54 2008 +0900 [MIPS] TXx9: Make single kernel can support multiple boards Make single kernel can be used on RBTX4927/37/38. Also make some SoC-specific code independent from board-specific code. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 766891565bdaf605ea4aebe3e75de77e848254d0 Author: Atsushi Nemoto Date: Fri Jul 11 00:33:21 2008 +0900 [MIPS] TXx9: Update defconfigs Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 89d63fe179520b11f54de1f26755b7444c79e73a Author: Atsushi Nemoto Date: Fri Jul 11 00:33:08 2008 +0900 [MIPS] TXx9: Reorganize PCI code Split out PCIC dependent code and SoC dependent code from board dependent code. Now TX4927 PCIC code is independent from TX4927/TX4938 SoC code. Also fix some build problems on CONFIG_PCI=n. As a bonus, "FPCIB0 Backplane Support" is available for all TX39/TX49 boards and PCI66 support is available for all TX49 boards. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 22b1d707ffc99faebd86257ad19d5bb9fc624734 Author: Atsushi Nemoto Date: Fri Jul 11 00:31:36 2008 +0900 [MIPS] TXx9: Reorganize code Move arch/mips/{jmr3927,tx4927,tx4938} into arch/mips/txx9/ tree. This will help more code sharing and maintainance. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 14476007c90005c8992b786c15a59cca31f53268 Author: Atsushi Nemoto Date: Thu Jul 10 01:02:08 2008 +0900 [MIPS] txx9: Make gpio_txx9 entirely spinlock-safe TXx9 GPIO set/get routines are spinlock-safe. This patch make gpio_direction_{input,output} routines also spinlock-safe so that they can be used during early board setup. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 315806cb19f9d375dccbc2d60fa14e16afdcd5ac Author: Ralf Baechle Date: Tue Jul 15 18:44:34 2008 +0100 [MIPS] Malta: Cleanup organization of code into directories. Signed-off-by: Ralf Baechle commit eda49eeebf263f3a34f6968959fc2e4825b42beb Author: Ralf Baechle Date: Tue Jul 15 18:44:34 2008 +0100 [MIPS] Remove always true ifdef conditions. Signed-off-by: Ralf Baechle commit d5deda6fa1ca434d36c2daffb63127e92c6470f5 Author: Ralf Baechle Date: Tue Jul 15 18:44:34 2008 +0100 [MIPS] MSC01: Cleanup configuration. This shouldn't depend on CONFIG_MIPS_BOARDS_GEN which is about to go away. Signed-off-by: Ralf Baechle commit 6da5e30b879394f0c55b2bbf3353d797097c8f0f Author: Ralf Baechle Date: Tue Jul 15 18:44:34 2008 +0100 [MIPS] Remove impossible ifdef and code wrapped by it. Signed-off-by: Ralf Baechle commit 1398ddb2ebdb41e8efe6ba42505fd452704c8405 Author: Ralf Baechle Date: Tue Jul 15 18:44:33 2008 +0100 [MIPS] SEAD: Remove support code. Signed-off-by: Ralf Baechle commit 2157bc68711bf0e69f9aca4d310bd863298fbb3f Author: Ralf Baechle Date: Tue Jul 15 18:44:33 2008 +0100 [MIPS] Atlas: Remove support code. Signed-off-by: Ralf Baechle commit 372a775f50347f5c1dd87752b16e5c05ea965790 Author: Ralf Baechle Date: Tue Jul 15 18:44:33 2008 +0100 [MIPS] Enable -ffunction-sections sections. -ffunction-sections serves as a workaround for the problems caused by the limited branch range in some inline assembler fragments for very large compilation units. Signed-off-by: Ralf Baechle commit 74c8494eeb7b321e5922ee43120f91c7c9b7317f Author: Ralf Baechle Date: Tue Jul 15 18:44:33 2008 +0100 [MIPS] Bigsur: Make defconfig a bit more useful. Signed-off-by: Ralf Baechle commit b012cffe7f6971e9ba5afca034a3d80e1cf1435c Author: Ralf Baechle Date: Tue Jul 15 18:44:33 2008 +0100 [MIPS] Replace use of print_symbol with new %sP pointer format. Signed-off-by: Ralf Baechle commit b29eee4935d9e5952a7ea8543ea499f06fb86808 Author: Atsushi Nemoto Date: Wed Apr 16 02:00:45 2008 +0900 [MIPS] rbtx4927: misc cleanups * Merge tx4927_pci.h into tx4927.h * Kill (broken) external PCI clock frequency reporting * Kill unnecessary wbflush() * Kill unnecessary includes * Kill debug garbages Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit af3e69cfc9644c742a22647a5091779b9dfb9653 Author: Atsushi Nemoto Date: Fri Jul 4 00:59:40 2008 +0900 [MIPS] Declare some pci variables in header file Declare pci_probe_only, etc. in asm-mips/pci.h file. This will fix some sparse warnings. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8fa9cc16f820915fbe8ab6047c420703a87c307e Author: Thomas Bogendoerfer Date: Sat Jul 5 01:12:13 2008 +0200 [MIPS] IP32: Add platform devices for audio and volume button Create platform devices for audio and volume button driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 7a2852e49fe2d19296812c0f0f833b0ee3043bbb Author: Thomas Bogendoerfer Date: Tue Mar 18 22:47:56 2008 +0100 [MIPS] IP28: switch to "normal" mode after PROM no longer needed SGI-IP28 is running in so called slow mode, when kernel is started from the PROM. PROM calls must be done in slow mode otherwise the PROM will issue an error. To get better memory performance we now switch to normal mode, when the PROM is no longer needed. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit c3dd3de789630b9b1ac8f5175f1c21bbf1cca939 Author: Dmitri Vorobiev Date: Wed Jun 18 10:18:23 2008 +0300 [MIPS] Add an appropriate header into display.c The following errors were caught by sparse: >>>>>>>>>>> arch/mips/mips-boards/generic/display.c:30:6: warning: symbol 'mips_display_message' was not declared. Should it be static? arch/mips/mips-boards/generic/display.c:58:6: warning: symbol 'mips_scroll_message' was not declared. Should it be static? >>>>>>>>>>> This patch includes the asm/mips-boards/prom.h header file into arch/mips/mips-boards/generic/display.c. This adds the needed function declarations, and the errors are gone. Compile-tested using defconfigs for Malta, Atlas and SEAD boards. Runtime test was successfully performed by booting a Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 6ccab43b49beced70d8663b47ab471c4a23cb580 Author: Dmitri Vorobiev Date: Wed Jun 18 10:18:22 2008 +0300 [MIPS] Make gcmp_probe() static The gcmp_probe() function is needlessly defined global, and this patch makes it static. Tested by booting a Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 7afed6a6c92fadedde8474bbfd92d6debc5e23b0 Author: Dmitri Vorobiev Date: Wed Jun 18 10:18:21 2008 +0300 [MIPS] A few cleanups in malta_int.c Both the fill_ipi_map() routine and the gic_intr_map array defined in arch/mips/mips-boards/malta/malta_int.c are not used outside of the latter file. Thus, these objects can become static. Moreover, these two objects are used by the MT code only, which is why this patch adds the appropriate ifdef. While at it, this patch removes an unnecessary preprocessing macro in favor of the commonly used ARRAY_SIZE. Successfully tested using a Qemu-emulated Malta board for both SMP and UP kernels. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit d58eaab5a01b9cf1819ec57271ac214a39bf6278 Author: Dmitri Vorobiev Date: Wed Jun 18 10:18:20 2008 +0300 [MIPS] Namespace clean-up in arch/mips/pci/pci.c The following symbols hose_head hose_tail are needlessly defined global in arch/mips/pci/pci.c, and this patch makes them static. The variable pci_isa_hose is not used, and is removed by this patch. Spotted by namespacecheck. Tested by booting a Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 1ea6428cbdbb0fd1a6e7e8c3044253eab9aff4c7 Author: Dmitri Vorobiev Date: Wed Jun 18 10:18:19 2008 +0300 [MIPS] i8253: make the pit_clockevent variable static The pit_clockevent symbol is needlessly defined global. This patch makes that variable static. Spotted by sparse. Compile-tested using Malta defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 8736595bb2b0ce6188ca31308c40921f3f02f35b Author: Thomas Bogendoerfer Date: Wed Jul 2 21:06:03 2008 +0200 [MIPS] Enable FAST-20 for onboard scsi Both onboard controller of the O2 support FAST-20 transfer speeds, but the bit, which signals that to the aic driver, isn't set. Instead of adding detection code to the scsi driver, we just fake the missing bit in the PCI config space of the scsi chips. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit f2bc713f15103372c0efab5fc09dd813655c5096 Author: Yoichi Yuasa Date: Thu Jun 26 21:52:51 2008 +0900 [MIPS] Cobalt: Register new LCD platform device. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 94daeb90698c56a85ed219eeb18d4a8cddde7b03 Author: David Daney Date: Wed Jun 11 10:04:25 2008 -0700 [MIPS] Fix asm constraints for 'ins' instructions. The third operand to 'ins' must be a constant int, not a register. [Ralf: The bug was actually intensional. Some versions used to throw an error under certain circumstances for code like: static inline void f(unsigned nr, unsigned *p) { unsigned short bit = nr & 5; if (__builtin_constant_p(bit)) { __asm__ __volatile__ (" foo %0, %1" : "=m" (*p) : "i" (bit)); } else { /* Do something else. */ } } because gcc was not able to figure out that the "i" constraint was possibly at the early stage when the constraint are getting verified. The solution was using "ri" instead of "i". The "ri" would keep gcc happy but in the end for code generation always the "i" constraint would be satisfied. The problem afair originally appeared in the i386 io.h and also hit it's mips equivalent. From there the workaround spread to many of the inline assembler functions.] Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 043ebd6c9de7500a399017643bbc5cafd4e37060 Author: Maciej W. Rozycki Date: Fri Jun 13 00:25:36 2008 +0100 [MIPS] DECstation: Document more MB ASIC register bits Document a few more register bits provided by the MB ASIC used on R4000SC (KN04) and R4400SC (KN05) CPU daughtercards with the DECstation. Reverse-engineered and not documented anywhere else to the best of my knowledge. Bit names appended to the last underscore the same as reported by the firmware in register dumps. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 52f4f6bbcff5510f662a002ec1219660ea25af62 Author: Robert P. J. Day Date: Thu Jun 12 15:20:05 2008 -0400 [MIPS] Use kernel-supplied ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 2957c9e61ee9c37e7ebf2c8acab03e073fe942fd Author: Ralf Baechle Date: Tue Jul 15 18:44:30 2008 +0100 [MIPS] IRIX: Goodbye and thanks for all the fish Never terribly functional or popular, plagued by hard to fix bugs the time to say goodbye has more than arrived. Signed-off-by: Ralf Baechle commit 997288517ec839b7639fcba77111256b13a66000 Author: Manuel Lauss Date: Mon Jun 9 08:39:58 2008 +0200 [MIPS] Alchemy: remove unused MMC macros from db1x00 header. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 4b62220b608ab71876d8920d5590f1db4ee2eb4a Author: Ralf Baechle Date: Tue Jul 15 18:44:29 2008 +0100 [MIPS] Alchemy, PNX: Use symbolic constants for DMA masks. Signed-off-by: Ralf Baechle commit f366e2085f28358a5294b8cdc847a377c02eb22d Author: Dmitri Vorobiev Date: Thu May 29 17:57:11 2008 +0300 [MIPS] unexport {allocate,free}_irqno The following routines allocate_irqno() free_irqno() seem not to be used outside of the core kernel code, hence exporting these functions is pointless. This patch removes the export. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 17f61e61b4a1d3ca254668cf12c1c5d828d892fd Author: Dmitri Vorobiev Date: Thu May 29 17:57:09 2008 +0300 [MIPS] Make two functions static The following routines uasm_rel_highest() uasm_rel_higher() are needlessly defined global. This patch makes them static. Compile-tested using a customized config for the Malta board. Booting the same board up to the shell prompt was also successful with this patch applied. Spotted by sparse. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 07cdb78436d52416a582e645b9afb6e26f986bc9 Author: Dmitri Vorobiev Date: Thu May 29 17:57:08 2008 +0300 [MIPS] fix sparse warning about setup_early_printk() This patch fixes the following sparse warning: <<<<<<<< arch/mips/kernel/early_printk.c:35:13: warning: symbol 'setup_early_printk' was not declared. Should it be static? <<<<<<<< The fix is to define a prototype of the setup_early_printk() function and to include the appropriate header into arch/mips/kernel/early_printk.c. [Ralf: Sorted includes again] Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit c88a8b4ab0e1a1f06938939d9ba42e9da6144ccb Author: Maciej W. Rozycki Date: Mon Jun 9 17:19:53 2008 +0100 [MIPS] Remove obsolete isa_slot_offset The isa_slot_offset variable and its __ISA_IO_base macro is not used anywhere anymore. It does not look like a decent interface per today's standards either. Remove both including all places of initialization. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit cb11dfa0247df479e384c4a7ab6846f3a6bf1570 Author: David Daney Date: Mon Jun 9 16:30:03 2008 -0700 [MIPS] Remove board_watchpoint_handler It is not used anywhere in tree. Signed-off-by: David Daney Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit 2954c02a884dc0ba9e91882c0aba13bcb9d22e6c Author: Chen, Huacai Date: Tue Jun 10 09:05:08 2008 +0800 [MIPS] modify the MIPS CPU classfication Signed-off-by: Huacai Chen Signed-off-by: Ralf Baechle commit da6e88f4963385b1b649b043691d206fbb951913 Merge: 61d97f4... 7dc9719... Author: Linus Torvalds Date: Tue Jul 15 10:39:57 2008 -0700 Merge branch 'timers/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: add PCI ID for 6300ESB force hpet x86: add another PCI ID for ICH6 force-hpet kernel-paramaters: document pmtmr= command line option acpi_pm clccksource: fix printk format warning nohz: don't stop idle tick if softirqs are pending. pmtmr: allow command line override of ioport nohz: reduce jiffies polling overhead hrtimer: Remove unused variables in ktime_divns() hrtimer: remove warning in hres_timers_resume posix-timers: print RT watchdog message commit 61d97f4fcf73d30864a52373a34093be25be6a03 Merge: 38c4657... 48627d8... Author: Linus Torvalds Date: Tue Jul 15 10:39:22 2008 -0700 Merge branch 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: remove extraneous checks in manage.c genirq: Expose default irq affinity mask (take 3) commit 38c46578ffd8ffbfec514c2a9876d527303322d6 Merge: e7849f1... 4abaca1... Author: Linus Torvalds Date: Tue Jul 15 10:38:46 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] Fix GFS2's use of do_div() in its quota calculations [GFS2] Remove unused declaration [GFS2] Remove support for unused and pointless flag [GFS2] Replace rgrp "recent list" with mru list [GFS2] Allow local DF locks when holding a cached EX glock [GFS2] Fix delayed demote race [GFS2] don't call permission() [GFS2] Fix module building [GFS2] Glock documentation [GFS2] Remove all_list from lock_dlm [GFS2] Remove obsolete conversion deadlock avoidance code [GFS2] Remove remote lock dropping code [GFS2] kernel panic mounting volume [GFS2] Revise readpage locking [GFS2] Fix ordering of args for list_add [GFS2] trivial sparse lock annotations [GFS2] No lock_nolock [GFS2] Fix ordering bug in lock_dlm [GFS2] Clean up the glock core commit e79aec291da55aa322ddb5d8f3bb04cdf69470d5 Author: Rabin Vincent Date: Fri Jul 4 00:40:32 2008 +0530 slab: rename slab_destroy_objs With the removal of destructors, slab_destroy_objs no longer actually destroys any objects, making the kernel doc incorrect and the function name misleading. In keeping with the other debug functions, rename it to slab_destroy_debugcheck and drop the kernel doc. Signed-off-by: Rabin Vincent Signed-off-by: Pekka Enberg commit 88e4ccf294ca62c2da998012a83533ce150c8dce Author: Alexey Dobriyan Date: Mon Jun 23 02:58:37 2008 +0400 slub: current is always valid Acked-by: Christoph Lameter Signed-off-by: Alexey Dobriyan Signed-off-by: Pekka Enberg commit 0937502af7c9b648ed4e884ccb7f504b01a005a1 Author: Christoph Lameter Date: Wed May 28 10:32:22 2008 -0700 slub: Add check for kfree() of non slab objects. We can detect kfree()s on non slab objects by checking for PageCompound(). Works in the same way as for ksize. This helped me catch an invalid kfree(). Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit e7849f16c13476288fe4fbd420975e8456c75aa0 Merge: af5329c... 131b943... Author: Linus Torvalds Date: Tue Jul 15 10:32:39 2008 -0700 Merge branch 'core/topology' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/topology' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: cputopology: always define CPU topology information, clean up cpu topology: always define CPU topology information commit af5329cdf51cdd208a323e521faa46800a16d2ec Merge: 1dc60c5... 7798ed0... Author: Linus Torvalds Date: Tue Jul 15 10:31:35 2008 -0700 Merge branch 'core/stacktrace' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/stacktrace' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: generic-ipi: powerpc/generic-ipi tree build failure stacktrace: fix build failure on sparc64 stacktrace: export save_stack_trace[_tsk] stacktrace: fix modular build, export print_stack_trace and save_stack_trace backtrace: replace timer with tasklet + completions stacktrace: add saved stack traces to backtrace self-test stacktrace: print_stack_trace() cleanup debugging: make stacktrace independent from DEBUG_KERNEL stacktrace: don't crash on invalid stack trace structs commit b0e92aae157cbf78ede7b7dd03967b49fcb2102e Author: Jeff Layton Date: Tue Jul 15 12:35:20 2008 -0400 lockd: nlm_release_host() checks for NULL, caller needn't No need to check for a NULL argument twice. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 7890ea1f95fa8968fa6f5bb5860e6632932abfd3 Author: Herbert Xu Date: Tue Jul 15 23:46:24 2008 +0800 Revert crypto: prng - Deterministic CPRNG This patch is clearly not ready yet for prime time. Signed-off-by: Herbert Xu commit 1dc60c53d36b08f361e1a2767c41196acce96d08 Merge: 8d2567a... 3f1c387... Author: Linus Torvalds Date: Tue Jul 15 08:41:43 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 compile error with CONFIG_AS_CFI=n Documentation: document debugpat commandline option x86: sanitize Kconfig x86, suspend, acpi: correct and add comments about Big Real Mode x86, suspend, acpi: enter Big Real Mode Fixed trivial conflict in include/asm-x86/dwarf2.h due to just using different names for "cfi_ignore" (vs "__cfi_ignore") macro. commit 8d2567a620ae8c24968a2bdc1c906c724fac1f6a Merge: bcf559e... 49f1487... Author: Linus Torvalds Date: Tue Jul 15 08:36:38 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: (61 commits) ext4: Documention update for new ordered mode and delayed allocation ext4: do not set extents feature from the kernel ext4: Don't allow nonextenst mount option for large filesystem ext4: Enable delalloc by default. ext4: delayed allocation i_blocks fix for stat ext4: fix delalloc i_disksize early update issue ext4: Handle page without buffers in ext4_*_writepage() ext4: Add ordered mode support for delalloc ext4: Invert lock ordering of page_lock and transaction start in delalloc mm: Add range_cont mode for writeback ext4: delayed allocation ENOSPC handling percpu_counter: new function percpu_counter_sum_and_set ext4: Add delayed allocation support in data=writeback mode vfs: add hooks for ext4's delayed allocation support jbd2: Remove data=ordered mode support using jbd buffer heads ext4: Use new framework for data=ordered mode in JBD2 jbd2: Implement data=ordered mode handling via inodes vfs: export filemap_fdatawrite_range() ext4: Fix lock inversion in ext4_ext_truncate() ext4: Invert the locking order of page_lock and transaction start ... commit bcf559e385ba099996c90469c817d2eb38aba418 Merge: 732b720... 242e3df... Author: Linus Torvalds Date: Tue Jul 15 08:35:28 2008 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon: fixup issue with radeon and PAT support. commit 732b72069e77f288efa1d5245cc699d7cb98e528 Merge: 97c7d1e... 089be43... Author: Linus Torvalds Date: Tue Jul 15 08:16:48 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: Revert "SELinux: allow fstype unknown to policy to use xattrs if present" commit 97c7d1ea1f80f457da78b11ca638b7096a4548ee Merge: 4d3702b6... f507d28... Author: Linus Torvalds Date: Tue Jul 15 08:01:15 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: (52 commits) IB/mlx4: Use kzalloc() for new QPs so flags are initialized to 0 mlx4_core: Use MOD_STAT_CFG command to get minimal page size RDMA/cma: Simplify locking needed for serialization of callbacks RDMA/addr: Keep pointer to netdevice in struct rdma_dev_addr RDMA/cxgb3: Fixes for zero STag RDMA/core: Add local DMA L_Key support IB/mthca: Fix check of max_send_sge for special QPs IB/mthca: Use round_jiffies() for catastrophic error polling timer IB/mthca: Remove "stop" flag for catastrophic error polling timer IPoIB: Double default RX/TX ring sizes IPoIB/cm: Reduce connected mode TX object size IB/ipath: Use IEEE OUI for vendor_id reported by ibv_query_device() IPoIB: Use dev_set_mtu() to change mtu IPoIB: Use rtnl lock/unlock when changing device flags IPoIB: Get rid of ipoib_mcast_detach() wrapper IPoIB: Only set Q_Key once: after joining broadcast group IPoIB: Remove priv->mcast_mutex IPoIB: Remove unused IPOIB_MCAST_STARTED code RDMA/cxgb3: Set rkey field for new memory windows in iwch_alloc_mw() RDMA/nes: Get rid of ring_doorbell parameter of nes_post_cqp_request() ... commit 0d7eff873caaeac84de01a1acdca983d2c7ba3fe Author: Artem Bityutskiy Date: Mon Jul 14 19:08:38 2008 +0300 UBIFS: include to compilation Add UBIFS to Makefile and Kbuild. Signed-off-by: Artem Bityutskiy Signed-off-by: Adrian Hunter commit 1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d Author: Artem Bityutskiy Date: Mon Jul 14 19:08:37 2008 +0300 UBIFS: add new flash file system This is a new flash file system. See http://www.linux-mtd.infradead.org/doc/ubifs.html Signed-off-by: Artem Bityutskiy Signed-off-by: Adrian Hunter commit fe9233fb6914a0eb20166c967e3020f7f0fba2c9 Author: Chandra Seetharaman Date: Fri May 23 18:16:40 2008 -0700 [SCSI] scsi_dh: fix kconfig related build errors Do not automatically "select" SCSI_DH for dm-multipath. If SCSI_DH doesn't exist,just do not allow hardware handlers to be used. Handle SCSI_DH being a module also. Make sure it doesn't allow DM_MULTIPATH to be compiled in when SCSI_DH is a module. [jejb: added comment for Kconfig syntax] Signed-off-by: Chandra Seetharaman Reported-by: Randy Dunlap Reported-by: Andrew Morton Signed-off-by: James Bottomley commit c43d8636971c39da993e94082fd65bfff421618e Author: David Howells Date: Thu Jul 10 12:28:48 2008 +0100 sdio_uart: Fix SDIO break control to now return success or an error This is a consequence of patch 9ea761bfef52c116fed4715d4043392c2503fe6a. Signed-off-by: David Howells Signed-off-by: Pierre Ossman commit 6a36913a33cf3d366e124f25c486a71212d02bce Author: Sascha Sommer Date: Tue Jul 15 14:21:29 2008 +0200 mmc: host driver for Ricoh Bay1Controllers Signed-off-by: Sascha Sommer Signed-off-by: Pierre Ossman commit ea901300cd8b809285fa5cbced18124f127e0ac6 Author: Tomas Winkler Date: Thu Jul 10 03:01:56 2008 +0300 sdio: sdio_io.c Fix sparse warnings Unfold nested macros it creates not readable code and sparse warnings sdio_io.c:190:9: warning: symbol '_min1' shadows an earlier one Signed-off-by: Tomas Winkler Signed-off-by: Pierre Ossman commit 62a7573ee9f31d4fdb330b3e68ebf6efaba1d57c Author: Benzi Zbit Date: Thu Jul 10 02:41:43 2008 +0300 sdio: fix the use of hard coded timeout value. This adds reading and using of enable_timeout from the CIS Signed-off-by: Benzi Zbit Signed-off-by: Tomas Winkler Signed-off-by: Pierre Ossman commit 3f1c38723eb467d34d704d0ee6e7b796ba4981ee Author: Kevin Winchester Date: Mon Jul 14 21:36:13 2008 -0300 x86: Fix compile error with CONFIG_AS_CFI=n AS arch/x86/lib/csum-copy_64.o arch/x86/lib/csum-copy_64.S: Assembler messages: arch/x86/lib/csum-copy_64.S:48: Error: Macro `ignore' was already defined make[1]: *** [arch/x86/lib/csum-copy_64.o] Error 1 make: *** [arch/x86/lib] Error 2 It appears that csum-copy_64.S and dwarf2.h both define an ignore macro. I would expect one of them can be renamed quite easily, unless they are references elsewhere. Caused-by-commit: 392a0fc96bd059b38564f5f8fb58327460cb5a9d x86: merge dwarf2 headers Signed-off-by: Thomas Gleixner commit d3af01f18bf18e9b2a95711894fc239daeab5e2e Author: Thomas Gleixner Date: Tue Jul 15 15:04:56 2008 +0200 Documentation: document debugpat commandline option Signed-off-by: Thomas Gleixner commit aba3728ce2e8ce85e1e5f6b275131e9332256789 Author: Thomas Gleixner Date: Tue Jul 15 14:48:48 2008 +0200 x86: sanitize Kconfig Set default n for MEMTEST and MTRR_SANITIZER and fix the help texts. Signed-off-by: Thomas Gleixner commit 2b30a55d4d09254d6b25814bf6ac0b7843afdc99 Author: Roel Kluin Date: Tue Jul 15 15:07:19 2008 +0200 ALSA: Au1xpsc: psc not disabled when TX is idle TX idleness isn't tested, but RX twice. PSC is not disabled when TX is idle Signed-off-by: Roel Kluin Acked-by: Manuel Lauss Signed-off-by: Takashi Iwai commit f6127efba1295b4668327b97014e678370028827 Author: Rene Herman Date: Tue Jul 15 03:00:21 2008 +0200 ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai commit c71f65129a1fb67bc6b9b8d03b493675b5c9302b Author: Andres Salomon Date: Mon Jul 7 17:25:56 2008 -0400 mmc: OLPC: update vdd/powerup quirk comment This comment update got lost in the great floo^Wmerge. As Pierre pointed out, no one knows what 'CaFe' is. Signed-off-by: Andres Salomon Signed-off-by: Pierre Ossman commit c8b3e02eb250ceb661437e9b198757eff0eb6fd2 Author: Tomas Winkler Date: Sat Jul 5 19:52:04 2008 +0300 mmc: fix spares errors of sdhci.c 1. sdhci_prepare_data: fix shadowing of count variable u8 count int count -> sg_cnt; 2. sdhci_add_host: assignment of integer to pointer dma_mask = 0 -> dma_mask = NULL; Signed-off-by: Tomas Winkler Signed-off-by: Pierre Ossman commit 23af60398af2f5033e2f53665538a09f498dbc03 Author: Pierre Ossman Date: Sun Jul 6 01:10:27 2008 +0200 mmc: remove multiwrite capability Relax requirements on host controllers and only require that they do not report a transfer count than is larger than the actual one (i.e. a lower value is okay). This is how many other parts of the kernel behaves so upper layers should already be prepared to handle that scenario. This gives us a performance boost on MMC cards. Signed-off-by: Pierre Ossman commit 97067d5581ec831a75a45a52e417bee0f7943dbf Author: Pierre Ossman Date: Sun Jul 6 00:51:07 2008 +0200 wbsd: fix bad dma_addr_t conversion DMA addresses are not pointers, so don't treat them as such. Avoids compiler warnings when using 64-bit DMA addresses on a 32-bit system. Signed-off-by: Pierre Ossman commit 7d2be0749a59096a334c94dc48f43294193cb8ed Author: Haavard Skinnemoen Date: Mon Jun 30 18:35:03 2008 +0200 atmel-mci: Driver for Atmel on-chip MMC controllers This is a driver for the MMC controller on the AP7000 chips from Atmel. It should in theory work on AT91 systems too with some tweaking, but since the DMA interface is quite different, it's not entirely clear if it's worth merging this with the at91_mci driver. This driver has been around for a while in BSPs and kernel sources provided by Atmel, but this particular version uses the generic DMA Engine framework (with the slave extensions) instead of an avr32-only DMA controller framework. This driver can also use PIO transfers when no DMA channels are available, and for transfers where using DMA may be difficult or impractical for some reason (e.g. the DMA setup overhead is usually not worth it for very short transfers, and badly aligned buffers or lengths are difficult to handle.) Currently, the driver only support PIO transfers. DMA support has been split out to a separate patch to hopefully make it easier to review. 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 3.5 MiB/s on fast cards with debugging disabled. The driver has also been tested using the mmc_test module on the same cards. All tests except 7, 9, 15 and 17 succeed. The first two are unsupported by all the cards I have, so I don't know if the driver handles this correctly. The last two fail because the hardware flags a Data CRC Error instead of a Data Timeout error. I'm not sure how to deal with that. Documentation for this controller can be found in many data sheets from Atmel, including the AT32AP7000 data sheet which can be found here: http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Signed-off-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit 6d37333163025b46afbcad434ec9a5f2e88e7254 Author: Tomas Winkler Date: Mon Jun 30 10:50:24 2008 +0300 mmc: fix sdio_io sparse errors This patch fixes sdio_io sparse errors. This fix changes signature of API functions, changing unsigned char -> u8 unsigned short -> u16 unsigned long -> u32 - this was probably a bug in 64 bit platforms Signed-off-by: Tomas Winkler Signed-off-by: Pierre Ossman commit 9eeebd22ca757fee8dc10ffe6fa6992f33a3c5ec Author: Tomas Winkler Date: Mon Jun 30 10:50:23 2008 +0300 mmc: wbsd.c fix shadowing of 'dma' variable This patch fix warning :shadowing dma variable and made use of module_param_named instead of module_param Signed-off-by: Tomas Winkler Acked-by: Marcel Holtmann Signed-off-by: Pierre Ossman commit 7e9c7b64022b7faff6022df64baec8ab467d0bfd Author: Ben Dooks Date: Mon Jun 30 22:40:39 2008 +0100 MMC: S3C24XX: Refuse incorrectly aligned transfers The hardware does not support any multi-block transfers with an block-size that is not 32bit aligned. Also the driver itself does not support single block non-32bit transfers either. Ensure that the s3cmci_setup_data() returns the appropriate error if we encounter this. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 4dde7f755211fd58105c989a99a3a9f2f1238fba Author: Ben Dooks Date: Mon Jun 30 22:40:38 2008 +0100 MMC: S3C24XX: Add maintainer entry Add Ben Dooks as S3C24XX SD/MMC driver maintainer. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit ff8c804f1fdecb198c4be57155c61800e0d37bd2 Author: Ben Dooks Date: Mon Jun 30 22:40:37 2008 +0100 MMC: S3C24XX: Update error debugging. Add better debugging to show where errors are being generated, as some error codes can come from several different code paths. Also fix the error return path from s3cmci_setup_data() to return the error it returned to the request. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 50a845700b3b55f825b0eb901b03d6091f66d9f4 Author: Ben Dooks Date: Mon Jun 30 22:40:36 2008 +0100 MMC: S3C24XX: Add media presence test to request handling. Ensure that we have physical media present before attempting to send a request to a card. This ensures that we do not get flooded by errors from commands that can never be completed timing out. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 2de5f79d4dfcb1be16f0b873bc77d6ec74b0426d Author: Ben Dooks Date: Mon Jun 30 22:40:35 2008 +0100 MMC: S3C24XX: Fix use of msecs where jiffies are needed mmc_detect_change() takes jiffies, not msecs. Convert the previous value of msecs into jiffies before calling. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 318f905f02b427b8df33d724b7392a0597b40bdd Author: Ben Dooks Date: Mon Jun 30 22:40:34 2008 +0100 MMC: S3C24XX: Add MODULE_ALIAS() entries for the platform devices Add MODULE_ALIAS() declerations for all the supported platform devices for this driver. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 3886ff5f63f33c801ed3af265ac0df20d3a8dcf5 Author: Ben Dooks Date: Mon Jun 30 22:40:33 2008 +0100 MMC: S3C24XX: Fix s3c2410_dma_request() return code check. The driver should be checking for a negative error code from s3c2410_dma_request(), not non-zero. Newer kernels now return the DMA channel number that was allocated by the request. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 55d70f5a7b25800fc8376cdd81d42d6c201fa91d Author: Ben Dooks Date: Mon Jun 30 22:40:32 2008 +0100 MMC: S3C24XX: Allow card-detect on non-IRQ capable pin Add support to the S3C24XX MMC driver to have the card detect be on a pin that is not IRQ capable. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 7c14450ed6ab4ed453b2bf216ca3aaa7a5402af3 Author: Ben Dooks Date: Mon Jun 30 22:40:31 2008 +0100 MMC: S3C24XX: Ensure host->mrq->data is valid Fix a crash if host->mrq->data is NULL on ending a transfer. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit cf0984c8edf63017fcc2ead212ca057877e345df Author: Ben Dooks Date: Mon Jun 30 22:40:30 2008 +0100 MMC: S3C24XX: Add support to invert write protect line Support for inverting the sense of the MMC driver's write protect detection line. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit edb5a98e43682d66c98ddd1dee863d867807546e Author: Ben Dooks Date: Mon Jun 30 22:40:29 2008 +0100 MMC: S3C24XX: Add platform data for MMC/SD driver This patch adds platform data support to the s3mci driver. This allows flexible board-specific configuration of set_power, card detect and read only pins. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit d643b5f7e0793ef7828a35a5ea049d675ad2ad8c Author: Roman Moracik Date: Mon Jun 30 22:40:28 2008 +0100 MMC: Fix S3C24XX IRQ enable during PIO transfers Fix Bug #677 - I/O errors on heavy microSD writes for 2.6.22.x. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit bdbc9c3a8f7a7956611c970e262693faa95081a5 Author: Thomas Kleffel Date: Mon Jun 30 22:40:27 2008 +0100 Fix the request finalisation by ensuring the controller is stopped. Signed-off-by: Ben Dooks Signed-off-by: Harald Welte Signed-off-by: Pierre Ossman commit ceb3ac252519f9ab318050c8ee842e62820d6731 Author: Harald Welte Date: Mon Jun 30 22:40:26 2008 +0100 MMC: DMA free fix for S3C24XX SD/MMC driver Bugfix to ensure DMA channel allocated is freed on exit. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 679f0f8abd7187baaff40a47fe4733ae4c24cc9a Author: Harald Welte Date: Mon Jun 30 22:40:25 2008 +0100 MMC: S3C24XX MMC/SD driver write fixes This patch is a workaround of some S3C2410 MMC chip bug Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit be518018c6b9224c02284fb243207ef741c31ec6 Author: Thomas Kleffel Date: Mon Jun 30 22:40:24 2008 +0100 MMC: S3C24XX MMC/SD driver. This is the latest S3C MMC/SD driver by Thomas Kleffel with cleanups as suggested by AKPM done by Ben Dooks. Signed-off-by: Ben Dooks Signed-off-by: Thomas Kleffel Signed-off-by: Pierre Ossman commit 8f1934ce784bd8f2eaf06f190526500f7f3f9c74 Author: Pierre Ossman Date: Mon Jun 30 21:15:49 2008 +0200 sdhci: graceful handling of bad addresses Be a bit more robust and fall back to PIO if someone is feeding us bogus addresses. Signed-off-by: Pierre Ossman commit 6b174931a73177c6519f87e6a8d5ae6ba269cdb5 Author: Pierre Ossman Date: Mon Jun 30 09:09:27 2008 +0200 mmc_test: cleanup Clean up and reorganise the mmc_test driver so that it (hopefully) is easier to extend with more complex tests. Signed-off-by: Pierre Ossman commit 979ce7208a679b8d012450610d5d5aa75aab3af9 Author: Pierre Ossman Date: Sun Jun 29 12:19:47 2008 +0200 mmc_block: wait for card even on failures Many failures are non-permanent, but the card might need some time to finish what it is doing before becoming responsive again. Make sure we wait for it to finish programming before dealing with the error. Signed-off-by: Pierre Ossman commit 2134a922c6e75c779983cad5d8aae832275f5a0d Author: Pierre Ossman Date: Sat Jun 28 18:28:51 2008 +0200 sdhci: scatter-gather (ADMA) support Add support for the scatter-gather DMA mode present on newer controllers. As the mode requires 32-bit alignment, non-aligned chunks are handled by using a bounce buffer. Also add some new quirks to handle controllers that have bugs in the ADMA engine. Signed-off-by: Pierre Ossman commit 93fc48c785f6266e67663b3cbbf24579b53fe5cf Author: Pierre Ossman Date: Sat Jun 28 18:21:41 2008 +0200 sdhci-pci: don't penalize newer jmicron chips The upcoming JMicron chips will have solved all the currently known bugs, so don't penalize them for older problems. Signed-off-by: Pierre Ossman commit 0121a9829bf28c65e1a05cc881899c10d82b8de2 Author: Pierre Ossman Date: Sat Jun 28 17:51:27 2008 +0200 mmc_test: only bind to supported cards We can only perform the tests on MMC and SD cards, so avoid binding to any other type. Signed-off-by: Pierre Ossman commit eea0f581c4e596e02250df230f8d385827977964 Author: Pierre Ossman Date: Sat Jun 28 13:22:40 2008 +0200 sdio: clean up handling of byte mode transfer size Make sure that the maximum size for a byte mode transfer is identical in all places. Also tweak the transfer helper so that a single byte mode transfer is preferred over (possibly multiple) block mode request(s). Signed-off-by: Pierre Ossman commit ad3868b2ec96ec14a1549c9e33f5f9a2a3c6ab15 Author: Pierre Ossman Date: Sat Jun 28 12:52:45 2008 +0200 mmc,sdio: helper function for transfer padding There are a lot of crappy controllers out there that cannot handle all the request sizes that the MMC/SD/SDIO specifications require. In case the card driver can pad the data to overcome the problems, this commit adds a helper that calculates how much that padding should be. A corresponding helper is also added for SDIO, but it can also deal with all the complexities of splitting up a large transfer efficiently. Signed-off-by: Pierre Ossman commit e2d2647702702ea08cb78cdc9eca8c24242aa9be Author: Manuel Lauss Date: Fri Jun 27 18:25:18 2008 +0200 au1xmmc: remove custom carddetect poll implementation. The MMC core provides a carddetect poll feature, time to remove the driver's own implementation of it. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 08fcb7208c4a8913232e48931783270262ece954 Author: Manuel Lauss Date: Mon Jun 9 08:40:35 2008 +0200 au1xmmc: new maintainer. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 88b8d9a83431237bf3eec1f2968f763607811171 Author: Manuel Lauss Date: Mon Jun 9 08:39:11 2008 +0200 au1xmmc: abort requests early if no card is present. Don't process an MMC request if no card is present. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 5c0a889df56c9f6c5a68ec7aa222082569b35fd9 Author: Manuel Lauss Date: Mon Jun 9 08:38:35 2008 +0200 au1xmmc: codingstyle tidying. Clean up the codebase, no functional changes. - merge the au1xmmc.h header contents into the driver file, - indentation, spelling and style fixes. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 20f522ff5583a818922b3f650f6f7ef0e3e1aa68 Author: Manuel Lauss Date: Mon Jun 9 08:38:03 2008 +0200 au1xmmc: SDIO IRQ support. Wire up the SD controllers' SDIO IRQ capability. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 281dd23ea03e9893c02d237d9e35a7d20d412452 Author: Manuel Lauss Date: Mon Jun 9 08:37:33 2008 +0200 au1xmmc: enable 4 bit transfer mode Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit c4223c2c91fa9e5addd6eadd804e57a925ac5e5e Author: Manuel Lauss Date: Mon Jun 9 08:36:13 2008 +0200 au1xmmc: remove db1200 board code, rewrite probe. Remove the DB1200 board-specific functions (card present, read-only, activity LED methods) and instead add platform data which is passed to the driver. This also allows for platforms to implement other carddetect schemes (e.g. dedicated irq) without having to pollute the driver code. The poll timer (used for pb1200) is kept for compatibility. With the board-specific stuff gone, the driver's ->probe() code can be cleaned up considerably. Signed-off-by: Manuel Lauss Signed-off-by: Pierre Ossman commit 12bd257532708a4d5be4b8548ff121a45ff88f5d Author: Ville Syrjala Date: Mon Jun 9 22:06:45 2008 +0300 at91_mci: Fix byte mode transitions. The byte mode support fails to clear the byte mode bit in the command register, possibly leaving byte mode enabled with the counters programmed in non-byte mode. Signed-off-by: Ville Syrjala Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 9da3cbaf2881df97e502593c49c93f55eb696091 Author: Ville Syrjala Date: Mon Jun 9 22:06:44 2008 +0300 at91_mci: Cover more AT91RM9200 and AT91SAM9261 errata. According to the documentation the AT91SAM9261 MCI shares the block size limitations of the AT91RM9200 MCI. Also the errata documentation for AT91RM9200 and AT91SAM9261 state that stream commands are not supported. This has not been tested on actual hardware. Signed-off-by: Ville Syrjala Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 5385edc50063a2175383ef5e90aa67fb6ab1beae Author: Ville Syrjala Date: Sat Jun 14 20:27:20 2008 +0300 at91_mci: AT91SAM9260/9263 12 byte write erratum (v2) AT91SAM926[0/3] PDC must write at least 12 bytes. The code compiles and runs but the actual condition for this erratum did not trigger in my tests so it's unclear if it actually works as intended. Signed-off-by: Ville Syrjala Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit fa1fe010c126ee69f2f75e3a4efc2f6252281ff8 Author: Nicolas Ferre Date: Tue Jun 10 11:27:29 2008 +0200 at91_mci: manage cmd error and data error independently In at91_mci_completed_command() function, this patch distinguishes command error and data error. It reports it in the corresponding error field. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit ba7deeed96ca1855c153ad81c45baf6efe1a3362 Author: Nicolas Ferre Date: Fri May 30 14:28:45 2008 +0200 mmc: at91_mci: do not read irq status twice as it will forget some errors Reading AT91_MCI_SR again at the end of transfer can corrupt the error reporting. Some fields in the SR register are read-and-clear. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 7a6588ba20aed4505da912f9dd73616e9bd9ba67 Author: Eric Benard Date: Fri May 30 14:26:05 2008 +0200 mmc: at91_mci: add sdio irq management Enable SDIO interrupt handling. Signed-off-by: Eric Benard Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 3eb99a7bff3d7459a695f45124a6bbabf31cb4b5 Author: Nicolas Ferre Date: Fri May 30 14:08:56 2008 +0200 mmc: at91_mci: add multiwrite switch at91_mci is capable of multiwrite. Enable it before it disappears. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 4ac24a8722b97d5b4cfc48a4fbd0b2489e358d4d Author: Nicolas Ferre Date: Fri May 30 14:18:57 2008 +0200 mmc: at91_mci: update bytes_xfered value once xfer done Modify bytes_xfered value after a write. That will report, as accurately as possible, the amount of sectors that are effectively written. This update introduces the check of the busy signal given by the card. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit c5a89c6c0805959f813e8342d6f4040860f6d7db Author: Marc Pignat Date: Fri May 30 14:07:47 2008 +0200 mmc: at91_mci: avoid timeouts The at91 mci controller internal state machine seems to often crash. This can be fixed by resetting the controller after each command for at91rm9200 and by setting the MCI_BLKR register on at91sam926*. Signed-off-by: Marc Pignat Signed-off-by: Hans J Koch Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit e181dce8acab4f7d7c4772d2a8281510d503ab21 Author: Marc Pignat Date: Fri May 30 14:06:32 2008 +0200 mmc: at91_mci: show timeouts Detect command timeout (or mci controller hangs). Signed-off-by: Marc Pignat Signed-off-by: Hans J Koch Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 80f9254668c63ae73c1359d8de50ad94aa1aa94a Author: Marc Pignat Date: Fri May 30 14:05:24 2008 +0200 mmc: at91_mci: support for block size not modulo 4 Implement transfer with size not modulo 4 for at91sam9*. Please note that the at91rm9200 simply can't handle this. Signed-off-by: Marc Pignat Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 8769392b1918ec70ab62eebc82e06c47c12f8304 Author: Deepak Saxena Date: Mon Jun 16 19:20:57 2008 -0700 MMC: Trivial comment cleanup Make the variable name in the comments match the actual name of the variable. Signed-off-by: Deepak Saxena Signed-off-by: Pierre Ossman commit 08f80bb5196517a0dfe50dc7c10f234c0ff2f0e8 Author: Anton Vorontsov Date: Tue Jun 17 18:17:39 2008 +0400 mmc: change .get_ro() callback semantics Now get_ro() callback must return 0/1 values for its logical states, and negative errno values in case of error. If particular host instance doesn't support RO/WP switch, it should return -ENOSYS. This patch changes some hosts in two ways: 1. Now functions should be smart to not return negative values in "RO asserted" case (particularly gpio_ calls could return negative values for the outermost GPIOs). Also, board code usually passes get_ro() callbacks that directly return gpioreg & bit result, so at91_mci, imxmmc, pxamci and mmc_spi's get_ro() handlers need take special care when returning platform's values to the mmc core. 2. In case of host instance didn't implement get_ro() callback, it should really return -ENOSYS and let the mmc core decide what to do about it (mmc core thinks the same way as the hosts, so it isn't functional change). Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 619ef4b42128709de4d89d209b2c874f560deecd Author: Anton Vorontsov Date: Tue Jun 17 18:17:21 2008 +0400 mmc_spi: add support for card-detection polling This patch adds new platform data variable "caps", so platforms could pass theirs capabilities into MMC core (for example, platforms without interrupt on the CD line will most probably want to pass MMC_CAP_NEEDS_POLL). New platform get_cd() callback provided to optimize polling. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 28f52482b41edc88cdf575aa6ed414c6e116ce10 Author: Anton Vorontsov Date: Tue Jun 17 18:17:15 2008 +0400 mmc: add support for card-detection polling Some hosts (and boards that use mmc_spi) do not use interrupts on the CD line, so they can't trigger mmc_detect_change. We want to poll the card and see if there was a change. 1 second poll interval seems resonable. This patch also implements .get_cd() host operation, that could be used by the hosts that are able to report card-detect status without need to talk MMC. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 150a55683b6b0ccb66aae75a10a3a514340c7c03 Author: Adrian Bunk Date: Tue May 20 00:57:27 2008 +0300 include/linux/mmc/mmc.h: remove CVS tags This patch removes a CVS tag that wasn't updated for a long time. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 309d9736a903527d8bc41787b07573a054439bf6 Author: Pierre Ossman Date: Wed May 28 09:54:50 2008 +0200 sdhci-pci: unaligned data with ricoh controllers The Ricoh controllers cannot handle unaligned data blocks. Signed-off-by: Pierre Ossman commit fd8c326cadd2f781d5c4d6bcee79bb17b3745bb0 Author: Pierre Ossman Date: Sat May 24 22:36:31 2008 +0200 mmc_test: add test case control Add the ability to run just a single test case by writing the test case number into the sysfs "test" file. Signed-off-by: Pierre Ossman commit 1e72859e3ae16346d4007024b20d2d4ef387dcc3 Author: Pierre Ossman Date: Wed Apr 16 19:13:13 2008 +0200 sdhci: handle hot-remove Gracefully handle when the device is suddenly removed. Do a test read and avoid any further access if that read returns -1. Signed-off-by: Pierre Ossman commit 4489428ab5a49a6f443d9aa17f1d891417787d7b Author: Pierre Ossman Date: Fri Apr 4 19:36:59 2008 +0200 sdhci: support JMicron secondary interface JMicron chips sometimes have two interfaces to work around limitations in Microsoft's sdhci driver. This patch allows us to use either interface. Signed-off-by: Pierre Ossman commit 45211e21598441a32e53cf5032b7faeac143df6d Author: Pierre Ossman Date: Mon Mar 24 13:09:09 2008 +0100 sdhci: toggle JMicron PMOS setting Some of the JMicron chips requires us to manually enable the power output stages of the chip. Add the necessary hooks and functions to manage this. Signed-off-by: Pierre Ossman commit ee53ab5d73998e502801c024a08de2c39a92c52a Author: Pierre Ossman Date: Sat Jul 5 00:25:15 2008 +0200 sdhci: make workaround for timeout bug more general Give the quirk for broken timeout handling a better chance of handling more controllers by simply classifying the system as broken and setting a fixed value. Signed-off-by: Pierre Ossman commit 22606405894a3ca5796eb4454a4b83af611fd201 Author: Pierre Ossman Date: Sun Mar 23 19:33:23 2008 +0100 sdhci: more complex quirks handling Extend the quirks handling in the PCI driver to be able to have callbacks and not just flags. Signed-off-by: Pierre Ossman commit 3815a0ebab678c20d0d9c66af5ee9e68807b6681 Author: Pierre Ossman Date: Sat Mar 22 22:05:40 2008 +0100 sdhci: remove forced dma quirks Remove the quirk to force DMA on the Ricoh and TI controllers as it is no longer needed. The only bug they have is that they use an incorrect PCI interface value, and that is not respected anymore. Signed-off-by: Pierre Ossman commit b8c86fc5d8deaa5a6dc49c2c1ed144e6838bf0f3 Author: Pierre Ossman Date: Tue Mar 18 17:35:49 2008 +0100 sdhci: move pci stuff to separate module The SDHCI interface is not PCI specific, yet the Linux driver was intimitely connected to the PCI bus. This patch properly separates the PCI specific portion from the bus independent code. This patch is based on work by Ben Dooks but he did not have time to complete it. Signed-off-by: Pierre Ossman commit c9b74c5b8fb807187f6b1db09012828fcd2d7e73 Author: Pierre Ossman Date: Fri Apr 18 20:41:49 2008 +0200 sdhci: don't check block count for progress The specification is insufficiently strict when it comes to how the hardware should update the block count register, making it useless for checking transfer progress. Signed-off-by: Pierre Ossman commit 91d0322bef047e2916b3e52741411bffc63929cb Merge: 065cb3d... 50515af... Author: Ingo Molnar Date: Tue Jul 15 13:45:59 2008 +0200 Merge branch 'linus' into x86/urgent commit d54191b85e294c46f05a2249b1f55ae54930bcc7 Author: Peter Zijlstra Date: Tue Apr 22 15:09:30 2008 +0200 Kprobe smoke test lockdep warning On Mon, 2008-04-21 at 18:54 -0400, Masami Hiramatsu wrote: > Thank you for reporting. > > Actually, kprobes tries to fixup thread's flags in post_kprobe_handler > (which is called from kprobe_exceptions_notify) by > trace_hardirqs_fixup_flags(pt_regs->flags). However, even the irq flag > is set in pt_regs->flags, true hardirq is still off until returning > from do_debug. Thus, lockdep assumes that hardirq is off without annotation. > > IMHO, one possible solution is that fixing hardirq flags right after > notify_die in do_debug instead of in post_kprobe_handler. My reply to BZ 10489: > [ 2.707509] Kprobe smoke test started > [ 2.709300] ------------[ cut here ]------------ > [ 2.709420] WARNING: at kernel/lockdep.c:2658 check_flags+0x4d/0x12c() > [ 2.709541] Modules linked in: > [ 2.709588] Pid: 1, comm: swapper Not tainted 2.6.25.jml.057 #1 > [ 2.709588] [] warn_on_slowpath+0x41/0x51 > [ 2.709588] [] ? save_stack_trace+0x1d/0x3b > [ 2.709588] [] ? save_trace+0x37/0x89 > [ 2.709588] [] ? kernel_map_pages+0x103/0x11c > [ 2.709588] [] ? native_sched_clock+0xca/0xea > [ 2.709588] [] ? mark_held_locks+0x41/0x5c > [ 2.709588] [] ? kprobe_exceptions_notify+0x322/0x3af > [ 2.709588] [] ? trace_hardirqs_on+0xf1/0x119 > [ 2.709588] [] ? kprobe_exceptions_notify+0x355/0x3af > [ 2.709588] [] check_flags+0x4d/0x12c > [ 2.709588] [] lock_release+0x58/0x195 > [ 2.709588] [] ? __atomic_notifier_call_chain+0x0/0x80 > [ 2.709588] [] __atomic_notifier_call_chain+0x5a/0x80 > [ 2.709588] [] atomic_notifier_call_chain+0xc/0xe > [ 2.709588] [] notify_die+0x2d/0x2f > [ 2.709588] [] do_debug+0x67/0xfe > [ 2.709588] [] debug_stack_correct+0x27/0x30 > [ 2.709588] [] ? kprobe_target+0x1/0x34 > [ 2.709588] [] ? init_test_probes+0x50/0x186 > [ 2.709588] [] init_kprobes+0x85/0x8c > [ 2.709588] [] kernel_init+0x13d/0x298 > [ 2.709588] [] ? kernel_init+0x0/0x298 > [ 2.709588] [] ? kernel_init+0x0/0x298 > [ 2.709588] [] kernel_thread_helper+0x7/0x10 > [ 2.709588] ======================= > [ 2.709588] ---[ end trace 778e504de7e3b1e3 ]--- > [ 2.709588] possible reason: unannotated irqs-off. > [ 2.709588] irq event stamp: 370065 > [ 2.709588] hardirqs last enabled at (370065): [] kprobe_exceptions_notify+0x322/0x3af > [ 2.709588] hardirqs last disabled at (370064): [] do_int3+0x1d/0x7d > [ 2.709588] softirqs last enabled at (370050): [] __do_softirq+0xfa/0x100 > [ 2.709588] softirqs last disabled at (370045): [] do_softirq+0x74/0xd9 > [ 2.714751] Kprobe smoke test passed successfully how I love this stuff... Ok, do_debug() is a trap, this can happen at any time regardless of the machine's IRQ state. So the first thing we do is fix up the IRQ state. Then we call this die notifier stuff; and return with messed up IRQ state... YAY. So, kprobes fudges it.. notify_die(DIE_DEBUG) kprobe_exceptions_notify() post_kprobe_handler() modify regs->flags trace_hardirqs_fixup_flags(regs->flags); <--- must be it So what's the use of modifying flags if they're not meant to take effect at some point. /me tries to reproduce issue; enable kprobes test thingy && boot OK, that reproduces.. So the below makes it work - but I'm not getting this code; at the time I wrote that stuff I CC'ed each and every kprobe maintainer listed in the usual places but got no reposonse - can some please explain this stuff to me? Are the saved flags only for the TF bit or are they made in full effect later (and if so, where) ? Signed-off-by: Peter Zijlstra Acked-by: Masami Hiramatsu Signed-off-by: Ingo Molnar commit d0236f8f8223ad841f461ea3a635d452d194806b Author: Akinobu Mita Date: Tue Jul 15 02:09:53 2008 -0700 iucv: fix memory leak in cpu hotplug error path. Fix memory leak in error path in CPU_UP_PREPARE notifier. Signed-off-by: Akinobu Mita Signed-off-by: David S. Miller commit 0b57664cf2393bc1eff594ff7e5ff26533843fe6 Author: Johannes Berg Date: Tue Jul 15 02:08:24 2008 -0700 wireless: fix warnings from QoS patch When I removed the special "default" meaning from the QoS parameters, I forgot to update drivers and this lead to warnings because some drivers were checking for the special values and putting in defaults. This fixes that by removing the default special-casing completely. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 089be43e403a78cd6889cde2fba164fefe9dfd89 Author: James Morris Date: Tue Jul 15 18:32:49 2008 +1000 Revert "SELinux: allow fstype unknown to policy to use xattrs if present" This reverts commit 811f3799279e567aa354c649ce22688d949ac7a9. From Eric Paris: "Please drop this patch for now. It deadlocks on ntfs-3g. I need to rework it to handle fuse filesystems better. (casey was right)" commit 6546eae4fd90ab11ca7ab6d6b9e1b243d1ce5fe6 Author: Jie Zhang Date: Tue Jul 15 16:15:40 2008 +0800 Blackfin arch: Allow ptrace to peek and poke application data in L1 data SRAM. Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 2cfebf2bceff4645b403246b608b1bb6222e4deb Author: Michael Hennerich Date: Wed Jul 16 16:59:05 2008 +0800 Blackfin arch: Add ANOMALY_05000368 workaround Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1efc80b53eb54770139219f99657abd92595fc86 Author: Michael Hennerich Date: Sat Jul 19 16:57:32 2008 +0800 Blackfin arch: Functional power management support Enable: PM_SUSPEND_MEM -> Blackfin Hibernate to SDRAM This feature requires a special bootloader (u-boot) supporting return from hibernate. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4f13f548cef5af1717cbbc341a1a3474f3e7466e Author: Michael Hennerich Date: Tue Jul 15 16:38:28 2008 +0800 Blackfin arch: Fix BUG - JUMP error in kernel (relocation truncated to fit: R_pcrel12_jump_s) Use long jump Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d3a8eab093aab9f309d2e8d06cd718a4cb20e626 Author: Randy Dunlap Date: Tue Jul 15 00:51:45 2008 -0700 bluetooth/hci_bcsp: fix bitrev Kconfig Fix bluetooth hci_bcsp Kconfig to avoid build errors: drivers/built-in.o: In function `bcsp_prepare_pkt': hci_bcsp.c:(.text+0x7e9ac): undefined reference to `bitrev16' drivers/built-in.o: In function `bcsp_recv': hci_bcsp.c:(.text+0x7f276): undefined reference to `bitrev16' hci_bcsp.c:(.text+0x7f293): undefined reference to `bitrev16' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Ackey-by: Marcel Holtmann Signed-off-by: David S. Miller commit 2870c43d1795bcb40b12bad6456f07ad8e64b3de Author: Octavian Purdila Date: Tue Jul 15 00:49:11 2008 -0700 net: refactor tcp splice receive path to improve readability - move all of the details on offsets, lengths and buffers into a single function instead of doing these operation from multiple places - use a bottom up approach: try to avoid details in the high level functions, introduce them gradually as we go deeper in the function call stack With helpful feedback from Jarek Poplawski. Signed-off-by: Octavian Purdila Acked-by: Jarek Poplawski Signed-off-by: David S. Miller commit b9e40857682ecfc5bcd0356a23ff409883ffb982 Author: David S. Miller Date: Tue Jul 15 00:15:08 2008 -0700 netdev: Do not use TX lock to protect address lists. Now that we have a specific lock to protect the network device unicast and multicast lists, remove extraneous grabs of the TX lock in cases where the code only needs address list protection. Signed-off-by: David S. Miller commit e308a5d806c852f56590ffdd3834d0df0cbed8d7 Author: David S. Miller Date: Tue Jul 15 00:13:44 2008 -0700 netdev: Add netdev->addr_list_lock protection. Add netif_addr_{lock,unlock}{,_bh}() helpers. Use them to protect operations that operate on or read the network device unicast and multicast address lists. Also use them in cases where the code simply wants to block calls into the driver's ->set_rx_mode() and ->set_multicast_list() methods. Signed-off-by: David S. Miller commit f1f28aa3510ddb84c966bac65611bb866c77a092 Author: David S. Miller Date: Tue Jul 15 00:08:33 2008 -0700 netdev: Add addr_list_lock to struct net_device. This will be used to protect the per-device unicast and multicast address lists, as well as the callbacks into the drivers which configure such state such as ->set_rx_mode() and ->set_multicast_list(). Signed-off-by: David S. Miller commit f507d28bff0601f1a8a96b7939fa3855c50d25b6 Author: Eli Cohen Date: Mon Jul 14 23:48:53 2008 -0700 IB/mlx4: Use kzalloc() for new QPs so flags are initialized to 0 Current code uses kmalloc() and then just does a bitwise OR operation on qp->flags in create_qp_common(), which means that qp->flags may potentially have some unintended bits set. This patch uses kzalloc() and avoids further explicit clearing of structure members, which also shrinks the code: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-65 (-65) function old new delta create_qp_common 2024 1959 -65 Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 2d92865158d0e21ef4350703af64bc2a610d81d3 Author: Vladimir Sokolovsky Date: Mon Jul 14 23:48:53 2008 -0700 mlx4_core: Use MOD_STAT_CFG command to get minimal page size There was a bug in some versions of the mlx4 driver in mlx4_alloc_fmr(), which hardcoded the minimum acceptable page_shift to be 12. However, new ConnectX firmware can support a minimum page_shift of 9 (log_pg_sz of 9 returned by QUERY_DEV_LIM) -- so with old drivers, ib_fmr_alloc() would fail for ULPs using the device minimum when creating FMRs. To preserve firmware compatibility with released mlx4 drivers, the firmware will continue to return 12 as before for log_page_sz in QUERY_DEV_CAP for these drivers. However, to enable new drivers to take advantage of the available smaller page size, the mlx4 driver now first sets the log_pg_sz to the device minimum by setting a log_page_sz value to 0 via the MOD_STAT_CFG command and then reading the real minimum via QUERY_DEV_CAP. Signed-off-by: Jack Morgenstein Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit de910bd92137005b5e1ecaf2ce68053d7d7d5350 Author: Or Gerlitz Date: Mon Jul 14 23:48:53 2008 -0700 RDMA/cma: Simplify locking needed for serialization of callbacks The RDMA CM has some logic in place to make sure that callbacks on a given CM ID are delivered to the consumer in a serialized manner. Specifically it has code to protect against a device removal racing with a running callback function. This patch simplifies this logic by using a mutex per ID instead of a wait queue and atomic variable. This means that cma_disable_remove() now is more properly named to cma_disable_callback(), and cma_enable_remove() can now be removed because it just would become a trivial wrapper around mutex_unlock(). Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 64c5e613b9dd34ef1281ed6d22478609667ae36a Author: Or Gerlitz Date: Mon Jul 14 23:48:53 2008 -0700 RDMA/addr: Keep pointer to netdevice in struct rdma_dev_addr Keep a pointer to the local (src) netdevice in struct rdma_dev_addr, and copy it in as part of rdma_copy_addr(). Use rdma_translate_ip() in cma_new_conn_id() to reduce some code duplication and also make sure the src_dev member gets set. In a high-availability configuration the netdevice pointer can be used by the RDMA CM to align RDMA sessions to use the same links as the IP stack does under fail-over and route change cases. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 4ab928f69208d240d3681336f34589e4b151824f Author: Steve Wise Date: Mon Jul 14 23:48:53 2008 -0700 RDMA/cxgb3: Fixes for zero STag Handling the zero STag in receive work request requires some extra logic in the driver: - Only set the QP_PRIV bit for kernel mode QPs. - Add a zero STag build function for recv wrs. The uP needs a PBL allocated and passed down in the recv WR so it can construct a HW PBL for the zero STag S/G entries. Note: we need to place a few restrictions on zero STag usage because of this: 1) all SGEs in a recv WR must either be zero STag or not. No mixing. 2) an individual SGE length cannot exceed 128MB for a zero-stag SGE. This should be OK since it's not really practical to allocate such a large chunk of pinned contiguous DMA mapped memory. - Add an optimized non-zero-STag recv wr format for kernel users. This is needed to optimize both zero and non-zero STag cracking in the recv path for kernel users. - Remove the iwch_ prefix from the static build functions. - Bump required FW version. Signed-off-by: Steve Wise commit 96f15c03532282366364ecfd20f04e49b5d96f3a Author: Steve Wise Date: Mon Jul 14 23:48:53 2008 -0700 RDMA/core: Add local DMA L_Key support - Change the IB_DEVICE_ZERO_STAG flag to the transport-neutral name IB_DEVICE_LOCAL_DMA_LKEY, which is used by iWARP RNICs to indicate 0 STag support and IB HCAs to indicate reserved L_Key support. - Add a u32 local_dma_lkey member to struct ib_device. Drivers fill this in with the appropriate local DMA L_Key (if they support it). - Fix up the drivers using this flag. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit aed012279d35e88e29fd55737d8821604433f50a Author: Roland Dreier Date: Mon Jul 14 23:48:52 2008 -0700 IB/mthca: Fix check of max_send_sge for special QPs The MLX transport requires two extra gather entries for sends (one for the header and one for the checksum at the end, as the comment says). However the code checked that max_recv_sge was not too big, instead of checking max_send_sge as it should have. Fix the code to check the correct condition. Signed-off-by: Roland Dreier commit c036925ac0e940a4e8525b08e89d2c64fe282c51 Author: Roland Dreier Date: Mon Jul 14 23:48:52 2008 -0700 IB/mthca: Use round_jiffies() for catastrophic error polling timer Exactly when the catastrophic error polling timer function runs is not important, so use round_jiffies() to save unnecessary wakeups. Signed-off-by: Roland Dreier commit 4522e08ced48baaf28990e2674e940aae9940310 Author: Roland Dreier Date: Mon Jul 14 23:48:52 2008 -0700 IB/mthca: Remove "stop" flag for catastrophic error polling timer Since we use del_timer_sync() anyway, there's no need for an additional flag to tell the timer not to rearm. Signed-off-by: Roland Dreier commit bc3a290b51aaefc6a6af2d6e6d52ed32387c416c Author: Eli Cohen Date: Mon Jul 14 23:48:52 2008 -0700 IPoIB: Double default RX/TX ring sizes Increase IPoIB ring sizes to twice their original sizes (RX: 128->256, TX: 64->128) to act as a shock absorber for high traffic peaks. With the current settings, we have seen cases that there are many calls to netif_stop_queue(), which causes degradation in throughput. Also, larger receive buffer sizes help IPoIB in CM mode to avoid experiencing RNR NAK conditions due to insufficient receive buffers at the SRQ. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit e112373fd6aa280bd2cbc0d5cc3809115325a1be Author: Eli Cohen Date: Mon Jul 14 23:48:52 2008 -0700 IPoIB/cm: Reduce connected mode TX object size Since IPoIB connected mode does not NETIF_F_SG, we only have one DMA mapping per send, so we don't need a mapping[] array. Define a new struct with a single u64 mapping member and use it for the CM tx_ring. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit df8666198dd058b9498ebdbc52c61957206d30a5 Author: Ralph Campbell Date: Mon Jul 14 23:48:52 2008 -0700 IB/ipath: Use IEEE OUI for vendor_id reported by ibv_query_device() The IB spe. for SubnGet(NodeInfo) and query HCA says that the vendor ID field should be the IEEE OUI assigned to the vendor. The ipath driver was returning the PCI vendor ID instead. This will affect applications which call ibv_query_device(). The old value was 0x001fc1 or 0x001077, the new value is 0x001175. The vendor ID doesn't appear to be exported via /sys so that should reduce possible compatibility issues. I'm only aware of Open MPI as a major application which depends on this change, and they have made necessary adjustments. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit bd3606715effbf37df986548c43bbed0842b49d5 Author: Eli Cohen Date: Mon Jul 14 23:48:51 2008 -0700 IPoIB: Use dev_set_mtu() to change mtu When the driver sets the MTU of the net device outside of its change_mtu method, it should make use of dev_set_mtu() instead of directly setting the mtu field of struct netdevice. Otherwise functions registered to be called upon MTU change will not get called (this is done through call_netdevice_notifiers() in dev_set_mtu()). Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c8c2afe360b7366f586f6bece1109a72ea334876 Author: Eli Cohen Date: Mon Jul 14 23:48:51 2008 -0700 IPoIB: Use rtnl lock/unlock when changing device flags Use of this lock is required to synchronize changes to the netdvice's data structs. Also move the call to ipoib_flush_paths() after the modification of the netdevice flags in set_mode(). Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 9eae554c171e086c89ab83da2a2d3c8bf958fcb5 Author: Roland Dreier Date: Mon Jul 14 23:48:50 2008 -0700 IPoIB: Get rid of ipoib_mcast_detach() wrapper ipoib_mcast_detach() does nothing except call ib_detach_mcast(), so just use the core API in the one place that does a multicast group detach. add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-105 (-105) function old new delta ipoib_mcast_leave 357 319 -38 ipoib_mcast_detach 67 - -67 Signed-off-by: Roland Dreier commit d0de13622d5ac658efe7c51521dbdbe0752aa3dd Author: Eli Cohen Date: Mon Jul 14 23:48:50 2008 -0700 IPoIB: Only set Q_Key once: after joining broadcast group The current code will set the Q_Key for any join of a non-sendonly multicast group. The operation involves a modify QP operation, which is fairly heavyweight, and is only really required after the join of the broadcast group. Fix this by adding a parameter to ipoib_mcast_attach() to control when the Q_Key is set. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 5892eff91ad60ba365ae7f75050ce464036c5396 Author: Eli Cohen Date: Mon Jul 14 23:48:50 2008 -0700 IPoIB: Remove priv->mcast_mutex No need for a mutex around calls to ib_attach_mcast/ib_detach_mcast since these operations are synchronized at the HW driver layer. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c03d4731b5b6de45b95a10bf1d510dde423d6757 Author: Eli Cohen Date: Mon Jul 14 23:48:50 2008 -0700 IPoIB: Remove unused IPOIB_MCAST_STARTED code The IPOIB_MCAST_STARTED flag is not used at all since commit b3e2749b ("IPoIB: Don't drop multicast sends when they can be queued"), so remove it. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 70fe1796a5ebc5f955be39bba5c42eee9eb89e1f Author: Steve Wise Date: Mon Jul 14 23:48:49 2008 -0700 RDMA/cxgb3: Set rkey field for new memory windows in iwch_alloc_mw() Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 8294f29767c53e97664a27db9974adea8e2ea95b Author: Roland Dreier Date: Mon Jul 14 23:48:49 2008 -0700 RDMA/nes: Get rid of ring_doorbell parameter of nes_post_cqp_request() Every caller of nes_post_cqp_request() passed it NES_CQP_REQUEST_RING_DOORBELL, so just remove that parameter and always ring the doorbell. Signed-off-by: Roland Dreier Acked-by: Faisal Latif commit 52c8084b740c42af27d5bfa62cec7079d12fbc2b Author: Jon Mason Date: Mon Jul 14 23:48:49 2008 -0700 RDMA/cxgb3: Propagate HW page size capabilities cxgb3 does not currently report the page size capabilities, and incorrectly reports them internally. This version changes the bit-shifting to a static value (per Steve's request). Signed-off-by: Jon Mason Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 1ff66e8c1faee7c2711b84b9c89e1c5fcd767839 Author: Roland Dreier Date: Mon Jul 14 23:48:49 2008 -0700 RDMA/nes: Encapsulate logic nes_put_cqp_request() The iw_nes driver repeats the logic if (atomic_dec_and_test(&cqp_request->refcount)) { if (cqp_request->dynamic) { kfree(cqp_request); } else { spin_lock_irqsave(&nesdev->cqp.lock, flags); list_add_tail(&cqp_request->list, &nesdev->cqp_avail_reqs); spin_unlock_irqrestore(&nesdev->cqp.lock, flags); } } over and over. Wrap this up in functions nes_free_cqp_request() and nes_put_cqp_request() to simplify such code. In addition to making the source smaller and more readable, this shrinks the compiled code quite a bit: add/remove: 2/0 grow/shrink: 0/13 up/down: 164/-1692 (-1528) function old new delta nes_free_cqp_request - 147 +147 nes_put_cqp_request - 17 +17 nes_modify_qp 2316 2293 -23 nes_hw_modify_qp 737 657 -80 nes_dereg_mr 945 860 -85 flush_wqes 501 416 -85 nes_manage_apbvt 648 560 -88 nes_reg_mr 1117 1026 -91 nes_cqp_ce_handler 927 769 -158 nes_alloc_mw 1052 884 -168 nes_create_qp 5314 5141 -173 nes_alloc_fmr 2212 2035 -177 nes_destroy_cq 1097 918 -179 nes_create_cq 2787 2598 -189 nes_dealloc_mw 762 566 -196 Signed-off-by: Roland Dreier Acked-by: Faisal Latif commit ee1e2c82c245a5fb2864e9dbcdaab3390fde3fcc Author: Moni Shoua Date: Mon Jul 14 23:48:49 2008 -0700 IPoIB: Refresh paths instead of flushing them on SM change events The patch tries to solve the problem of device going down and paths being flushed on an SM change event. The method is to mark the paths as candidates for refresh (by setting the new valid flag to 0), and wait for an ARP probe a new path record query. The solution requires a different and less intrusive handling of SM change event. For that, the second argument of the flush function changes its meaning from a boolean flag to a level. In most cases, SM failover doesn't cause LID change so traffic won't stop. In the rare cases of LID change, the remote host (the one that hadn't changed its LID) will lose connectivity until paths are refreshed. This is no worse than the current state. In fact, preventing the device from going down saves packets that otherwise would be lost. Signed-off-by: Moni Levy Signed-off-by: Moni Shoua Signed-off-by: Roland Dreier commit 038919f29682b00ea95506e959210fc72d1aaf64 Author: Joachim Fenkes Date: Mon Jul 14 23:48:49 2008 -0700 IB/ehca: Make device table externally visible This gives ehca an autogenerated modalias and therefore enables automatic loading. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit af40da894e96d5c826d38be3ea53ee00d9de0367 Author: Vladimir Sokolovsky Date: Mon Jul 14 23:48:48 2008 -0700 IPoIB: add LRO support Add "ipoib_use_lro" module parameter to enable LRO and an "ipoib_lro_max_aggr" module parameter to set the max number of packets to be aggregated. Make LRO controllable and LRO statistics accessible through ethtool. Signed-off-by: Vladimir Sokolovsky Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 12406734051a26e9fe4c8568e931dfddbb72d431 Author: Ron Livne Date: Mon Jul 14 23:48:48 2008 -0700 IPoIB: Use multicast loopback blocking if available Set IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK for IPoIB's UD QPs if supported by the underlying device. This creates an improvement of up to 39% in bandwidth when sending multicast packets with IPoIB, and an improvment of 12% in cpu usage. Signed-off-by: Ron Livne Signed-off-by: Roland Dreier commit 521e575b9a7324a0bca762622139f69582a042bf Author: Ron Livne Date: Mon Jul 14 23:48:48 2008 -0700 IB/mlx4: Add support for blocking multicast loopback packets Add support for handling the IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK flag by using the per-multicast group loopback blocking feature of mlx4 hardware. Signed-off-by: Ron Livne Signed-off-by: Roland Dreier commit 47ee1b9f2e7bf73950602efe0b74fa1a8481f222 Author: Ron Livne Date: Mon Jul 14 23:48:48 2008 -0700 IB/core: Add support for multicast loopback blocking This patch also adds a creation flag for QPs, IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK, which when set means that multicast sends from the QP to a group that the QP is attached to will not be looped back to the QP's receive queue. This can be used to save receive resources when a consumer does not want a local copy of multicast traffic; for example IPoIB must waste CPU time throwing away such local copies of multicast traffic. This patch also adds a device capability flag that shows whether a device supports this feature or not. Signed-off-by: Ron Livne Signed-off-by: Roland Dreier commit 14cc180f7b032f8484c1a3d0533b1129ffe307fd Author: Steve Wise Date: Mon Jul 14 23:48:48 2008 -0700 RDMA/cxgb3: Add support for protocol statistics - Add a new rdma ctl command called RDMA_GET_MIB to the cxgb3 low level driver to obtain the protocol mib from the rnic hardware. - Add new iw_cxgb3 provider method to get the MIB from the low level driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 7f624d023b5fb150831e02c1e4c0f2619ade72c2 Author: Steve Wise Date: Mon Jul 14 23:48:48 2008 -0700 RDMA/core: Add iWARP protocol statistics attributes in sysfs This patch adds a sysfs attribute group called "proto_stats" under /sys/class/infiniband/$device/ and populates this group with protocol statistics if they exist for a given device. Currently, only iWARP stats are defined, but the code is designed to allow InfiniBand protocol stats if they become available. These stats are per-device and more importantly -not- per port. Details: - Add union rdma_protocol_stats in ib_verbs.h. This union allows defining transport-specific stats. Currently only iwarp stats are defined. - Add struct iw_protocol_stats to define the current set of iwarp protocol stats. - Add new ib_device method called get_proto_stats() to return protocol statistics. - Add logic in core/sysfs.c to create iwarp protocol stats attributes if the device is an RNIC and has a get_proto_stats() method. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit a7d834c4bc6be73e8f83eaa5072fac3c5549f7f2 Author: Roland Dreier Date: Mon Jul 14 23:48:47 2008 -0700 IPoIB/cm: Fix racy use of receive WR/SGL in ipoib_cm_post_receive_nonsrq() For devices that don't support SRQs, ipoib_cm_post_receive_nonsrq() is called from both ipoib_cm_handle_rx_wc() and ipoib_cm_nonsrq_init_rx(), and these two callers are not synchronized against each other. However, ipoib_cm_post_receive_nonsrq() always reuses the same receive work request and scatter list structures, so multiple callers can end up stepping on each other, which leads to posting garbled work requests. Fix this by having the caller pass in the ib_recv_wr and ib_sge structures to use, and allocating new local structures in ipoib_cm_nonsrq_init_rx(). Based on a patch by Pradeep Satyanarayana and David Wilder , with debugging help from Hoang-Nam Nguyen . Signed-off-by: Roland Dreier commit 468f2239bcc71ae0f345c3fe58c797cf4627daf4 Author: Roland Dreier Date: Mon Jul 14 23:48:47 2008 -0700 RDMA/cma: Add missing newlines to printk()s Signed-off-by: Roland Dreier Acked-by: Sean Hefty commit eec8845d29504a12fbd434e192d61aed3d9d74fa Author: Roland Dreier Date: Mon Jul 14 23:48:47 2008 -0700 RDMA/cxgb3: Remove write-only iwch_rnic_attributes fields The members struct iwch_rnic_attributes.vendor_id and .vendor_part_id are write-only, so we might as well get rid of them. Signed-off-by: Roland Dreier Acked-by: Steve Wise commit 97d1cc8055c7b3fbd35bf693775d61102e65d174 Author: Steve Wise Date: Mon Jul 14 23:48:47 2008 -0700 RDMA/cxgb3: Fix up some ib_device_attr fields - set fw_ver - set hw_ver - set max_qp_wr to something reasonable - set max_cqe to something reasonable Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6f7bc01a7382641c61ec036d68ff3a9140b48a1c Author: Stefan Roscher Date: Mon Jul 14 23:48:47 2008 -0700 IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts During corner case testing, we noticed that some versions of ehca do not properly transition to interrupt done in special load situations. This can be resolved by periodically triggering EOI through H_EOI, if EQEs are pending. Signed-off-by: Stefan Roscher Acked-by: Benjamin Herrenschmidt Signed-off-by: Roland Dreier commit 3e255eac561672cbc92844b9f16cae9304c2a783 Author: Joachim Fenkes Date: Mon Jul 14 23:48:47 2008 -0700 IB/ehca: Reject receive work requests if QP is in RESET state Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 7c27f358209a8ce7c57b584346d7b611e823f1b1 Author: Roland Dreier Date: Mon Jul 14 23:48:46 2008 -0700 IB/mlx4: Remove extra code for RESET->ERR QP state transition Commit 65adfa91 ("IB/mlx4: Fix RESET to RESET and RESET to ERROR transitions") added some extra code to handle a QP state transition from RESET to ERROR. However, the latest 1.2.1 version of the IB spec has clarified that this transition is actually not allowed, so we can remove this extra code again. Signed-off-by: Roland Dreier commit d3809ad0972297fbc7ef0585049ef465d9d8d79d Author: Roland Dreier Date: Mon Jul 14 23:48:46 2008 -0700 IB/mthca: Remove extra code for RESET->ERR QP state transition Commit b18aad71 ("IB/mthca: Fix RESET to ERROR transition") added some extra code to handle a QP state transition from RESET to ERROR. However, the latest 1.2.1 version of the IB spec has clarified that this transition is actually not allowed, so we can remove this extra code again. Signed-off-by: Roland Dreier commit e5a5e7d59af5944a674b9cea420a1fedc60496f2 Author: Ralph Campbell Date: Mon Jul 14 23:48:46 2008 -0700 IB/core: Reset to error QP state transition is not allowed I was reviewing the QP state transition diagram in the IB 1.2.1 spec and the code for qp_state_table[], and noticed that the code allows a QP to be modified from IB_QPS_RESET to IB_QPS_ERR whereas the notes for figure 124 (pg 457) specifically says that this transition isn't allowed. This is a clarification from earlier versions of the IB spec, which were ambiguous in this area and suggested that the RESET to ERR transition was allowed. Fix up the qp_state_table[] to make RESET->ERR not allowed. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6578cf33989a594bab37af988d45d87812b946b8 Author: Eli Cohen Date: Mon Jul 14 23:48:45 2008 -0700 IB/mlx4: Pass congestion management class MADs to the HCA ConnectX HCAs support the IB_MGMT_CLASS_CONG_MGMT management class, so process MADs of this class through the MAD_IFC firmware command. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit d1f2cd895f8733faa9d79d09d825a2ed80002ac7 Author: Eli Cohen Date: Mon Jul 14 23:48:45 2008 -0700 IB/mlx4: Configure QPs' max message size based on real device capability ConnectX returns the max message size it supports through the QUERY_DEV_CAP firmware command. When modifying a QP to RTR, the max message size for the QP must be specified. This value must not exceed the value declared through QUERY_DEV_CAP. The current code ignores the max allowed size and unconditionally sets the value to 2^31. This patch sets all QPs to the max value allowed as returned from firmware. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit e7e55829999deaab3f43e201a087731c02c54cf9 Author: Steve Wise Date: Mon Jul 14 23:48:45 2008 -0700 RDMA/cxgb3: MEM_MGT_EXTENSIONS support - set IB_DEVICE_MEM_MGT_EXTENSIONS capability bit if fw supports it. - set max_fast_reg_page_list_len device attribute. - add iwch_alloc_fast_reg_mr function. - add iwch_alloc_fastreg_pbl - add iwch_free_fastreg_pbl - adjust the WQ depth for kernel mode work queues to account for fastreg possibly taking 2 WR slots. - add fastreg_mr work request support. - add local_inv work request support. - add send_with_inv and send_with_se_inv work request support. - removed useless duplicate enums/defines for TPT/MW/MR stuff. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 00f7ec36c9324928e4cd23f02e6d8550f30c32ca Author: Steve Wise Date: Mon Jul 14 23:48:45 2008 -0700 RDMA/core: Add memory management extensions support This patch adds support for the IB "base memory management extension" (BMME) and the equivalent iWARP operations (which the iWARP verbs mandates all devices must implement). The new operations are: - Allocate an ib_mr for use in fast register work requests. - Allocate/free a physical buffer lists for use in fast register work requests. This allows device drivers to allocate this memory as needed for use in posting send requests (eg via dma_alloc_coherent). - New send queue work requests: * send with remote invalidate * fast register memory region * local invalidate memory region * RDMA read with invalidate local memory region (iWARP only) Consumer interface details: - A new device capability flag IB_DEVICE_MEM_MGT_EXTENSIONS is added to indicate device support for these features. - New send work request opcodes IB_WR_FAST_REG_MR, IB_WR_LOCAL_INV, IB_WR_RDMA_READ_WITH_INV are added. - A new consumer API function, ib_alloc_mr() is added to allocate fast register memory regions. - New consumer API functions, ib_alloc_fast_reg_page_list() and ib_free_fast_reg_page_list() are added to allocate and free device-specific memory for fast registration page lists. - A new consumer API function, ib_update_fast_reg_key(), is added to allow the key portion of the R_Key and L_Key of a fast registration MR to be updated. Consumers call this if desired before posting a IB_WR_FAST_REG_MR work request. Consumers can use this as follows: - MR is allocated with ib_alloc_mr(). - Page list memory is allocated with ib_alloc_fast_reg_page_list(). - MR R_Key/L_Key "key" field is updated with ib_update_fast_reg_key(). - MR made VALID and bound to a specific page list via ib_post_send(IB_WR_FAST_REG_MR) - MR made INVALID via ib_post_send(IB_WR_LOCAL_INV), ib_post_send(IB_WR_RDMA_READ_WITH_INV) or an incoming send with invalidate operation. - MR is deallocated with ib_dereg_mr() - page lists dealloced via ib_free_fast_reg_page_list(). Applications can allocate a fast register MR once, and then can repeatedly bind the MR to different physical block lists (PBLs) via posting work requests to a send queue (SQ). For each outstanding MR-to-PBL binding in the SQ pipe, a fast_reg_page_list needs to be allocated (the fast_reg_page_list is owned by the low-level driver from the consumer posting a work request until the request completes). Thus pipelining can be achieved while still allowing device-specific page_list processing. The 32-bit fast register memory key/STag is composed of a 24-bit index and an 8-bit key. The application can change the key each time it fast registers thus allowing more control over the peer's use of the key/STag (ie it can effectively be changed each time the rkey is rebound to a page list). Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit f89271da32bc1a636cf4eb078e615930886cd013 Author: Eli Cohen Date: Mon Jul 14 23:48:44 2008 -0700 IPoIB: Copy small received SKBs in connected mode The connected mode implementation in the IPoIB driver has a large overhead in the way SKBs are handled in the receive flow. It usually allocates an SKB with as big as was used in the currently received SKB and moves unused fragments from the old SKB to the new one. This involves a loop on all the remaining fragments and incurs overhead on the CPU. This patch, for small SKBs, allocates an SKB just large enough to contain the received data and copies to it the data from the received SKB. The newly allocated SKB is passed to the stack and the old SKB is reposted. When running netperf, UDP small messages, without this pach I get: UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 14.4.3.178 (14.4.3.178) port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 114688 128 10.00 5142034 0 526.31 114688 10.00 1130489 115.71 With this patch I get both send and receive at ~315 mbps. The reason that send performance actually slows down is as follows: When using this patch, the overhead of the CPU for handling RX packets is dramatically reduced. As a result, we do not experience RNR NAK messages from the receiver which cause the connection to be closed and reopened again; when the patch is not used, the receiver cannot handle the packets fast enough so there is less time to post new buffers and hence the mentioned RNR NACKs. So what happens is that the application *thinks* it posted a certain number of packets for transmission but these packets are flushed and do not really get transmitted. Since the connection gets opened and closed many times, each time netperf gets the CPU time that otherwise would have been given to IPoIB to actually transmit the packets. This can be verified when looking at the port counters -- the output of ifconfig and the oputput of netperf (this is for the case without the patch): tx packets ========== port counter: 1,543,996 ifconfig: 1,581,426 netperf: 5,142,034 rx packets ========== netperf 1,1304,089 Signed-off-by: Eli Cohen commit f3781d2e89f12dd5afa046dc56032af6e39bd116 Author: Roland Dreier Date: Mon Jul 14 23:48:44 2008 -0700 RDMA: Remove subversion $Id tags They don't get updated by git and so they're worse than useless. Signed-off-by: Roland Dreier commit 4deccd6d95f1f1536dad3c842e39c1ace577329d Author: Dotan Barak Date: Mon Jul 14 23:48:44 2008 -0700 RDMA: Improve include file coding style Remove subversion $Id lines and improve readability by fixing other coding style problems pointed out by checkpatch.pl. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit fd91b1bf1bb6fb443cb8c7600c7314f093b31f40 Author: Robert P. J. Day Date: Mon Jul 14 23:48:44 2008 -0700 IB/ipath: Simplify code using ARRAY_SIZE() macro Signed-off-by: Robert P. J. Day Signed-off-by: Roland Dreier commit 9670e553915e67fb68f13258644342c68dc26b84 Author: Eli Cohen Date: Mon Jul 14 23:48:44 2008 -0700 IB/mlx4: Optimize QP stamping The idea is that for QPs with fixed size work requests (eg selective signaling QPs), before stamping the WQE, we read the value of the DS field, which gives the effective size of the descriptor as used in the previous post. Then we stamp only that area, since the rest of the descriptor is already stamped. When initializing the send queue buffer, make sure the DS field is initialized to the max descriptor size so that the subsequent stamping will be done on the entire descriptor area. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 164ba0893c27a216557396320b6063fdac040392 Author: Moni Shoua Date: Mon Jul 14 23:48:43 2008 -0700 IB/sa: Fail requests made while creating new SM AH This patch solves a race that occurs after an event occurs that causes the SA query module to flush its SM address handle (AH). When SM AH becomes invalid and needs an update it is handled by the global workqueue. On the other hand this event is also handled in the IPoIB driver by queuing work in the ipoib_workqueue that does multicast joins. Although queuing is in the right order, it is done to 2 different workqueues and so there is no guarantee that the first to be queued is the first to be executed. This causes a problem because IPoIB may end up sending an request to the old SM, which will take a long time to time out (since the old SM is gone); this leads to a much longer than necessary interruption in multicast traffer. The patch sets the SA query module's SM AH to NULL when the event occurs, and until update_sm_ah() is done, any request that needs sm_ah fails with -EAGAIN return status. For consumers, the patch doesn't make things worse. Before the patch, MADs are sent to the wrong SM so the request gets lost. Consumers can be improved if they examine the return code and respond to EAGAIN properly but even without an improvement the situation is not getting worse. Signed-off-by: Moni Levy Signed-off-by: Moni Shoua Signed-off-by: Roland Dreier commit a9474917099e007c0f51d5474394b5890111614f Author: Sean Hefty Date: Mon Jul 14 23:48:43 2008 -0700 RDMA: Fix license text The license text for several files references a third software license that was inadvertently copied in. Update the license to what was intended. This update was based on a request from HP. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 929555a2baed9b0b050d03532655bfd721a43c44 Author: Christophe Jaillet Date: Mon Jul 14 23:48:43 2008 -0700 RDMA/nes: Remove unnecessary memset() Remove an explicit memset(..., 0, ...) of a 'listener' structure allocated with kzalloc(). Signed-off-by: Christophe Jaillet Acked-by: Faisal Latif Signed-off-by: Roland Dreier commit 969a60f9db3f879f95bd37026a3c3bf02cc2568f Author: Roland Dreier Date: Mon Jul 14 23:48:43 2008 -0700 IB/srp: Remove use of cached P_Key/GID queries The SRP initiator is currently using ib_find_cached_pkey() and ib_get_cached_gid() in situations where the uncached ib_find_pkey() and ib_query_gid() functions serve just as well: sleeping is allowed and performance is not an issue. Since we want to eliminate the cached operations in the long term, convert SRP to use the uncached variants. Signed-off-by: Roland Dreier commit e56a99d5a42dcb91e622ae7a0289d8fb2ddabffb Author: Artem Bityutskiy Date: Mon Jul 14 19:08:34 2008 +0300 UBIFS: add brief documentation Signed-off-by: Artem Bityutskiy Signed-off-by: Adrian Hunter commit 9527056630b68c94b94b94cd58c6cbb65e611fd1 Author: Artem Bityutskiy Date: Mon Jul 14 17:58:44 2008 +0300 MAINTAINERS: add UBIFS section Signed-off-by: Artem Bityutskiy commit f66ac03d497c162c70cd0ccc802ce1777073cdf3 Author: Pavel Emelyanov Date: Mon Jul 14 23:04:00 2008 -0700 mib: add struct net to ICMPMSGIN_INC_STATS_BH Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 903fc1964e746b8d8e2971ea20c89b7aeab8bd9a Author: Pavel Emelyanov Date: Mon Jul 14 23:03:35 2008 -0700 mib: add struct net to ICMPMSGOUT_INC_STATS Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit dcfc23cac103b54dbc00a6f52f47656ad5c75844 Author: Pavel Emelyanov Date: Mon Jul 14 23:03:00 2008 -0700 mib: add struct net to ICMP_INC_STATS_BH Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 75c939bb4d6da790f758a2a3dcc7432f6d8778ee Author: Pavel Emelyanov Date: Mon Jul 14 23:02:35 2008 -0700 mib: add struct net to ICMP_INC_STATS Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 43589aa93c9ce49f0e87a280014a4dd254b37fcf Author: Pavel Emelyanov Date: Mon Jul 14 23:02:09 2008 -0700 icmp: drop unused MIB accounting wrappers There are ICMP_XXX_STATS that are not used in the kernel, so I remove them, not to "just patch" them later. But if there's some sense in keeping them, kick me - I will remake this set keeping them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fd54d716b1f6a3551ec17a4bb34027727b2db09a Author: Pavel Emelyanov Date: Mon Jul 14 23:01:40 2008 -0700 inet: toss struct net initialization around Some places, that deal with ICMP statistics already have where to get a struct net from, but use it directly, without declaring a separate variable on the stack. Since I will need this net soon, I declare a struct net on the stack and use it in the existing places in a separate patch not to spoil the future ones. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0388b0042624714e6f8db8cc7994101a0a02d392 Author: Pavel Emelyanov Date: Mon Jul 14 23:00:43 2008 -0700 icmp: add struct net argument to icmp_out_count This routine deals with ICMP statistics, but doesn't have a struct net at hands, so add one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 61362766d769c934a9d12d5516323c544c161908 Author: Patrick McHardy Date: Mon Jul 14 22:51:55 2008 -0700 vlan: remove unnecessary include statements Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d80aa31bbffc4bc8b5be36c57cbea128f52e1e1f Author: Patrick McHardy Date: Mon Jul 14 22:51:39 2008 -0700 vlan: clean up hard_start_xmit functions Remove excessive comments and debugging, use NETDEV_TX codes, remove some empty lines. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1349fe9a6bc580fb80e1a43a93b68c15d674ed0a Author: Patrick McHardy Date: Mon Jul 14 22:51:19 2008 -0700 vlan: clean up vlan_dev_hard_header() Remove some debugging and excessive comments, merge the two dev_hard_header calls into one. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 19b9a4e256758a0c032c915eebe0a39b370ea133 Author: Patrick McHardy Date: Mon Jul 14 22:51:01 2008 -0700 vlan: ethtool ->get_flags support Allow to query LRO settings of underlying device when VLAN RX acceleration is used. Suggested by Ben Hutchings . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 393e52e33c6c26ec7db290dab803bac1bed962d4 Author: Patrick McHardy Date: Mon Jul 14 22:50:39 2008 -0700 packet: deliver VLAN TCI to userspace Store the VLAN tag in the auxillary data/tpacket2_hdr so userspace can properly deal with hardware VLAN tagging/stripping. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bbd6ef87c544d88c30e4b762b1b61ef267a7d279 Author: Patrick McHardy Date: Mon Jul 14 22:50:15 2008 -0700 packet: support extensible, 64 bit clean mmaped ring structure The tpacket_hdr is not 64 bit clean due to use of an unsigned long and can't be extended because the following struct sockaddr_ll needs to be at a fixed offset. Add support for a version 2 tpacket protocol that removes these limitations. Userspace can query the header size through a new getsockopt option and change the protocol version through a setsockopt option. The changes needed to switch to the new protocol version are: 1. replace struct tpacket_hdr by struct tpacket2_hdr 2. query header len and save 3. set protocol version to 2 - set up ring as usual 4. for getting the sockaddr_ll, use (void *)hdr + TPACKET_ALIGN(hdrlen) instead of (void *)hdr + TPACKET_ALIGN(sizeof(struct tpacket_hdr)) Steps 2 and 4 can be omitted if the struct sockaddr_ll isn't needed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bc1d0411b804ad190cdadabac48a10067f17b9e6 Author: Patrick McHardy Date: Mon Jul 14 22:49:30 2008 -0700 vlan: deliver packets received with VLAN acceleration to network taps When VLAN header stripping is used, packets currently bypass packet sockets (and other network taps) completely. For locally existing VLANs, they appear directly on the VLAN device, for unknown VLANs they are silently dropped. Add a new function netif_nit_deliver() to deliver incoming packets to all network interface taps and use it in __vlan_hwaccel_rx() to make VLAN packets visible on the underlying device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6aa895b047720f71ec4eb11452f7c3ce8426941f Author: Patrick McHardy Date: Mon Jul 14 22:49:06 2008 -0700 vlan: Don't store VLAN tag in cb Use a real skb member to store the skb to avoid clashes with qdiscs, which are allowed to use the cb area themselves. As currently only real devices that consume the skb set the NETIF_F_HW_VLAN_TX flag, no explicit invalidation is neccessary. The new member fills a hole on 64 bit, the skb layout changes from: __u32 mark; /* 172 4 */ sk_buff_data_t transport_header; /* 176 4 */ sk_buff_data_t network_header; /* 180 4 */ sk_buff_data_t mac_header; /* 184 4 */ sk_buff_data_t tail; /* 188 4 */ /* --- cacheline 3 boundary (192 bytes) --- */ sk_buff_data_t end; /* 192 4 */ /* XXX 4 bytes hole, try to pack */ to __u32 mark; /* 172 4 */ __u16 vlan_tci; /* 176 2 */ /* XXX 2 bytes hole, try to pack */ sk_buff_data_t transport_header; /* 180 4 */ sk_buff_data_t network_header; /* 184 4 */ Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 242e3df80b8d25ed681c278512df0993725f25dd Author: Dave Airlie Date: Tue Jul 15 15:48:05 2008 +1000 drm/radeon: fixup issue with radeon and PAT support. With new userspace libpciaccess we can get a conflicting mapping on the PCIE GART table in the video RAM. Always try and map it _wc. Signed-off-by: Dave Airlie commit 968edbe1c82f1a50d80225ed7e410aba419e55bf Author: Allan Stephens Date: Mon Jul 14 22:45:33 2008 -0700 tipc: Optimization to multicast name lookup algorithm This patch simplifies and speeds up TIPC's algorithm for identifying on-node and off-node destinations that overlap a multicast name sequence range. Rather than traversing the list of all known name publications within the cluster, it now traverses the (potentially much shorter) list of name publications made by the node itself, and determines if any off-node destinations exist by comparing the sizes of the two lists. (Since the node list must be a subset of the cluster list, a difference in sizes means that at least one off-node destination must exist.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 1aad72d6cd518872c5f545320823bf7f4dafb026 Author: Allan Stephens Date: Mon Jul 14 22:44:58 2008 -0700 tipc: Add missing locks when inspecting node list & link list This patch ensures that TIPC configuration commands that display info about neighboring nodes and their links take the spinlocks that protect the node list and link lists from changing while the lists are being traversed. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 43d2548bb2ef7e6d753f91468a746784041e522d Merge: 585583d... 85082fd... Author: Benjamin Herrenschmidt Date: Tue Jul 15 15:44:51 2008 +1000 Merge commit '85082fd7cbe3173198aac0eb5e85ab1edcc6352c' into test-build Manual fixup of: arch/powerpc/Kconfig commit 08d2cf0f74b3ee5e773bb906043a0efe96ded229 Author: Allan Stephens Date: Mon Jul 14 22:44:32 2008 -0700 tipc: Fix bug in scope checking for multicast messages This patch ensures that TIPC's multicast message name lookup algorithm does individualized scope checking for each published name it examines. Previously, scope checking was only done for the first name in a name table publication list, which could result in incoming multicast messages being delivered to ports publishing names with "node" scope, or not being delivered to ports publishing names with "cluster" or "zone" scope. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 585583d95c5660973bc0cf64add517b040acd8a4 Author: Kumar Gala Date: Mon Jul 14 08:08:45 2008 -0500 powerpc: Fix pte_update for CONFIG_PTE_64BIT and !PTE_ATOMIC_UPDATES Because the pte is now 64-bits the compiler was optimizing the update to always clear the upper 32-bits of the pte. We need to ensure the clr mask is treated as an unsigned long long to get the proper behavior. Signed-off-by: Kumar Gala Acked-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 0e35fd5e5264bb46d1febbe9cd9aa08421c21a96 Author: Allan Stephens Date: Mon Jul 14 22:44:01 2008 -0700 tipc: Eliminate improper use of TIPC_OK error code This patch corrects many places where TIPC routines indicated successful completion by returning TIPC_OK instead of 0. (The TIPC_OK symbol has the value 0, but it should only be used in contexts that deal with the error code field of a TIPC message header.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 2da59918e26837f305131cfac9c0f1b3b42bb8ae Author: Allan Stephens Date: Mon Jul 14 22:43:32 2008 -0700 tipc: Fix race condition that could cause accept() to fail This patch ensurs that accept() returns successfully even when the newly created socket is immediately disconnected by its peer. Previously, accept() would fail if it was unable to pass back the optional address info for the socket's peer before the socket became disconnected; TIPC now allows accept() to gather peer address information after disconnection. As a bonus, the revised code accesses the socket's port more efficiently, without the overhead incurred by a reference table lookup. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 8642bd9e04f51980b2b6293c66acf7e388c9a6e7 Author: Allan Stephens Date: Mon Jul 14 22:42:51 2008 -0700 tipc: Optimize pointer dereferencing when receiving stream data This patch eliminates an unnecessary pointer dereference when accessing a stream-based socket's receive queue. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 0ea522416b658dedfc9d565b331624a55a6260ad Author: Allan Stephens Date: Mon Jul 14 22:42:19 2008 -0700 tipc: Remove unneeded parameter to tipc_createport_raw() This patch eliminates an unneeded parameter when creating a low-level TIPC port object. Instead of returning both the pointer to the port structure and the port's reference ID, it now returns only the pointer since the port structure contains the reference ID as one of its fields. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 3cb29b1bca00736e984ea8ab368af40394a1bca0 Author: Michael Chan Date: Mon Jul 14 22:40:21 2008 -0700 bnx2: Update version to 1.7.8. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5fcaed0124cde73124227542bfce4ed57fccbb50 Author: Benjamin Li Date: Mon Jul 14 22:39:52 2008 -0700 bnx2: Support secondary MAC addresses. Add support for configuring secondary unicast addresses. There are 4 additional perfect match filters which can be used for secondary unicast address support. * Modified bnx2_set_mac_addr() to be more generic in handling the setting of the perfect match filters * Changed bnx2_set_rx_mode() to handle the unicast dev_addr_list Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7c62e83beb1446d690ed921beddb0dcf34c9baa9 Author: Michael Chan Date: Mon Jul 14 22:39:03 2008 -0700 bnx2: Allow flexible VLAN tag settings. Negotiate with boot code and ASF firmware to see if it can support keeping VLAN tags in the RX packets. If supported by firmware, the VLAN tag will be kept in the RX packet unless VLAN acceleration is registered. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7ff86b0317bc40c665aab62f3b7669713ade07c5 Author: Takashi Iwai Date: Wed Jul 16 02:20:11 2008 +0200 powerpc: Fix a build problem on ppc32 with new DMA_ATTRs The new dma_attrs support must only be enabled for 64 bits as it's not been implemented for 32 bits yet. Signed-off-by: Benjamin Herrenschmidt commit a2f138900d5c342742c369293edaf92d2173c92e Author: Michael Chan Date: Mon Jul 14 22:38:23 2008 -0700 bnx2: Add ack parameter to bnx2_fw_sync(). ack=1 means wait for firmware acknowledgement, and ack=0 means don't wait. All current callers will set it to 1. In the next patch, new calls will set ack=0. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7bb0a04fcd610e5db59690332b2a46b6068c8bc3 Author: Michael Chan Date: Mon Jul 14 22:37:47 2008 -0700 bnx2: Add PCI ID for 5716. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit d6b14486953d0e8d1c57db29bf6104cea198b884 Author: Michael Chan Date: Mon Jul 14 22:37:21 2008 -0700 bnx2: Prevent ethtool -s from crashing when device is down. The device may be in D3-hot state and may crash if we try to configure the speed settings by accessing the registers. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 925068dcdc746236264d1877d3d5df656e87882a Merge: 83aa2e9... 67fbbe1... Author: David S. Miller Date: Mon Jul 14 22:30:17 2008 -0700 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 83aa2e964b9b04effa304aaf3c1090b46812a04b Author: Denis V. Lunev Date: Mon Jul 14 22:28:25 2008 -0700 netlabel: return msg overflow error from netlbl_cipsov4_list faster Currently, we are trying to place the information from the kernel to 1, 2, 3 and 4 pages sequentially. These pages are allocated via slab. Though, from the slab point of view steps 3 and 4 are equivalent on most architectures. So, lets skip 3 pages attempt. By the way, should we switch from .doit to .dumpit interface here? The amount of data seems quite big for me. Signed-off-by: Denis V. Lunev Acked-by: Paul Moore Signed-off-by: David S. Miller commit 7197914c35b31a75cb6e85c7fc2ae93d0027c28e Author: Johann Felix Soden Date: Mon Jul 14 22:22:29 2008 -0700 net: Remove references to wan-router.txt in Kconfigs This patch removes references in drivers/net/wan/Kconfig and net/wanrouter/Kconfig to Documentation/networking/wan-router.txt which was removed in commit 99971e70fdc1862e120f3319fc0a4dba8c728acf ("[WANPIPE]: Forgotten bits of Sangoma drivers removal."). Signed-off-by: Johann Felix Soden Signed-off-by: David S. Miller commit f271b2cc78f09c93ccd00a2056d3237134bf994c Author: Max Krasnyansky Date: Mon Jul 14 22:18:19 2008 -0700 tun: Fix/rewrite packet filtering logic Please see the following thread to get some context on this http://marc.info/?l=linux-netdev&m=121564433018903&w=2 Basically the issue is that current multi-cast filtering stuff in the TUN/TAP driver is seriously broken. Original patch went in without proper review and ACK. It was broken and confusing to start with and subsequent patches broke it completely. To give you an idea of what's broken here are some of the issues: - Very confusing comments throughout the code that imply that the character device is a network interface in its own right, and that packets are passed between the two nics. Which is completely wrong. - Wrong set of ioctls is used for setting up filters. They look like shortcuts for manipulating state of the tun/tap network interface but in reality manipulate the state of the TX filter. - ioctls that were originally used for setting address of the the TX filter got "fixed" and now set the address of the network interface itself. Which made filter totaly useless. - Filtering is done too late. Instead of filtering early on, to avoid unnecessary wakeups, filtering is done in the read() call. The list goes on and on :) So the patch cleans all that up. It introduces simple and clean interface for setting up TX filters (TUNSETTXFILTER + tun_filter spec) and does filtering before enqueuing the packets. TX filtering is useful in the scenarios where TAP is part of a bridge, in which case it gets all broadcast, multicast and potentially other packets when the bridge is learning. So for example Ethernet tunnelling app may want to setup TX filters to avoid tunnelling multicast traffic. QEMU and other hypervisors can push RX filtering that is currently done in the guest into the host context therefore saving wakeups and unnecessary data transfer. Signed-off-by: Max Krasnyansky Signed-off-by: David S. Miller commit 1c0d20cd29aec11a3580cedf0bccec25052e8d4c Author: Bryan Wu Date: Tue Jul 15 12:08:50 2008 +0800 Blackfin arch: add TXDWA definition to enable new feature Signed-off-by: Bryan Wu commit 89146504cbfeb120dd08ec7f9f8314c4986189b8 Author: Wang Chen Date: Mon Jul 14 20:59:03 2008 -0700 8021q: Check return of dev_set_promiscuity/allmulti dev_set_promiscuity/allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. Here, we check all positive increment for promiscuity and allmulti to get error return. Signed-off-by: Wang Chen Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit b89fb7da2f9a69dd34ff10d45f66baa40ff8c0e5 Author: Wang Chen Date: Mon Jul 14 20:57:07 2008 -0700 macvlan: Check return of dev_set_allmulti allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. Here, we check the positive increment for allmulti to get error return. Signed-off-by: Wang Chen Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 7dc00c82cbb0119cf4663f65bbaa2cc55f961db2 Author: Wang Chen Date: Mon Jul 14 20:56:34 2008 -0700 ipv4: Fix ipmr unregister device oops An oops happens during device unregister. The following oops happened when I add two tunnels, which use a same device, and then delete one tunnel. Obviously deleting tunnel "A" causes device unregister, which send a notification, and after receiving notification, ipmr do unregister again for tunnel "B" which also use same device. That is wrong. After receiving notification, ipmr only needs to decrease reference count and don't do duplicated unregister. Fortunately, IPv6 side doesn't add tunnel in ip6mr, so it's clean. This patch fixs: - unregister device oops - using after dev_put() Here is the oops: === Jul 11 15:39:29 wangchen kernel: ------------[ cut here ]------------ Jul 11 15:39:29 wangchen kernel: kernel BUG at net/core/dev.c:3651! Jul 11 15:39:29 wangchen kernel: invalid opcode: 0000 [#1] Jul 11 15:39:29 wangchen kernel: Modules linked in: ipip tunnel4 nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs ipv6 snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device af_packet binfmt_misc button battery ac loop dm_mod usbhid ff_memless pcmcia firmware_class ohci1394 8139too mii ieee1394 yenta_socket rsrc_nonstatic pcmcia_core ide_cd_mod cdrom snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm i2c_i801 snd_timer snd i2c_core soundcore snd_page_alloc rng_core shpchp ehci_hcd uhci_hcd pci_hotplug intel_agp agpgart usbcore ext3 jbd ata_piix ahci libata dock edd fan thermal processor thermal_sys piix sd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table] Jul 11 15:39:29 wangchen kernel: Jul 11 15:39:29 wangchen kernel: Pid: 4102, comm: mroute Not tainted (2.6.26-rc9-default #69) Jul 11 15:39:29 wangchen kernel: EIP: 0060:[] EFLAGS: 00010202 CPU: 0 Jul 11 15:39:29 wangchen kernel: EIP is at rollback_registered+0x61/0xe3 Jul 11 15:39:29 wangchen kernel: EAX: 00000001 EBX: ecba6000 ECX: 00000000 EDX: ffffffff Jul 11 15:39:29 wangchen kernel: ESI: 00000001 EDI: ecba6000 EBP: c03de2e8 ESP: ed8e7c3c Jul 11 15:39:29 wangchen kernel: DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Jul 11 15:39:29 wangchen kernel: Process mroute (pid: 4102, ti=ed8e6000 task=ed41e830 task.ti=ed8e6000) Jul 11 15:39:29 wangchen kernel: Stack: ecba6000 c024641c 00000028 c0284e1a 00000001 c03de2e8 ecba6000 eecff360 Jul 11 15:39:29 wangchen kernel: c0284e4c c03536f4 fffffff8 00000000 c029a819 ecba6000 00000006 ecba6000 Jul 11 15:39:29 wangchen kernel: 00000000 ecba6000 c03de2c0 c012841b ffffffff 00000000 c024639f ecba6000 Jul 11 15:39:29 wangchen kernel: Call Trace: Jul 11 15:39:29 wangchen kernel: [] unregister_netdevice+0x2f/0x51 Jul 11 15:39:29 wangchen kernel: [] vif_delete+0xaf/0xc3 Jul 11 15:39:29 wangchen kernel: [] ipmr_device_event+0x1e/0x30 Jul 11 15:39:29 wangchen kernel: [] notifier_call_chain+0x2a/0x47 Jul 11 15:39:29 wangchen kernel: [] raw_notifier_call_chain+0x9/0xc Jul 11 15:39:29 wangchen kernel: [] rollback_registered+0x95/0xe3 Jul 11 15:39:29 wangchen kernel: [] unregister_netdevice+0x2f/0x51 Jul 11 15:39:29 wangchen kernel: [] vif_delete+0xaf/0xc3 Jul 11 15:39:29 wangchen kernel: [] ip_mroute_setsockopt+0x47a/0x801 Jul 11 15:39:29 wangchen kernel: [] do_get_write_access+0x2df/0x313 [jbd] Jul 11 15:39:29 wangchen kernel: [] __find_get_block_slow+0xda/0xe4 Jul 11 15:39:29 wangchen kernel: [] __find_get_block+0xf8/0x122 Jul 11 15:39:29 wangchen kernel: [] __find_get_block+0xf8/0x122 Jul 11 15:39:29 wangchen kernel: [] journal_cancel_revoke+0xda/0x110 [jbd] Jul 11 15:39:29 wangchen kernel: [] ip_setsockopt+0xa9/0x9ee Jul 11 15:39:29 wangchen kernel: [] journal_cancel_revoke+0xda/0x110 [jbd] Jul 11 15:39:29 wangchen kernel: [] do_get_write_access+0x2df/0x313 [jbd] Jul 11 15:39:29 wangchen kernel: [] __ext3_get_inode_loc+0xcf/0x271 [ext3] Jul 11 15:39:29 wangchen kernel: [] __ext3_journal_dirty_metadata+0x13/0x32 [ext3] Jul 11 15:39:29 wangchen kernel: [] __wake_up+0xf/0x15 Jul 11 15:39:29 wangchen kernel: [] journal_stop+0x1bd/0x1c6 [jbd] Jul 11 15:39:29 wangchen kernel: [] __ext3_journal_stop+0x19/0x34 [ext3] Jul 11 15:39:29 wangchen kernel: [] get_page_from_freelist+0x94/0x369 Jul 11 15:39:29 wangchen kernel: [] filemap_fault+0x1ac/0x2fe Jul 11 15:39:29 wangchen kernel: [] security_sk_alloc+0xd/0xf Jul 11 15:39:29 wangchen kernel: [] sk_prot_alloc+0x36/0x78 Jul 11 15:39:29 wangchen kernel: [] sk_alloc+0x3a/0x40 Jul 11 15:39:29 wangchen kernel: [] raw_hash_sk+0x46/0x4e Jul 11 15:39:29 wangchen kernel: [] d_alloc+0x1b/0x157 Jul 11 15:39:29 wangchen kernel: [] sock_common_setsockopt+0x12/0x16 Jul 11 15:39:29 wangchen kernel: [] sys_setsockopt+0x6f/0x8e Jul 11 15:39:29 wangchen kernel: [] sys_socketcall+0x15c/0x19e Jul 11 15:39:29 wangchen kernel: [] sysenter_past_esp+0x6a/0x99 Jul 11 15:39:29 wangchen kernel: [] unix_poll+0x69/0x78 Jul 11 15:39:29 wangchen kernel: ======================= Jul 11 15:39:29 wangchen kernel: Code: 83 e0 01 00 00 85 c0 75 1f 53 53 68 12 81 31 c0 e8 3c 30 ed ff ba 3f 0e 00 00 b8 b9 7f 31 c0 83 c4 0c 5b e9 f5 26 ed ff 48 74 04 <0f> 0b eb fe 89 d8 e8 21 ff ff ff 89 d8 e8 62 ea ff ff c7 83 e0 Jul 11 15:39:29 wangchen kernel: EIP: [] rollback_registered+0x61/0xe3 SS:ESP 0068:ed8e7c3c Jul 11 15:39:29 wangchen kernel: ---[ end trace c311acf85d169786 ]--- === Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit d607032db0ccd7274bee348df3214f6f52b24816 Author: Wang Chen Date: Mon Jul 14 20:55:26 2008 -0700 ipv4: Check return of dev_set_allmulti allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. Here, we check the positive increment for allmulti to get error return. PS: For unwinding tunnel creating, we let ipip->ioctl() to handle it. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 7af3db78a99f47b9ff40b8cb0bb08160ad6a3d6b Author: Wang Chen Date: Mon Jul 14 20:54:54 2008 -0700 ipv6: Fix using after dev_put() Patrick McHardy pointed it out. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 5ae7b444137143a4e067b80354171ab128eb1b2b Author: Wang Chen Date: Mon Jul 14 20:54:23 2008 -0700 ipv6: Check return of dev_set_allmulti allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. Here, we check the positive increment for allmulti to get error return. Signed-off-by: Wang Chen Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit bc3f9076f671f128c82022428992c30be57f22d5 Author: Wang Chen Date: Mon Jul 14 20:53:13 2008 -0700 bridge: Check return of dev_set_promiscuity dev_set_promiscuity/allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. Here, we check the positive increment for promiscuity to get error return. Signed-off-by: Wang Chen Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7e1a1ac1fbaa88fe254400b7f30b775502932ad3 Author: Wang Chen Date: Mon Jul 14 20:51:36 2008 -0700 bonding: Check return of dev_set_promiscuity/allmulti dev_set_promiscuity/allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. In bond_alb and bond_main, we check all positive increment for promiscuity and allmulti to get error return. But there are still two problems left. 1. Some code path has no mechanism to signal errors upstream. 2. If there are multi slaves, it's hard to tell which slaves increment promisc/allmulti successfully and which failed. So I left these problems to be FIXME. Fortunately, the overflow is very rare case. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 2aeb0b88b3c7a0e3bef55e7ff0efffd5d971aa57 Author: Wang Chen Date: Mon Jul 14 20:49:46 2008 -0700 af_packet: Check return of dev_set_promiscuity/allmulti dev_set_promiscuity/allmulti might overflow. Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes dev_set_promiscuity/allmulti return error number if overflow happened. In af_packet, we check all positive increment for promiscuity and allmulti to get error return. Signed-off-by: Wang Chen Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 4d3702b62e004172f44870763cf56793d8de0cbf Author: Roland Dreier Date: Mon Jul 14 18:11:23 2008 -0700 x86: Rename "ignore" macro in to avoid collision Commit 70f1bba4 ("x86: use ignore macro instead of hash comment") breaks the 64-bit x86 build on toolchains that have CONFIG_AS_CFI undefined with: arch/x86/lib/csum-copy_64.S:48: Error: Macro `ignore' was already defined because now uses the ignore macro name itself. Fix this by changing to __cfi_ignore in dwarf2.h. Signed-off-by: Roland Dreier Signed-off-by: Linus Torvalds commit ad1f8bf073e1c1996bb37b669352e3d7b1eb2b1f Author: David Woodhouse Date: Mon Jul 14 18:13:10 2008 -0700 Fix accidental reference to tg3 firmware We're not updating the tg3 driver to use request_firmware() yet, but a reference to its firmware accidentally slipped in as part of commit c4667746 ("dabusb: use request_firmware()"). Remove it again. Signed-off-by: David Woodhouse Reported-by: Yinghai Lu Signed-off-by: Linus Torvalds commit fc943b12e48f9341bce48c2fadf094cc721aab93 Merge: 72d9794... 4c9adaf... Author: David S. Miller Date: Mon Jul 14 20:40:34 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 72d9794f444734af56ef12833b496326643e2964 Author: Patrick McHardy Date: Mon Jul 14 20:36:32 2008 -0700 net-sched: cls_flow: add perturbation support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c4c8cae44e9d71afd3031c1e8739bd398a831a8 Merge: 2aec609... 2eeea7b... Author: David S. Miller Date: Mon Jul 14 20:32:07 2008 -0700 Merge branch 'master' of git://eden-feed.erg.abdn.ac.uk/net-next-2.6 commit 2aec609fb45e84d65bc8eabc7b650bbecb1cc179 Merge: 4c88949... 9076689... Author: David S. Miller Date: Mon Jul 14 20:23:54 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/netfilter/nf_conntrack_proto_tcp.c commit 4c8894980010536915c4f5513ee180e3614aeca9 Author: David S. Miller Date: Mon Jul 14 20:22:38 2008 -0700 netfilter: Let nf_ct_kill() callers know if del_timer() returned true. Signed-off-by: David S. Miller commit 004ea683d96ff51131789e78a3de7dafcdbf912d Author: Grant Erickson Date: Wed Jul 9 01:03:06 2008 +1000 ibm_newemac: Add MII mode support to the EMAC RGMII bridge. This patch adds support to the RGMII handler in the EMAC driver for the MII PHY mode such that device tree entries of the form `phy-mode = "mii";' are recognized and handled appropriately. While logically, in software, "gmii" and "mii" modes are the same, they are wired differently, so it makes sense to allow DTS authors to specify each explicitly. Signed-off-by: Grant Erickson Acked-by: Stefan Roese Acked-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Benjamin Herrenschmidt commit b6f6b98a4e91fcf31db7de54c3aa86252fc6fb5f Author: Sonny Rao Date: Sat Jul 12 09:00:26 2008 +1000 powerpc: Don't spin on sync instruction at boot time Push the sync below the secondary smp init hold loop and comment its purpose. This should speed up boot by reducing global traffic during the single-threaded portion of boot. Signed-off-by: Sonny Rao Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit cd6f37be7fdc9fea407379745350f6630b9d3cdd Author: Michael Neuling Date: Fri Jul 11 16:31:09 2008 +1000 powerpc: Add VSX load/store alignment exception handler VSX loads and stores will take an alignment exception when the address is not on a 4 byte boundary. This add support for these alignment exceptions and will emulate the requested load or store. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 7c29217096d83f657e6ee70479af09b46f4275f6 Author: Michael Neuling Date: Fri Jul 11 16:29:12 2008 +1000 powerpc: fix giveup_vsx to save registers correctly giveup_vsx didn't save the FPU and VMX regsiters. Change it to be like giveup_fpr/altivec which save these registers. Also update call sites where FPU and VMX are already saved to use the original giveup_vsx (renamed to __giveup_vsx). Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 01f4b8b8b8db09b88be7df7e51192e4e678b69d3 Author: Arnd Bergmann Date: Fri Jul 11 00:08:18 2008 +1000 powerpc: support for latencytop Implement save_stack_trace_tsk on powerpc, so that we can run with latencytop. Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 443dcac4d89622cbfc61f53523007979879d6f8e Author: Dave Kleikamp Date: Thu Jul 10 01:28:07 2008 +1000 powerpc: Remove unnecessary condition when sanity-checking WIMG bits It is okay for both _PAGE_GUARDED and _PAGE_COHERENT (G and M) to be set in the same pte. In fact, even if that were not the case, there doesn't seem to be any place where G is set without also setting I (_PAGE_NO_CACHE), so the test for I is sufficient as a condition to clear _PAGE_COHERENT when filling the hash table. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit 0f47331475201c7785454030a9976c8ac902a35d Author: Nathan Lynch Date: Thu Jul 10 01:06:57 2008 +1000 powerpc: Add PPC_FEATURE_PSERIES_PERFMON_COMPAT Background from Maynard Johnson: As of POWER6, a set of 32 common events is defined that must be supported on all future POWER processors. The main impetus for this compat set is the need to support partition migration, especially from processor P(n) to processor P(n+1), where performance software that's running in the new partition may not be knowledgeable about processor P(n+1). If a performance tool determines it does not support the physical processor, but is told (via the PPC_FEATURE_PSERIES_PERFMON_COMPAT bit) that the processor supports the notion of the PMU compat set, then the performance tool can surface just those events to the user of the tool. PPC_FEATURE_PSERIES_PERFMON_COMPAT indicates that the PMU supports at least this basic subset of events which is compatible across POWER processor lines. Signed-off-by: Nathan Lynch Signed-off-by: Benjamin Herrenschmidt commit fe9e8d53772b5ea9ccf8ea4e8f0f009a6885eb70 Author: Sonny Rao Date: Tue Jul 8 15:45:11 2008 +1000 powerpc: Add driver for Barrier Synchronization Register Adds a character driver for BSR support on IBM POWER systems including Power5 and Power6. The BSR is an optional processor facility not currently implemented by any other processors. It's primary purpose is fast large SMP synchronization. More details on the BSR are in comments to the code which follows. This patch adds BSR driver to pseries_defconfig. Signed-off-by: Sonny Rao Signed-off-by: Joel Schopp Signed-off-by: Benjamin Herrenschmidt commit b3fcaaa8a6359e9ed623ed4c1d2d48c79eed4648 Author: Stephen Rothwell Date: Mon Jul 14 19:25:57 2008 +1000 powerpc: mman.h export fixups Commit ef3d3246a0d06be622867d21af25f997aeeb105f ("powerpc/mm: Add Strong Access Ordering support") in the powerpc/{next,master} tree caused the following in a powerpc allmodconfig build: usr/include/asm/mman.h requires linux/mm.h, which does not exist in exported headers We should not use CONFIG_PPC64 in an unprotected (by __KERNEL__) section of an exported include file and linux/mm.h is not exported. So protect the whole section that is CONFIG_PPC64 with __KERNEL__ and put the two introduced includes in there as well. Signed-off-by: Stephen Rothwell Acked-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit 5b0504c0d795d6b0a904ff861c043d7a231f67a4 Merge: 930074b... 77a7636... Author: Benjamin Herrenschmidt Date: Tue Jul 15 11:55:27 2008 +1000 Merge commit 'gcl/gcl-next' commit 930074b6b9c4895d20cdadba5aff97907e28728d Merge: 3fd4473... 2bf3016... Author: Benjamin Herrenschmidt Date: Tue Jul 15 11:54:57 2008 +1000 Merge commit 'jwb/jwb-next' commit 50515af207d410c9f228380e529c56f43c3de0bd Author: David Woodhouse Date: Mon Jul 14 17:50:24 2008 -0700 firmware: Correct dependency on CONFIG_EXTRA_FIRMWARE_DIR When CONFIG_EXTRA_FIRMWARE_DIR gets changed, the filename in the .S file (which uses .incbin to include the binary) needs to change. When we renamed the BUILTIN_FIRMWARE_DIR option to EXTRA_FIRMWARE_DIR, we forgot to update the manual dependency in firmware/Makefile, so it was depending on a non-existent file in include/config/ Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 5a86102248592e178a9023359ccf7f0e489d8e35 Merge: 85082fd... 751851a... Author: Linus Torvalds Date: Mon Jul 14 16:54:07 2008 -0700 Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6 * 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6: (64 commits) firmware: convert sb16_csp driver to use firmware loader exclusively dsp56k: use request_firmware edgeport-ti: use request_firmware() edgeport: use request_firmware() vicam: use request_firmware() dabusb: use request_firmware() cpia2: use request_firmware() ip2: use request_firmware() firmware: convert Ambassador ATM driver to request_firmware() whiteheat: use request_firmware() ti_usb_3410_5052: use request_firmware() emi62: use request_firmware() emi26: use request_firmware() keyspan_pda: use request_firmware() keyspan: use request_firmware() ttusb-budget: use request_firmware() kaweth: use request_firmware() smctr: use request_firmware() firmware: convert ymfpci driver to use firmware loader exclusively firmware: convert maestro3 driver to use firmware loader exclusively ... Fix up trivial conflicts with BKL removal in drivers/char/dsp56k.c and drivers/char/ip2/ip2main.c manually. commit 85082fd7cbe3173198aac0eb5e85ab1edcc6352c Merge: 666484f... 53ffe3b... Author: Linus Torvalds Date: Mon Jul 14 16:06:58 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: (241 commits) [ARM] 5171/1: ep93xx: fix compilation of modules using clocks [ARM] 5133/2: at91sam9g20 defconfig file [ARM] 5130/4: Support for the at91sam9g20 [ARM] 5160/1: IOP3XX: gpio/gpiolib support [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits. [ARM] 5084/1: zylonite: Register AC97 device [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state [ARM] 5144/1: pxaficp_ir: cleanup includes [ARM] pxa: remove pxa_set_cken() [ARM] pxa: allow clk aliases [ARM] Feroceon: don't disable BPU on boot [ARM] Orion: LED support for HP mv2120 [ARM] Orion: add RD88F5181L-FXO support [ARM] Orion: add RD88F5181L-GE support [ARM] Orion: add Netgear WNR854T support [ARM] s3c2410_defconfig: update for current build [ARM] Acer n30: Minor style and indentation fixes. ... commit 751851af7aae9b8bd5a60b3897209081fbc18b2b Merge: a41eeba... d71792a... Author: David Woodhouse Date: Mon Jul 14 15:49:04 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Conflicts: sound/pci/Kconfig commit 53ffe3b440aa85af6fc4eda09b2d44bcdd312d4d Merge: f000631... cabb352... Author: Russell King Date: Mon Jul 14 21:28:25 2008 +0100 [ARM] Merge most of the PXA work for initial merge This includes PXA work up to the SPI changes for the initial merge, since e172274ccc55d20536fbdceb6131f38e288541e0 depends on the SPI tree being merged. Conflicts: arch/arm/configs/em_x270_defconfig arch/arm/configs/xm_x270_defconfig commit 666484f0250db2e016948d63b3ef33e202e3b8d0 Merge: d18bb9a... ace7f1b... Author: Linus Torvalds Date: Mon Jul 14 15:28:42 2008 -0700 Merge branch 'core/softirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/softirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softirq: remove irqs_disabled warning from local_bh_enable softirq: remove initialization of static per-cpu variable Remove argument from open_softirq which is always NULL commit d18bb9a548e550f3ced57618e75085fb3f173133 Merge: 4bb0057... 6d72b79... Author: Linus Torvalds Date: Mon Jul 14 15:28:10 2008 -0700 Merge branch 'core/rodata' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/rodata' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: move BUG_TABLE into RODATA commit 4bb0057f996b1491f93a64879f4c53c83bc0f0c7 Merge: 116a9fb... 9e4144a... Author: Linus Torvalds Date: Mon Jul 14 15:27:43 2008 -0700 Merge branch 'core/printk' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/printk' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, generic: mark early_printk as asmlinkage printk: export console_drivers printk: remember the message level for multi-line output printk: refactor processing of line severity tokens printk: don't prefer unsuited consoles on registration printk: clean up recursion check related static variables namespacecheck: more kernel/printk.c fixes namespacecheck: fix kernel printk.c commit 116a9fb3ed98c19d1ee0c6c55971f5b753949393 Author: Linus Torvalds Date: Mon Jul 14 15:03:25 2008 -0700 x86: MMIOTRACE should not default to on Even the help-text makes it clear that normal people shouldn't enable it. Signed-off-by: Linus Torvalds commit 40e7babbb52b4b57721b9175aed7a14d93bf242f Merge: 948769a... d12c1a3... Author: Linus Torvalds Date: Mon Jul 14 14:55:13 2008 -0700 Merge branch 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: fix kernel/fork.c warning lockdep: fix ftrace irq tracing false positive lockdep: remove duplicate definition of STATIC_LOCKDEP_MAP_INIT lockdep: add lock_class information to lock_chain and output it lockdep: add lock_class information to lock_chain and output it lockdep: output lock_class key instead of address for forward dependency output __mutex_lock_common: use signal_pending_state() mutex-debug: check mutex magic before owner Fixed up conflict in kernel/fork.c manually commit 948769a5ba304ed3329a2f42ee3561f04a0b5692 Merge: e18425a... 773dc8e... Author: Linus Torvalds Date: Mon Jul 14 14:50:49 2008 -0700 Merge branch 'sched/new-API-sched_setscheduler' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched/new-API-sched_setscheduler' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: add new API sched_setscheduler_nocheck: add a flag to control access checks commit e18425a0abc8eafa8e98ecffac517bb0c0904f4b Merge: d1794f2... 5806b81... Author: Linus Torvalds Date: Mon Jul 14 14:49:54 2008 -0700 Merge branch 'tracing/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (228 commits) ftrace: build fix for ftraced_suspend ftrace: separate out the function enabled variable ftrace: add ftrace_kill_atomic ftrace: use current CPU for function startup ftrace: start wakeup tracing after setting function tracer ftrace: check proper config for preempt type ftrace: trace schedule ftrace: define function trace nop ftrace: move sched_switch enable after markers ftrace: prevent ftrace modifications while being kprobe'd, v2 fix "ftrace: store mcount address in rec->ip" mmiotrace broken in linux-next (8-bit writes only) ftrace: avoid modifying kprobe'd records ftrace: freeze kprobe'd records kprobes: enable clean usage of get_kprobe ftrace: store mcount address in rec->ip ftrace: build fix with gcc 4.3 namespacecheck: fixes ftrace: fix "notrace" filtering priority ftrace: fix printout ... commit d1794f2c5b5817eb79ccc5e00701ca748d1b073a Merge: a41eeba... 2fceef3... Author: Linus Torvalds Date: Mon Jul 14 14:48:31 2008 -0700 Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 * 'bkl-removal' of git://git.lwn.net/linux-2.6: (146 commits) IB/umad: BKL is not needed for ib_umad_open() IB/uverbs: BKL is not needed for ib_uverbs_open() bf561-coreb: BKL unneeded for open() Call fasync() functions without the BKL snd/PCM: fasync BKL pushdown ipmi: fasync BKL pushdown ecryptfs: fasync BKL pushdown Bluetooth VHCI: fasync BKL pushdown tty_io: fasync BKL pushdown tun: fasync BKL pushdown i2o: fasync BKL pushdown mpt: fasync BKL pushdown Remove BKL from remote_llseek v2 Make FAT users happier by not deadlocking x86-mce: BKL pushdown vmwatchdog: BKL pushdown vmcp: BKL pushdown via-pmu: BKL pushdown uml-random: BKL pushdown uml-mmapper: BKL pushdown ... commit d71792ac3d48df6693f7b339e02494efc27036c3 Author: Jaswinder Singh Date: Sat Jul 5 18:05:22 2008 +0530 firmware: convert sb16_csp driver to use firmware loader exclusively Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit 7f127d5ed0da66053482a3e18014c439da3c41d1 Author: Jaswinder Singh Date: Sat Jul 5 15:28:30 2008 +0530 dsp56k: use request_firmware Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit d12b219a228efe92f0778ed3af21305e65fbb052 Author: Jaswinder Singh Date: Fri Jul 4 23:06:09 2008 +0530 edgeport-ti: use request_firmware() Firmware blob looks like this... uint8_t MajorVersion uint8_t MinorVersion __le16 BuildNumber uint8_t data[] Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit 5b9ea9322605da09d6f7119f03f71cc52b044911 Author: Jaswinder Singh Date: Thu Jul 3 17:00:23 2008 +0530 edgeport: use request_firmware() Version number provided in first HEX record. Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit fb54be8755d386008bfadb7fc8ff89451fa3a9c9 Author: Jaswinder Singh Date: Fri Jun 27 19:50:40 2008 +0530 vicam: use request_firmware() Although it wasn't actually using ihex records before, we use the Intel HEX record format for this firmware -- because that gives us a simple way to split it into separate chunks internally as we need, without loading each part as a separate file. Signed-off-by: Jaswinder Singh Signed-off-by: David Woodhouse commit c466774636b3cc43c2c304b44e52974d9d53f3e0 Author: David Woodhouse Date: Mon Jun 23 11:41:04 2008 +0100 dabusb: use request_firmware() Signed-off-by: David Woodhouse commit 04a33e406a062cd1bb55014ee17a3558109a2d74 Author: David Woodhouse Date: Mon Jun 23 11:36:23 2008 +0100 cpia2: use request_firmware() Thanks for Jaswinder Singh for converting the firmware blob itself to ihex. Signed-off-by: David Woodhouse commit c300bd2fb583afb6d68804afd38bc90b31310d95 Author: Stephen Rothwell Date: Thu Jul 10 02:16:44 2008 +0200 PCI: include linux/pm_wakeup.h for device_set_wakeup_capable drivers/pci/pci.c needs pm_wakeup.h since it uses device_set_wakup_capable(). The latter also needs to be stubbed out for !CONFIG_PM. Signed-off-by: Stephen Rothwell Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 2fceef397f9880b212a74c418290ce69e7ac00eb Merge: feae1ef... bce7f79... Author: Jonathan Corbet Date: Mon Jul 14 15:29:34 2008 -0600 Merge commit 'v2.6.26' into bkl-removal commit c157dfa3e4aea5775389f2f4d53c040bc8813af1 Author: Rafael J. Wysocki Date: Sun Jul 13 22:45:06 2008 +0200 PCI PM: Fix pci_prepare_to_sleep The recently introduced pci_prepare_to_sleep() needs the following fix, because there are systems which are not power manageable by ACPI (ie. ACPI doesn't provide methods to put the device into low power states and back), but require ACPI hooks to be executed for wake-up to work. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit beef3129b3afb74817acff72fda4a9d951e3973e Author: Matthew Wilcox Date: Fri Jul 11 15:21:17 2008 -0600 x86/PCI: Fix PCI config space for domains > 0 John Keller reports that PCI config space access is broken on machines with more than one domain. conf1 accesses only work for domain 0, so make sure we check the domain number in the raw routines before trying conf1. Reported-by: John Keller Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit a41eebab7537890409ea9dfe0fcda9b5fbdb090d Author: Steven Rostedt Date: Mon Jul 14 16:41:12 2008 -0400 ftrace: document updates The following updates were recommended by Elias Oltmanns and Randy Dunlap. [ updates based on Andrew Morton's comments are still to come. ] Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit e75206517504461778c283b942440ef312e437d5 Author: Louis Rilling Date: Thu Jun 12 17:26:47 2008 +0200 configfs: call drop_link() to cleanup after create_link() failure When allow_link() succeeds but create_link() fails, the subsystem is not informed of the failure. This patch fixes this by calling drop_link() on create_link() failures. Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit 11c3b79218390a139f2d474ee1e983a672d5839a Author: Joel Becker Date: Thu Jun 12 14:00:18 2008 -0700 configfs: Allow ->make_item() and ->make_group() to return detailed errors. The configfs operations ->make_item() and ->make_group() currently return a new item/group. A return of NULL signifies an error. Because of this, -ENOMEM is the only return code bubbled up the stack. Multiple folks have requested the ability to return specific error codes when these operations fail. This patch adds that ability by changing the ->make_item/group() ops to return an int. Also updated are the in-kernel users of configfs. Signed-off-by: Joel Becker commit 6d8344baee99402de58b5fa5dfea197242955c15 Author: Louis Rilling Date: Mon Jun 16 19:01:02 2008 +0200 configfs: Fix failing mkdir() making racing rmdir() fail When fixing the rename() vs rmdir() deadlock, we stopped locking default groups' inodes in configfs_detach_prep(), letting racing mkdir() in default groups proceed concurrently. This enables races like below happen, which leads to a failing mkdir() making rmdir() fail, despite the group to remove having no user-created directory under it in the end. process A: process B: /* PWD=A/B */ mkdir("C") make_item("C") attach_group("C") rmdir("A") detach_prep("A") detach_prep("B") error because of "C" return -ENOTEMPTY attach_group("C/D") error (eg -ENOMEM) return -ENOMEM This patch prevents such scenarii by making rmdir() wait as long as detach_prep() fails because a racing mkdir() is in the middle of attach_group(). To achieve this, mkdir() sets a flag CONFIGFS_USET_IN_MKDIR in parent's configfs_dirent before calling attach_group(), and clears the flag once attach_group() is done. detach_prep() fails with -EAGAIN whenever the flag is hit and returns the guilty inode's mutex so that rmdir() can wait on it. Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit b3e76af87441fc36eef3516d73ab2314e7b2d911 Author: Louis Rilling Date: Mon Jun 16 19:01:01 2008 +0200 configfs: Fix deadlock with racing rmdir() and rename() This patch fixes the deadlock between racing sys_rename() and configfs_rmdir(). The idea is to avoid locking i_mutexes of default groups in configfs_detach_prep(), and rely instead on the new configfs_dirent_lock to protect against configfs_dirent's linkage mutations. To ensure that an mkdir() racing with rmdir() will not create new items in a to-be-removed default group, we make configfs_new_dirent() check for the CONFIGFS_USET_DROPPING flag right before linking the new dirent, and return error if the flag is set. This makes racing mkdir()/symlink()/dir_open() fail in places where errors could already happen, resp. in (attach_item()|attach_group())/create_link()/new_dirent(). configfs_depend() remains safe since it locks all the path from configfs root, and is thus mutually exclusive with rmdir(). An advantage of this is that now detach_groups() unconditionnaly takes the default groups i_mutex, which makes it more consistent with populate_groups(). Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit 107ed40bd070df5e4a0a012042c45c40963dc574 Author: Louis Rilling Date: Mon Jun 16 19:01:00 2008 +0200 configfs: Make configfs_new_dirent() return error code instead of NULL This patch makes configfs_new_dirent return negative error code instead of NULL, which will be useful in the next patch to differentiate ENOMEM from ENOENT. Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit 5301a77da2da1e4c22573e0e8d394a653b8ad9f9 Author: Louis Rilling Date: Mon Jun 16 19:00:59 2008 +0200 configfs: Protect configfs_dirent s_links list mutations Symlinks to a config_item are listed under its configfs_dirent s_links, but the list mutations are not protected by any common lock. This patch uses the configfs_dirent_lock spinlock to add the necessary protection. Note: we should also protect the list_empty() test in configfs_detach_prep() but 1/ the lock should not be released immediately because nothing would prevent the list from being filled after a successful list_empty() test, making the problem tricky, 2/ this will be solved by the rmdir() vs rename() deadlock bugfix. Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit 6f61076406251626be39651d114fac412b1e0c39 Author: Louis Rilling Date: Mon Jun 16 19:00:58 2008 +0200 configfs: Introduce configfs_dirent_lock This patch introduces configfs_dirent_lock spinlock to protect configfs_dirent traversals against linkage mutations (add/del/move). This will allow configfs_detach_prep() to avoid locking i_mutexes. Locking rules for configfs_dirent linkage mutations are the same plus the requirement of taking configfs_dirent_lock. For configfs_dirent walking, one can either take appropriate i_mutex as before, or take configfs_dirent_lock. The spinlock could actually be a mutex, but the critical sections are either O(1) or should not be too long (default groups walking in last patch). ChangeLog: - Clarify the comment on configfs_dirent_lock usage - Move sd->s_element init before linking the new dirent - In lseek(), do not release configfs_dirent_lock before the dirent is relinked. Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit fe9f387740ac7cb3b7c2fffa76807e997e6c6292 Author: Joel Becker Date: Thu Jun 12 22:39:18 2008 -0700 ocfs2: Don't snprintf() without a format. Some system files are per-slot. Their names include the slot number. ocfs2_sprintf_system_inode_name() uses the system inode definitions to fill in the slot number with snprintf(). For global system files, there is no node number, and the name was printed as a format with no arguments. -Wformat-nonliteral and -Wformat-security don't like this. Instead, use a static "%s" format and the name as the argument. Signed-off-by: Joel Becker commit e407e39783a7206d20b3e9961aedf272de966e31 Author: Joel Becker Date: Thu Jun 12 22:35:39 2008 -0700 ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs A couple places use OCFS2_DEBUG_FS where they really mean CONFIG_OCFS2_DEBUG_FS. Reported-by: Robert P. J. Day Signed-off-by: Joel Becker commit 461c6a30eca6f25add1dadb9fd8a1d8e89a6e627 Author: Sunil Mushran Date: Mon May 19 16:23:37 2008 -0700 ocfs2/net: Silence build warnings on sparc64 suseconds_t is type long on most arches except sparc64 where it is type int. This patch silences the following warnings that are generated when building on it. netdebug.c: In function 'nst_seq_show': netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 13 has type 'suseconds_t' netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 15 has type 'suseconds_t' netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 17 has type 'suseconds_t' netdebug.c: In function 'sc_seq_show': netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 19 has type 'suseconds_t' netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 21 has type 'suseconds_t' netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 23 has type 'suseconds_t' netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 25 has type 'suseconds_t' netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 27 has type 'suseconds_t' netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 29 has type 'suseconds_t' Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 01af482037d32c215aab208a0b110ffe6fd782c0 Author: Wengang Wang Date: Tue Jun 10 14:24:48 2008 +0800 ocfs2: Handle error during journal load This patch ensures the mount fails if the fs is unable to load the journal. Signed-off-by: Wengang Wang Acked-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 56753bd3b9220f6f2477eb1cf97f40c24e0a4c91 Author: Sunil Mushran Date: Mon Jun 9 11:24:41 2008 -0700 ocfs2: Silence an error message in ocfs2_file_aio_read() This patch silences an EINVAL error message in ocfs2_file_aio_read() that is always due to a user error. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 7600c72b75bab374ad39b2a4799a0728579a8e2f Author: Akinobu Mita Date: Mon Jun 9 16:34:23 2008 -0700 ocfs2: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Acked-by: Joel Becker Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit dd25e55ea133b14678cfaa9e205b082b24b26dbc Author: Randy Dunlap Date: Wed May 28 14:41:00 2008 -0700 ocfs2: fix printk format warnings with OCFS2_FS_STATS=n Fix printk format warnings when OCFS2_FS_STATS=n: linux-next-20080528/fs/ocfs2/dlmglue.c: In function 'ocfs2_dlm_seq_show': linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'int' linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type 'int' linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 7 has type 'int' linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 8 has type 'int' Signed-off-by: Randy Dunlap Signed-off-by: Mark Fasheh commit 8ddb7b004dfa1832a750e199df8bff4b75b73565 Author: Sunil Mushran Date: Tue May 13 13:45:15 2008 -0700 [PATCH 2/2] ocfs2: Instrument fs cluster locks This patch adds code to track the number of times the fs takes various cluster locks as well as the times associated with it. The information is made available to users via debugfs. This patch was originally written by Jan Kara . Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit ce7231e92dac381f6e4f9cfdfdf9e0ea055223ad Author: Sunil Mushran Date: Tue May 13 13:45:14 2008 -0700 [PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option This patch adds config option CONFIG_OCFS2_FS_STATS to allow building the fs with instrumentation enabled. An upcoming patch will provide support to instrument cluster locking, which is a crucial overhead in a cluster file system. This config option allows users to avoid the cpu and memory overhead that is involved in gathering such statistics. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 17489c058e8c63ab5ebdc67ab52ca70d1bc270b1 Merge: a3da5bf... 873a6ed... Author: Linus Torvalds Date: Mon Jul 14 13:54:49 2008 -0700 Merge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits) sched_clock: and multiplier for TSC to gtod drift sched_clock: record TSC after gtod sched_clock: only update deltas with local reads. sched_clock: fix calculation of other CPU sched_clock: stop maximum check on NO HZ sched_clock: widen the max and min time sched_clock: record from last tick sched: fix accounting in task delay accounting & migration sched: add avg-overlap support to RT tasks sched: terminate newidle balancing once at least one task has moved over sched: fix warning sched: build fix sched: sched_clock_cpu() based cpu_clock(), lockdep fix sched: export cpu_clock sched: make sched_{rt,fair}.c ifdefs more readable sched: bias effective_load() error towards failing wake_affine(). sched: incremental effective_load() sched: correct wakeup weight calculations sched: fix mult overflow sched: update shares on wakeup ... commit a3da5bf84a97d48cfaf66c6842470fc403da5121 Merge: 3b23e66... d59fdcf... Author: Linus Torvalds Date: Mon Jul 14 13:43:24 2008 -0700 Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits) x86: make 64bit hpet_set_mapping to use ioremap too, v2 x86: get x86_phys_bits early x86: max_low_pfn_mapped fix #4 x86: change _node_to_cpumask_ptr to return const ptr x86: I/O APIC: remove an IRQ2-mask hack x86: fix numaq_tsc_disable calling x86, e820: remove end_user_pfn x86: max_low_pfn_mapped fix, #3 x86: max_low_pfn_mapped fix, #2 x86: max_low_pfn_mapped fix, #1 x86_64: fix delayed signals x86: remove conflicting nx6325 and nx6125 quirks x86: Recover timer_ack lost in the merge of the NMI watchdog x86: I/O APIC: Never configure IRQ2 x86: L-APIC: Always fully configure IRQ0 x86: L-APIC: Set IRQ0 as edge-triggered x86: merge dwarf2 headers x86: use AS_CFI instead of UNWIND_INFO x86: use ignore macro instead of hash comment x86: use matching CFI_ENDPROC ... commit 3b23e665b68387f5ee7b21f7b75ceea4d9acae4a Merge: 6c118e4... 090657e... Author: Linus Torvalds Date: Mon Jul 14 13:40: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: (50 commits) crypto: ixp4xx - Select CRYPTO_AUTHENC crypto: s390 - Respect STFL bit crypto: talitos - Add support for sha256 and md5 variants crypto: hash - Move ahash functions into crypto/hash.h crypto: crc32c - Add ahash implementation crypto: hash - Added scatter list walking helper crypto: prng - Deterministic CPRNG crypto: hash - Removed vestigial ahash fields crypto: hash - Fixed digest size check crypto: rmd - sparse annotations crypto: rmd128 - sparse annotations crypto: camellia - Use kernel-provided bitops, unaligned access helpers crypto: talitos - Use proper form for algorithm driver names crypto: talitos - Add support for 3des crypto: padlock - Make module loading quieter when hardware isn't available crypto: tcrpyt - Remove unnecessary kmap/kunmap calls crypto: ixp4xx - Hardware crypto support for IXP4xx CPUs crypto: talitos - Freescale integrated security engine (SEC) driver [CRYPTO] tcrypt: Add self test for des3_ebe cipher operating in cbc mode [CRYPTO] rmd: Use pointer form of endian swapping operations ... commit 4735c98f8447acb1c8977e2b8024640f7bf36dd6 Author: Jean Delvare Date: Mon Jul 14 22:38:36 2008 +0200 i2c: Add detection capability to new-style drivers Add a mechanism to let new-style i2c drivers optionally autodetect devices they would support on selected buses and ask i2c-core to instantiate them. This is a replacement for legacy i2c drivers, much cleaner. Where drivers had to implement both a legacy i2c_driver and a new-style i2c_driver so far, this mechanism makes it possible to get rid of the legacy i2c_driver and implement both enumerated and detected device support with just one (new-style) i2c_driver. Here is a quick conversion guide for these drivers, step by step: * Delete the legacy driver definition, registration and removal. Delete the attach_adapter and detach_client methods of the legacy driver. * Change the prototype of the legacy detect function from static int foo_detect(struct i2c_adapter *adapter, int address, int kind); to static int foo_detect(struct i2c_client *client, int kind, struct i2c_board_info *info); * Set the new-style driver detect callback to this new function, and set its address_data to &addr_data (addr_data is generally provided by I2C_CLIENT_INSMOD.) * Add the appropriate class to the new-style driver. This is typically the class the legacy attach_adapter method was checking for. Class checking is now mandatory (done by i2c-core.) See for the list of available classes. * Remove the i2c_client allocation and freeing from the detect function. A pre-allocated client is now handed to you by i2c-core, and is freed automatically. * Make the detect function fill the type field of the i2c_board_info structure it was passed as a parameter, and return 0, on success. If the detection fails, return -ENODEV. Signed-off-by: Jean Delvare commit 8508159e2f3b82bf109f0ec77bcbd8ff3f3a7e17 Author: Jean Delvare Date: Mon Jul 14 22:38:36 2008 +0200 i2c: Call client_unregister for new-style devices too We call adapter->client_register for both legacy and new-style i2c devices, however we only call adapter->client_unregister for legacy drivers. This doesn't make much sense. Usually, drivers will undo in client_unregister what they did in client_register, so we should call neither or both for every given i2c device. In order to ease the transition from legacy to new-style devices, it seems preferable to actually call both. Signed-off-by: Jean Delvare Cc: David Brownell commit f741f673298b03b92d46e30b0b6fd0e960423665 Author: Jean Delvare Date: Mon Jul 14 22:38:36 2008 +0200 i2c: Clean up old chip drivers Clean up old i2c chip drivers: * Name the i2c_client "client" instead of "new_client". * Drop useless initializations to 0. Signed-off-by: Jean Delvare commit b1204e6ec16468ebf89d9d818bfe425ca7adcdf3 Author: Sean MacLennan Date: Mon Jul 14 22:38:36 2008 +0200 i2c-ibm_iic: Register child nodes This patch completes the conversion of the IBM IIC driver to an of-platform driver. It removes the index from the IBM IIC driver and makes it an unnumbered driver. It then calls of_register_i2c_devices to properly register all the child nodes in the DTS. Signed-off-by: Sean MacLennan Signed-off-by: Jean Delvare commit 2b7a5056a0a7ff17d5d2004c29c852a92a6bd632 Author: Wolfram Sang Date: Mon Jul 14 22:38:35 2008 +0200 i2c: New-style EEPROM driver using device IDs Add a new-style driver for most I2C EEPROMs, giving sysfs read/write access to their data. Tested with various chips and clock rates. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit e9ca9eb9d7fc7bf3dc3cec5ba7edb089c4625f7b Author: Jon Smirl Date: Mon Jul 14 22:38:35 2008 +0200 i2c: Export the i2c_bus_type symbol Export the root of the i2c bus so that PowerPC device tree code can iterate over devices on the i2c bus. Signed-off-by: Jon Smirl Signed-off-by: Jean Delvare commit f09f71b24e77a2f2b4e5c98311c8804fc61ad8bc Author: Manuel Lauss Date: Mon Jul 14 22:38:34 2008 +0200 i2c-au1550: Fix PM support Fix driver power management: - suspend the PSC while driver is idle. - move PSC init/deinit to separate functions, as PSC must be initialized/shutdown on resume/suspend. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit f6a7110520037ba786f17b53790c6eb8a3d4ef55 Author: Jean Delvare Date: Mon Jul 14 22:38:34 2008 +0200 i2c-dev: Delete empty detach_client callback Implementing detach_client is optional, so there is no point in an empty implementation. Likewise, i2c driver IDs are optional, and we don't need one. Signed-off-by: Jean Delvare commit 954a99307f256f1badd751a2e128c09af235c317 Author: Jean Delvare Date: Mon Jul 14 22:38:34 2008 +0200 i2c: Drop stray references to lm_sensors Signed-off-by: Jean Delvare commit 54fb4a05af0a4b814e6716cfdf3fa97fc6be7a32 Author: Jean Delvare Date: Mon Jul 14 22:38:33 2008 +0200 i2c: Check for ACPI resource conflicts Check for ACPI resource conflicts in i2c bus drivers. I've included all recent SMBus master drivers for PC hardware. I've voluntarily left out: * Drivers that don't run on PCs: they can't conflict with ACPI. * Bit-banged bus device drivers: it's very unlikely that ACPI would deal with such buses. Signed-off-by: Jean Delvare commit 2373c1801afd06d3a206376902b39a98458c9cfb Author: Manuel Lauss Date: Mon Jul 14 22:38:33 2008 +0200 i2c-ocores: basic PM support Basic PM support: reinit the core on resume, disable it on suspend. Signed-off-by: Manuel Lauss Acked-by: Peter Korsgaard Signed-off-by: Jean Delvare commit 392a0408fdc4c9069c32a9a02b0088eae76c4618 Author: Maciej W. Rozycki Date: Mon Jul 14 22:38:33 2008 +0200 i2c-sibyte: SWARM I2C board initialization The standard rtc-m41t80.c driver cannot be used with the SWARM as it is, because the board does not provide setup information for the I2C core. As a result the bus and the address to probe for the M41T80 chip is not known. Here is a set of changes that fix the problem: 1. swarm-i2c.c -- SWARM I2C board setup, currently for the M41T80 chip on the bus #1 only (there is a MAX6654 temperature sensor on the bus #0 which may be added in the future if we have a driver for that chip). 2. The i2c-sibyte.c BCM1250A SMBus controller driver now registers its buses as numbered so that board setup is correctly applied. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jean Delvare commit cf898dc5e9dfd1487b28ca0176b68722f05d4d48 Author: Jean Delvare Date: Mon Jul 14 22:38:33 2008 +0200 i2c-i801: Fix handling of error conditions Move the check of pre-transaction and post-transaction conditions to separate functions, and adjust them a bit. Having dedicated functions for that ensures that errors are handled in a consistent way. Bit HOST_BUSY of the status register is read-only, so writing to it is certainly not going to clear it. If this bit is set then we simply don't want to start the transaction, as it means that somebody else (ACPI, SMM?) is already using the controller. Signed-off-by: Jean Delvare commit 2b73809d06649fe6c7f4294b051ca4934a34bb91 Author: Jean Delvare Date: Mon Jul 14 22:38:32 2008 +0200 i2c-i801: Rename local variable temp to status "temp" isn't a terribly well chosen name for a local variable. Signed-off-by: Jean Delvare commit dcb5c9239de8d3ff1c663e75f0f1c75bcb21ee20 Author: Jean Delvare Date: Mon Jul 14 22:38:32 2008 +0200 i2c-i801: Properly report bus arbitration loss Bit BUS_ERR of the status register means that the ICH host controller lost the arbitration. Report this event as such. Signed-off-by: Jean Delvare commit 90df2cb1c8822ef8d06a2b30627e7a810218b0dd Author: Jean Delvare Date: Mon Jul 14 22:38:32 2008 +0200 i2c-i801: Remove verbose debugging messages Dumping the register values before and after every transaction was useful during driver development but now it's only spamming the log. Signed-off-by: Jean Delvare commit e3e7fc3c401a5d53f0599a357b3cf65d6a4f52e3 Author: Jean Delvare Date: Mon Jul 14 22:38:31 2008 +0200 i2c-algo-pcf: Drop unused struct members Struct members udelay and timeout aren't used anywhere, so drop them. Signed-off-by: Jean Delvare Acked-by: Eric Brower commit 0573d11b2bbd0e4774f33f4c1959c1939c055e96 Author: Eric Brower Date: Mon Jul 14 22:38:31 2008 +0200 i2c-algo-pcf: Multi-master lost-arbitration improvement Improve lost-arbitration handling of PCF8584. This is necessary for support of a currently out-of-kernel driver for Sun Microsystems E250 environmental management; perhaps others. Signed-off-by: Eric Brower Acked-by: Dan Smolik Signed-off-by: Jean Delvare commit 8a56ce1033073657572bd993595a56498baa4800 Author: David Brownell Date: Mon Jul 14 22:38:31 2008 +0200 i2c: Deprecate the legacy gpio drivers The legacy pcf8574 and pcf8575 drivers should be avoided on systems using the new gpiolib code, and generally deprecated in the same way the legacy pca9539 driver is deprecated. Also, correct the pca9539 deprecation to match the current name of the preferred driver: pca953x, supporting several more chips. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 47a9b1379a5ebc8b00ba8635d1d3885fc0d51739 Author: Uli Luckas Date: Mon Jul 14 22:38:30 2008 +0200 i2c-pxa: Initialize early Initialize the pxa i2c bus during subsystem initialization to make it available during driver initialization (e.g. display powerup for pxafb). Signed-off-by: Uli Luckas Signed-off-by: Jean Delvare commit d3dc685eb5ef64aa695dabb74f00440ec3ab6796 Author: Stefan Roese Date: Mon Jul 14 22:38:30 2008 +0200 i2c-ibm_iic: Enable driver for all PPC4xx variants in arch/powerpc Enable the IBM I2C driver for all PPC4xx variants by adding "ibm,iic" to the compatible list. This way all currently available arch/powerpc 4xx ports can make use of this driver without any changes. Additionally all "other" compatible entries are removed since they are not needed anymore. Currently all 4xx PPC's have the same compatible I2C macro. If at some time an incompatibility is detected we can take care of this with an additional property. Signed-off-by: Stefan Roese Acked-by: Josh Boyer Signed-off-by: Jean Delvare commit e6c3de6c146d2513332c581433caca6e5cae62bf Author: Stefan Roese Date: Mon Jul 14 22:38:30 2008 +0200 i2c-ibm_iic: Remove deprecated OCP style part The deprecated OCP style driver part is used by the "old" arch/ppc platform. This platform is scheduled for removal in June/July this year. This patch now removes the OCP driver part from the IBM I2C driver. Signed-off-by: Stefan Roese Signed-off-by: Jean Delvare commit e0457442fd522107204da14a2dc2cbbb5dcac5f6 Author: Jean Delvare Date: Mon Jul 14 22:38:30 2008 +0200 i2c: Simplify i2c_device_probe i2c_driver.id_table is mandatory now, so we can simplify i2c_device_probe() a bit. Signed-off-by: Jean Delvare commit 1b4dff9cd37d430bc76112396e92bb3552f37ccd Author: Jean Delvare Date: Mon Jul 14 22:38:29 2008 +0200 i2c/eeprom: Fall back to SMBus read word transactions When I2C block reads are not supported by the underlying adapter, use SMBus read word transactions instead of consecutive byte reads. Reasons for this change are: * The consecutive byte read approach is not safe on multi-master buses. * While consecutive byte reads have less overhead if you only count the bytes on the bus, it takes more than twice as many transactions as with SMBus read word transactions, and each transaction has a cost: taking and releasing the adapter mutex, and for polling drivers, waiting for the transaction to complete. This change yields a significant performance boost at HZ=250 with EEPROMs on an Intel 82801 bus (basically twice as fast.) SMBus read word transactions are widely supported so I don't expect compatibility issues. Signed-off-by: Jean Delvare commit d4653bf946a5856a17342cd47c47d10b16b1cc22 Author: Jean Delvare Date: Mon Jul 14 22:38:29 2008 +0200 i2c/eeprom: Only probe buses with DDC or SPD class The eeprom driver shouldn't probe i2c buses which don't want to be probed. Signed-off-by: Jean Delvare commit 3401b2fff38fbb8b73ea6bcc69a8370ae5d2a7a0 Author: Jean Delvare Date: Mon Jul 14 22:38:29 2008 +0200 i2c: Let bus drivers add SPD to their class Let general purpose I2C/SMBus bus drivers add SPD to their class. Once this is done, we will be able to tell the eeprom driver to only probe for SPD EEPROMs and similar on these buses. Note that I took a conservative approach here, adding I2C_CLASS_SPD to many drivers that have no idea whether they can host SPD EEPROMs or not. This is to make sure that the eeprom driver doesn't stop probing buses where SPD EEPROMs or equivalent live. So, bus driver maintainers and users should feel free to remove the SPD class from drivers those buses never have SPD EEPROMs or they don't want the eeprom driver to bind to them. Likewise, feel free to add the SPD class to any bus driver I might have missed. Signed-off-by: Jean Delvare commit c1b6b4f2342d073698dfc2547240c35045a1d00e Author: Jean Delvare Date: Mon Jul 14 22:38:28 2008 +0200 i2c: Let framebuffer drivers set their I2C bus class to DDC Let framebuffer drivers set their I2C bus class to DDC. Once this is done, we will be able to tell the eeprom driver to only probe for EDID EEPROMs on these buses. Signed-off-by: Jean Delvare commit 0d2b405a628309310b4fc02b26d713b855ad5f68 Author: Jochen Friedrich Date: Mon Jul 14 22:38:28 2008 +0200 i2c: Add MAINTAINER entry for i2c-cpm Signed-off-by: Jochen Friedrich Signed-off-by: Jean Delvare commit 3b270804a9345e4a0c493889f98e838692f7bc9b Author: Wolfram Sang Date: Mon Jul 14 22:38:28 2008 +0200 i2c-cpm: Bugfixes Bugfixes to the i2c-cpm driver - enable correct interrupts (I2CER_TXE instead of I2CER_BUSY) - replace forgotten iic with i2c - prefix debug-output on init with 0x and add frequency Signed-off-by: Wolfram Sang Acked-by: Jochen Friedrich Signed-off-by: Jean Delvare commit 61045dbe9d8d81b1bae4dc1e9482d389ca99edc1 Author: Jochen Friedrich Date: Mon Jul 14 22:38:27 2008 +0200 i2c: Add support for I2C bus on Freescale CPM1/CPM2 controllers This driver uses the port of 2.4 code from Vitaly Bordug and the actual algorithm used by the i2c driver of the DBox code on cvs.tuxboc.org from Felix Domke (tmbinc@gmx.net) and Gillem (htoa@gmx.net) converted to an of_platform_driver. Tested on CPM1 (MPC823 on dbox2 hardware) and CPM2 (MPC8272). Signed-off-by: Jochen Friedrich Tested-by: Wolfram Sang Signed-off-by: Jean Delvare commit 77e38bffe0fcaa48f0be68eaa1de4a59d1fd93ad Author: Alan Cox Date: Mon Jul 14 22:38:27 2008 +0200 i2c: Push ioctl BKL down into the i2c code This is part of the effort to get rid of the BKL. [JD: In fact i2c-dev doesn't need more locking than is already done for the other i2c drivers, so we can simply switch to unlocked_ioctl.] Signed-off-by: Alan Cox Signed-off-by: Jean Delvare commit 5bc1200852c3dfc312481f57622f48b289ac802e Author: Alek Du Date: Mon Jul 14 22:38:27 2008 +0200 i2c: Add Intel SCH SMBus support New i2c bus driver for the Intel SCH chipsets (AF82US15W, AF82US15L, AF82UL11L). Signed-off-by: Alek Du Signed-off-by: Jean Delvare commit f7050bd716047a4dfec7d061e28df7ffd6815ebd Author: Jean Delvare Date: Mon Jul 14 22:38:26 2008 +0200 i2c: Simplify i2c_del_driver() i2c_del_driver() can be simplified a bit. Signed-off-by: Jean Delvare commit 6a03cd931196673634b58c955d2f9d42da602045 Author: Matthias Kaehlcke Date: Mon Jul 14 22:38:26 2008 +0200 i2c: Use list_for_each_entry_safe Use list_for_each_entry_safe() in i2c_del_adapter() and i2c_del_driver(). Signed-off-by: Matthias Kaehlcke Signed-off-by: Jean Delvare commit 7650da023eb05426812bbf8999b69dc93fee67ab Author: Wolfram Sang Date: Mon Jul 14 22:38:26 2008 +0200 i2c-pca-platform: Fix error code Fix errorcode to be more descriptive when ioremap fails. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit c80ebe7987931ec4e80abc33ebf8aa2dad0d3763 Author: Wolfram Sang Date: Mon Jul 14 22:38:26 2008 +0200 i2c-pca-algo: Fix error code Give a more concrete error code, when the bus is not idle. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit ac7fc4fb2b6a126af8d07f46500440c9641976cf Author: Jean Delvare Date: Mon Jul 14 22:38:25 2008 +0200 i2c: Consistently reject unsupported transactions Many PC SMBus host controller drivers don't properly handle the case where they are requested to achieve a transaction they do not support. Update them so that the consistently print a warning message and return a single error value in this case. Signed-off-by: Jean Delvare commit fa63cd56d2f09806169307d761e8f430e23bc09b Author: Jean Delvare Date: Mon Jul 14 22:38:25 2008 +0200 i2c-piix4: Various cleanups and minor fixes The i2c-piix4 driver was used recently as a model to write a new SMBus host controller driver and this made me realize that the code of this old driver wasn't exactly good. So, here are many cleanups and minor fixes to this driver, so that these minor mistakes aren't duplicated again: * Delete unused structure. * Delete needless forward function declaration. * Properly announce the SMBus host controller as we find it. * Spell it SMBus not SMB. * Return -EBUSY instead of -ENODEV when the I/O region is already in use. * Drop useless masks on the 7-bit address and the R/W bit. * Reject block transaction requests with an invalid block length. * Check and report block transaction replies with an invalid block length. * Delete a useless comment. Signed-off-by: Jean Delvare commit 97140342e69d479a3ad82bfd4c154c0b08fe3eea Author: David Brownell Date: Mon Jul 14 22:38:25 2008 +0200 i2c: Bus drivers return -Errno not -1 Tighten error paths used by various i2c adapters (mostly x86) so they return real fault/errno codes instead of a "-1" (which is most often interpreted as "-EPERM"). Build tested, with eyeball review. One minor initial goal is to have adapters consistently return the code "-ENXIO" when addressing a device doesn't get an ACK response, at least in the probe paths where they are already good at stifling related logspam. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 6ea438ec8da4ec56bf415f5ea360e6b0cb59c6c3 Author: David Brownell Date: Mon Jul 14 22:38:24 2008 +0200 i2c: i2c_use_client() defends against NULL Defend the i2c refcount calls against NULL pointers, as is important (and conventional) for such calls. Note that none of the current callers of i2c_use_client() use its return value. [JD: I hate this but apparently all the other subsystems do it so...] Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit a1cdedac634eef81f747078bf1c27ad36ab13553 Author: David Brownell Date: Mon Jul 14 22:38:24 2008 +0200 i2c: Kerneldoc for most I/O calls Provide kerneldoc for most of the I2C and SMBus I/O calls. Add a comment summarizing some fault reporting issues which affect the ability to provide clean fault reports through I2C master transfer calls. (Making it hard to precisely specify their return values...) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit ae7193f7fa3e1735ab70807eb6e35a2a6575623f Author: Jean Delvare Date: Mon Jul 14 22:38:24 2008 +0200 i2c: Update stray references to smbus_access That function is actually named i2c_smbus_xfer. Signed-off-by: Jean Delvare commit 67c2e66571c383404a5acd08189194da660da942 Author: Jean Delvare Date: Mon Jul 14 22:38:23 2008 +0200 i2c: Delete unused function i2c_smbus_write_quick Function i2c_smbus_write_quick has no users left, so we can delete it. Also update the list of these helper functions which are gone but could be added back if needed. Signed-off-by: Jean Delvare commit f5b728a164b22ec38a5657ebe038def36ffae98b Author: Jean Delvare Date: Mon Jul 14 22:38:23 2008 +0200 i2c: Group bus drivers by type The list of I2C/SMBus bus drivers is growing and it is sometimes difficult for the users to figure out what drivers they should enable. By grouping the drivers by type, I hope to make the selection easier. Signed-off-by: Jean Delvare commit 24a5bb7b1838dc4524dd353224e2aa09c22cac3b Author: David Brownell Date: Mon Jul 14 22:38:23 2008 +0200 i2c-core: Return -Errno, not -1 More updates to the I2C stack's fault reporting: make the core stop returning "-1" (usually "-EPERM") for all faults. Instead, pass lower level fault code up the stack, or return some appropriate errno. This patch happens to touch almost exclusively SMBus calls. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 75415490d6adc1aecbf0cade0785b007957d0cfe Author: Jean Delvare Date: Mon Jul 14 22:38:22 2008 +0200 i2c-core: Remove needless include i2c-core doesn't use seq files, so doesn't need to include . Signed-off-by: Jean Delvare commit 81fded1f79771809059bdfa721ae5ab9114af545 Author: David Brownell Date: Mon Jul 14 22:38:22 2008 +0200 i2c: Document standard fault codes Create Documentation/i2c/fault-codes to help standardize fault/error code usage in the I2C stack. It turns out that returning -1 (-EPERM) for everything was not at all helpful. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 4d2bee582be1e9da76e0717bad0cfd988c2a5921 Author: Mike Frysinger Date: Mon Jul 14 22:38:22 2008 +0200 i2c-bfin-twi: Update the dependencies Since only a few Blackfins lack TWI, just list them in a depends statement. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 20a9b6e7c303f2a6f9afe17c0997bc9a3c734442 Author: Adrian Bunk Date: Mon Jul 14 22:38:22 2008 +0200 i2c: Remove 3 deprecated bus drivers This patch contains the scheduled removal of i2c-i810, i2c-prosavage and i2c-savage4. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit 279e902445557897707d325182916a6e28ba80de Author: Jean Delvare Date: Mon Jul 14 22:38:21 2008 +0200 i2c-nforce2: Add support for multiplexing on the Tyan S4985 Just like the Tyan S4882, the S4985 uses a multiplexer to give access to all 16 memory module SPD EEPROMs. This specific i2c-nforce2-s4985 driver adds support for this. It is heavily based on the older i2c-amd756-s4882 driver. As more mainboards will use multiplexer chips, we will have to find a way to support them without having to write a new specfic driver for each. The recent changes to the i2c subsystem should help us, and the new gpio subsystem might help, too. Signed-off-by: Jean Delvare commit 2e7437879897a4185bd84478a0451e5367dee7ed Author: Troy Kisky Date: Mon Jul 14 22:38:21 2008 +0200 i2c-davinci: Initialize cmd_complete sooner If an interrupt happens before an I2c master read/write, complete is called on uninitialized structure. Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman Signed-off-by: Jean Delvare commit 5a0d5f5ffa5d294d895ef54fc220c6182db63998 Author: Troy Kisky Date: Mon Jul 14 22:38:21 2008 +0200 i2c-davinci: Fix signal handling bug If wait_for_completion_interruptible_timeout exits due to a signal, the i2c bus was locking up. Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman Signed-off-by: Jean Delvare commit 0ab56e20674b41dd0203d16b602aac8d9d26a70a Author: Troy Kisky Date: Mon Jul 14 22:38:20 2008 +0200 i2c-davinci: Remove useless IVR read Interrupts are enabled at the point where the DAVINCI_I2C_IVR_REG is read, so unless an interrupt happened just at that moment, no interrupt would be pending. Even though documentation implies you should do this, I see no reason. If slave support is added, this read would cause a hard to reproduce bug. Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman Signed-off-by: Jean Delvare commit d868caa177d4487ce1935926498f542a8f67c1cf Author: Troy Kisky Date: Mon Jul 14 22:38:20 2008 +0200 i2c-davinci: Move dev_dbg statement for more output Previously the dev_dbg only printed if no error. Printing also on an error is more useful Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman Signed-off-by: Jean Delvare commit cc99ff70c7ad36e01db545a81a8594474964f918 Author: Troy Kisky Date: Mon Jul 14 22:38:20 2008 +0200 i2c-davinci: Ensure clock between 7-12 MHz Ensure psc value gives a clock between 7-12 MHz Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman Signed-off-by: Jean Delvare commit 7f101a97866e2687a455ecffeb96bcf317c8482a Author: Dave Young Date: Mon Jul 14 22:38:19 2008 +0200 i2c: Use class_for_each_device Use class_for_each_device for iteration. Signed-off-by: Dave Young Signed-off-by: Jean Delvare commit 6c118e43dc513a7118b49b9ff953fe61e14515dc Merge: 847106f... 72f6bef... Author: Linus Torvalds Date: Mon Jul 14 13:37:29 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: (31 commits) avr32: Fix typo of IFSR in a comment in the PIO header file avr32: Power Management support ("standby" and "mem" modes) avr32: Add system device for the internal interrupt controller (intc) avr32: Add simple SRAM allocator avr32: Enable SDRAMC clock at startup rtc-at32ap700x: Enable wakeup macb: Basic suspend/resume support atmel_serial: Drain console TX shifter before suspending atmel_serial: Fix build on avr32 with CONFIG_PM enabled avr32: Use a quicklist for PTE allocation as well avr32: Use a quicklist for PGD allocation avr32: Cover the kernel page tables in the user PGDs avr32: Store virtual addresses in the PGD avr32: Remove useless zeroing of swapper_pg_dir at startup avr32: Clean up and optimize the TLB operations avr32: Rename at32ap.c -> pdc.c avr32: Move setup_platform() into chip-specific file avr32: Kill special exception handler sections avr32: Kill unneeded #include from asm/mmu_context.h avr32: Clean up time.c #includes ... commit 847106ff628805e1a0aa91e7f53381f3fdfcd839 Merge: c142bda... 6f0f0fd... Author: Linus Torvalds Date: Mon Jul 14 13:36:55 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: (25 commits) security: remove register_security hook security: remove dummy module fix security: remove dummy module security: remove unused sb_get_mnt_opts hook LSM/SELinux: show LSM mount options in /proc/mounts SELinux: allow fstype unknown to policy to use xattrs if present security: fix return of void-valued expressions SELinux: use do_each_thread as a proper do/while block SELinux: remove unused and shadowed addrlen variable SELinux: more user friendly unknown handling printk selinux: change handling of invalid classes (Was: Re: 2.6.26-rc5-mm1 selinux whine) SELinux: drop load_mutex in security_load_policy SELinux: fix off by 1 reference of class_to_string in context_struct_compute_av SELinux: open code sidtab lock SELinux: open code load_mutex SELinux: open code policy_rwlock selinux: fix endianness bug in network node address handling selinux: simplify ioctl checking SELinux: enable processes with mac_admin to get the raw inode contexts Security: split proc ptrace checking into read vs. attach ... commit c142bda458a9c81097238800e1bd8eeeea09913d Merge: b5cf43c... c0e0920... Author: Linus Torvalds Date: Mon Jul 14 13:32:24 2008 -0700 Merge branch 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-reorg' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: reorganise drm tree to be more future proof. commit b5cf43c47b05c8deb10f9674d541dddbdec0e341 Merge: b7f80af... fe0a3fe... Author: Linus Torvalds Date: Mon Jul 14 13:26:07 2008 -0700 Merge branch 'for-linus' of git://git.alsa-project.org/alsa-kernel * 'for-linus' of git://git.alsa-project.org/alsa-kernel: (179 commits) ALSA: Release v1.0.17 ALSA: correct kcalloc usage ALSA: ALSA driver for SGI O2 audio board ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform. ALSA: ALSA driver for SGI HAL2 audio device ALSA: hda - Fix FSC V5505 model ALSA: hda - Fix missing init for unsol events on micsense model ALSA: hda - Fix internal mic vref pin setup ALSA: hda: 92hd71bxx PC Beep ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model ALSA: usb-audio: add some Yamaha USB MIDI quirks ALSA: usb-audio: fix Yamaha KX quirk ALSA: ASoC: Au12x0/Au1550 PSC Audio support ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration ALSA: tosa: fix compilation with new DAPM API ALSA: wavefront - add const ALSA: remove CONFIG_KMOD from sound ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver ... commit b7f80afa28866c257876c272d6c013e0dbed3c31 Merge: 42c5920... 5e34599... Author: Linus Torvalds Date: Mon Jul 14 13:25: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: (71 commits) [S390] sclp_tty: Fix scheduling while atomic bug. [S390] sclp_tty: remove ioctl interface. [S390] Remove P390 support. [S390] Cleanup vmcp printk messages. [S390] Cleanup lcs printk messages. [S390] Cleanup kprobes printk messages. [S390] Cleanup vmwatch printk messages. [S390] Cleanup dcssblk printk messages. [S390] Cleanup zfcp dumper printk messages. [S390] Cleanup vmlogrdr printk messages. [S390] Cleanup s390 debug feature print messages. [S390] Cleanup monreader printk messages. [S390] Cleanup appldata printk messages. [S390] Cleanup smsgiucv printk messages. [S390] Cleanup cpacf printk messages. [S390] Cleanup qeth print messages. [S390] Cleanup netiucv printk messages. [S390] Cleanup iucv printk messages. [S390] Cleanup sclp printk messages. [S390] Cleanup zcrypt printk messages. ... commit 42c59208219a2d43f0dde94bebc68c20b95b13ce Merge: dddec01... 727c674... Author: Linus Torvalds Date: Mon Jul 14 13:24:39 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: (23 commits) pcmcia: Fix ide-cs sparse warning pcmcia: ide-cs debugging bugfix pcmcia: allow for longer CIS firmware files pcmcia: cm40x0 cdev lock_kernel() pushdown pcmcia: (re)move {pcmcia,pccard}_get_status pcmcia: kill IN_CARD_SERVICES pcmcia: Remove unused header file code pcmcia: remove unused bulkmem.h pcmcia: simplify pccard_validate_cis pcmcia: carve out ioctl adjust function to pcmcia_ioctl pcmcia: irq probe can be done without risking an IRQ storm pcmcia: Fix ti12xx_2nd_slot_empty always failing pcmcia: check for pointer instead of pointer address pcmcia: switch cm4000_cs.c to unlocked_ioctl pcmcia: simplify rsrc_nonstatic attributes pcmcia: add support CompactFlash PCMCIA support for Blackfin. pcmcia: remove version.h pcmcia: cs: kill thread_wait pcmcia: i82365.c: check request_irq return value pcmcia: fix Alchemy warnings ... commit dddec01eb8e2b56267b37a6f9f0997a64b4e0b2a Merge: 7daf705... 32502b8... Author: Linus Torvalds Date: Mon Jul 14 13:15:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (37 commits) splice: fix generic_file_splice_read() race with page invalidation ramfs: enable splice write drivers/block/pktcdvd.c: avoid useless memset cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack) scsi: sr avoids useless buffer allocation block: blk_rq_map_kern uses the bounce buffers for stack buffers block: add blk_queue_update_dma_pad DAC960: push down BKL pktcdvd: push BKL down into driver paride: push ioctl down into driver block: use get_unaligned_* helpers block: extend queue_flag bitops block: request_module(): use format string Add bvec_merge_data to handle stacked devices and ->merge_bvec() block: integrity flags can't use bit ops on unsigned short cmdfilter: extend default read filter sg: fix odd style (extra parenthesis) introduced by cmd filter patch block: add bounce support to blk_rq_map_user_iov cfq-iosched: get rid of enable_idle being unused warning allow userspace to modify scsi command filter on per device basis ... commit 2640d7c0b8d5d9d9ee303b8cd09f5124176f6239 Author: Matthew Wilcox Date: Sun Jul 6 09:23:20 2008 -0400 AHCI: Remove an unnecessary flush from ahci_qc_issue In an I/O heavy workload (IOZone), ahci_qc_issue is the second-highest consumer of CPU cycles. Removing the flush gets us approximately 10% bandwidth improvement. I believe this to be because the CPU can start queueing the next request instead of waiting for the readl() to flush the writes to the device. The flush isn't necessary because we're using a 'queue' metaphor; we don't guarantee the command has got to the device, nor do we need to guarantee the command has got to the controller. Signed-off-by: Matthew Wilcox Signed-off-by: Jeff Garzik commit 24920c8a6358bf5532f1336b990b1c0fe2b599ee Author: Zhang Rui Date: Fri Jul 4 13:32:17 2008 +0800 AHCI: speed up resume During resume, sleep 1 second to wait for the HBA reset to finish is a waste of time. According to the AHCI 1.2 spec, We should poll the HOST_CTL register, and return error if the host reset is not finished within 1 second. Test results show that the HBA reset can be done quickly(in usecs). And this patch may save nearly 1 second during resume. Signed-off-by: Zhang Rui Signed-off-by: Jeff Garzik commit 1e9dbc9291738149577cc488fd441f061815e02e Author: Matthew Wilcox Date: Thu Jun 19 13:13:38 2008 -0600 [libata] Add support for VPD page b1 SCSI VPD page b1 reports the nominal rotation speed and physical size of the device. Devices that conform to ATA-8 can return this information in words 217 and 168 of the identify data. Signed-off-by: Matthew Wilcox Signed-off-by: Jeff Garzik commit 6ad67403da47e833d9e418caf7f28295c9472e11 Author: Harvey Harrison Date: Wed Jun 18 17:16:43 2008 -0700 ata: endianness annotations in pata drivers drivers/ata/pata_qdi.c:142:9: warning: incorrect type in assignment (different base types) drivers/ata/pata_qdi.c:142:9: expected unsigned int [unsigned] [usertype] pad drivers/ata/pata_qdi.c:142:9: got restricted __le32 [usertype] drivers/ata/pata_qdi.c:146:15: warning: cast to restricted __le32 drivers/ata/pata_winbond.c:110:9: warning: incorrect type in assignment (different base types) drivers/ata/pata_winbond.c:110:9: expected unsigned int [unsigned] [usertype] pad drivers/ata/pata_winbond.c:110:9: got restricted __le32 [usertype] drivers/ata/pata_winbond.c:114:15: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:310:9: warning: incorrect type in assignment (different base types) drivers/ata/pata_legacy.c:310:9: expected unsigned int [unsigned] [usertype] pad drivers/ata/pata_legacy.c:310:9: got restricted __le32 [usertype] drivers/ata/pata_legacy.c:314:15: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:752:11: warning: cast to restricted __le32 drivers/ata/pata_legacy.c:756:9: warning: incorrect type in assignment (different base types) drivers/ata/pata_legacy.c:756:9: expected unsigned int [unsigned] [addressable] [assigned] [usertype] pad drivers/ata/pata_legacy.c:756:9: got restricted __le32 [usertype] Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 3eabddb8ed4f488664ff5d67968392bb424836a3 Author: Tejun Heo Date: Tue Jun 10 18:28:05 2008 +0900 libata-eh: update atapi_eh_request_sense() to take @dev instead of @qc Update atapi_eh_request_sense() to take @dev, @sense_buf and @dfl_sense_key instead of taking @qc and extracting information from it. This change is to make the function more generic and allow it to be called from other places. While at it, make cdb initialization use initializer. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ec6add99307d5149e17f6e358f19f0205b622407 Author: Pavel Machek Date: Mon Jun 23 11:01:31 2008 +0200 [libata] sata_svw: update code comments relating to data corruption Signed-off-by: Pavel Machek Signed-off-by: Jeff Garzik commit 18f7ba4c2f4be6b37d925931f04d6cc28d88d1ee Author: Kristen Carlson Accardi Date: Tue Jun 3 10:33:55 2008 -0700 libata/ahci: enclosure management support Add Enclosure Management support to libata and ahci. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 87fbc5a060faf2394bee88a93519f9b9d434727c Author: Tejun Heo Date: Tue May 20 02:17:54 2008 +0900 libata: improve EH internal command timeout handling ATA_TMOUT_INTERNAL which was 30secs were used for all internal commands which is way too long when something goes wrong. This patch implements command type based stepped timeouts. Different command types can use different timeouts and each command type can use different timeout values after timeouts. ie. the initial timeout is set to a value which should cover most of the cases but not too long so that run away cases don't delay things too much. After the first try times out, the second try can use longer timeout and if that one times out too, it can go for full 30sec timeout. IDENTIFYs use 5s - 10s - 30s timeout and all other commands use 5s - 10s timeouts. This patch significantly cuts down the needed time to handle failure cases while still allowing libata to work with nut job devices through retries. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d8af0eb6046c56e7238171ca420622541db24926 Author: Tejun Heo Date: Tue May 20 02:17:53 2008 +0900 libata: use ULONG_MAX to terminate reset timeout table This doesn't introduce any functional changes. This is to make reset timeout table consistent with to-be-added command timeout tables. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0a2c0f56159999e20015241d3b8fa89b1ab14309 Author: Tejun Heo Date: Tue May 20 02:17:52 2008 +0900 libata: improve EH retry delay handling EH retries were delayed by 5 seconds to ensure that resets don't occur back-to-back. However, this 5 second delay is superflous or excessive in many cases. For example, after IDENTIFY times out, there's no reason to wait five more seconds before retrying. This patch adds ehc->last_reset timestamp and record the timestamp for the last reset trial or success and uses it to space resets by ATA_EH_RESET_COOL_DOWN which is 5 secs and removes unconditional 5 sec sleeps. As this change makes inter-try waits often shorter and they're redundant in nature, this patch also removes the "retrying..." messages. While at it, convert explicit rounding up division to DIV_ROUND_UP(). This change speeds up EH in many cases w/o sacrificing robustness. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 341c2c958ec7bdd9f54733a8b0b432fe76842a82 Author: Tejun Heo Date: Tue May 20 02:17:51 2008 +0900 libata: consistently use msecs for time durations libata has been using mix of jiffies and msecs for time druations. This is getting confusing. As writing sub HZ values in jiffies is PITA and msecs_to_jiffies() can't be used as initializer, unify unit for all time durations to msecs. So, durations are in msecs and deadlines are in jiffies. ata_deadline() is added to compute deadline from a start time and duration in msecs. While at it, drop now superflous _msec suffix from arguments and rename @timeout to @deadline if it represents a fixed point in time rather than duration. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7daf705f362e349983e92037a198b8821db198af Author: Linus Torvalds Date: Mon Jul 14 12:12:53 2008 -0700 Start using the new '%pS' infrastructure to print symbols This simplifies the code significantly, and was the whole point of the exercise. Signed-off-by: Linus Torvalds commit 4c9adafff7d910f142fe44fae37ed12c6b99f20f Author: Ivo van Doorn Date: Sun Jul 13 10:07:48 2008 +0200 rt2x00: Reset LED assoc status after firmware update According to the legacy drivers the LED association status must be reset after the firmware has been uploaded to the hardware. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3eb2011a67b044859069359948579b942993c416 Author: Abhijeet Kolekar Date: Fri Jul 11 11:53:42 2008 +0800 iwlwifi: make index unsigned int for iwl_send_led_cmd This is a small fix to change the idx type from int to unsigned. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9a9ad0cda72a651fc6b99fa9ec040a5d41005a88 Author: Abhijeet Kolekar Date: Fri Jul 11 11:53:41 2008 +0800 iwlwifi: Fix LEDs for 3945 The patch fixes LEDs problem for 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 36da7d70e307f8650db1b1c7350d2161ca3829ef Author: Zhu Yi Date: Fri Jul 11 11:53:40 2008 +0800 iwlwifi: send TXPOWER command after a new RXON command The patch fixes the problem that TXPOWER command is not sent after we issue a new RXON command which requires a tune. Otherwise we won't be able to Tx any frames. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fe905f1d5a8404f45fa0df26e6a870bf1e3b5983 Author: Tomas Winkler Date: Fri Jul 11 11:53:39 2008 +0800 iwlwifi: enable active scanning This patch enables active scan on active channels. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d16dc48a2ea14af9980d0ea79d041f4b53e47b62 Author: Tomas Winkler Date: Fri Jul 11 11:53:38 2008 +0800 iwlwifi: unify 4965 and 5000 scanning code This patch unifies 4965 and 5000 scanning code. We increases the version number to 1.3.27. Since new uCode iwlwifi-4965-2.ucode is required for 4965 cards. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ec1a746042ea4c1c93065185897d6e8d3e7de894 Author: Tomas Winkler Date: Fri Jul 11 11:53:37 2008 +0800 iwlwifi: LED use correctly blink table This patch makes correct usage of the LED blink table. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0eee612731e133604023bfa8d20047e98160845e Author: Tomas Winkler Date: Fri Jul 11 11:53:36 2008 +0800 iwlwifi: fix LED stall This patch fixes LED stall. last_blink_time was updated only if LED command was sent, causing wrong computation of the througput. Some code cleanup comes with this patch as well Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9f17b318a1e2335b45cf35ad6509b90e972c0e6b Author: Tomas Winkler Date: Fri Jul 11 11:53:35 2008 +0800 iwlwifi: differentiate 4965 and 5000 hw ampdu queues number This patch asks to allocate the correct amount of sw queues according to hw ampdu queues number. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1ff50bda6eef4466366e197541508fc69af0f0c0 Author: Emmanuel Grumbach Date: Fri Jul 11 11:53:34 2008 +0800 iwlwifi: make iwl4965_mac_conf_tx in atomic context This patch fixes iwl4965_mac_conf_tx. A mutex was taken in atomic context leading to Oops. This patch removes the mutex and extends the hold priv->lock. None of the field of QOS is accessed without priv->lock held. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6c5379077f47f6eff9c23caf8513751d2f582e72 Author: Tomas Winkler Date: Fri Jul 11 11:53:33 2008 +0800 iwlwifi: rs always set lq_sta->priv This patch fixes printk NULL pointer exceptions in rs code. Signed-off-by: Tomas Winkler Signed-off-by: Guy Cohen Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 65fdbb48eb43e33e94239677a75422ddc6f5eb75 Author: Tomas Winkler Date: Fri Jul 11 11:53:32 2008 +0800 iwlwifi: remove post associate work This patch removes post associate work. It wasn't used. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a326a5d096f031af46c0073dd78eb80dea1f311a Author: Emmanuel Grumbach Date: Fri Jul 11 11:53:31 2008 +0800 iwlwifi: fixes RTS / CTS support This patch fixes the RTS / CTS support in iwlwifi. 5000 will send CTS to self when allowed by spec, 4965 will send RTS or CTS to self according to mac80211 request. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 474086396276a01190974797a69a95fb14ae7cc9 Author: Esti Kummer Date: Fri Jul 11 11:53:30 2008 +0800 iwlwifi: adding pci device ids to iwl_hw_card_ids The patch adds PCI device IDs to iwl_hw_card_ids. Signed-off-by: Esti Kummer Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4bd9b4f334c31a79bdfee4db5dbb6aa430090446 Author: Adel Gadllah Date: Fri Jul 11 11:53:29 2008 +0800 iwl3965: remove useless network and duplicate checking mac802 can handle duplicate packages on its own, so let it do it. The patch is based on patch from Johannes Berg for iwl4965. Signed-off-by: Adel Gadllah Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1e188637902eb4b62d325d3cc76b076724f3ec55 Author: Emmanuel Grumbach Date: Thu Jul 10 17:54:14 2008 +0300 mac80211: dont add a STA which is not in the same IBSS This patch avoids adding STAs that don't belong to our IBSS ieee80211_bssid_match matches also bcast address so also APs were added Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a05ffd395e1f1293d05a814ef697c12efa411ad8 Author: Tomas Winkler Date: Thu Jul 10 14:28:42 2008 +0300 iwlwif: remove compilation warnings iwl_add_radiotap Use directly put_unaligned_leX instead of put_unaligned(cpu_to_leX Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit df70b4aca5ef8a154a32ecbdd3c322d6d41a0d33 Author: Johannes Berg Date: Thu Jul 10 11:56:33 2008 +0200 mac80211 hwsim: fix endianness bug Radiotap is entirely little endian. Found with sparse. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f434b2d111d9ff84ebdd0f11a7ae42c761453259 Author: Johannes Berg Date: Thu Jul 10 11:22:31 2008 +0200 mac80211: fix struct ieee80211_tx_queue_params Multiple issues: - there are no "default" values needed - cw_min/cw_max can be larger than documented - restructure to decrease size - use get_unaligned_le16 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f591fa5dbbbeaebd95c9c019b3a536a327fb79de Author: Johannes Berg Date: Thu Jul 10 11:21:26 2008 +0200 mac80211: fix TX sequence numbers This patch makes mac80211 assign proper sequence numbers to QoS-data frames. It also removes the old sequence number code because we noticed that only the driver or hardware can assign sequence numbers to non-QoS-data and especially management frames in a race-free manner because beacons aren't passed through mac80211's TX path. This patch also adds temporary code to the rt2x00 drivers to not break them completely, that code will have to be reworked for proper sequence numbers on beacons. It also moves sequence number assignment down in the TX path so no sequence numbers are assigned to frames that are dropped. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 22bb1be4d271961846cd0889b0f8d671db773080 Author: Johannes Berg Date: Thu Jul 10 11:16:47 2008 +0200 wext: make sysfs bits optional and deprecate them The /sys/class/net/*/wireless/ direcory is, as far as I know, not used by anyone. Additionally, the same data is available via wext ioctls. Hence the sysfs files are pretty much useless. This patch makes them optional and schedules them for removal. Signed-off-by: Johannes Berg Cc: Jean Tourrilhes Signed-off-by: John W. Linville commit 1411f9b531f0a910cd1c85a337737c1e6ffbae6a Author: Johannes Berg Date: Thu Jul 10 10:11:02 2008 +0200 mac80211: fix RX sequence number check According to 802.11-2007, we are doing the wrong thing in the sequence number checks when receiving frames. This fixes it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2560b6e2e4b87df211ea39b3b02498959b70b4e8 Author: Emmanuel Grumbach Date: Thu Jul 10 00:47:19 2008 +0300 mac80211: Fix ieee80211_rx_reorder_ampdu: ignore QoS null packets This patch fixes the check at the entrance to ieee80211_rx_reorder_ampdu. This check has been broken by 'mac80211: rx.c use new helpers'. Letting QoS NULL packet in ieee80211_rx_reorder_ampdu led to packet loss in RX. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4ece16a1cf9d36fee6d3ccb2c933296cf660e44d Author: Herton Ronaldo Krzesinski Date: Thu Jul 10 18:55:23 2008 -0300 rtl8187: use different ANAPARAM*_OFF values for 8187B For RTL8187B it seems we need special values too for ANAPARAM*_OFF values (and not use RTL8187 ones). The ANAPARAM*_OFF values used are the stock ones read from the hardware after a cold boot. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9c0c7a429a0cf02c2ac1998d5cf4c26f6be5c989 Author: Michael Buesch Date: Wed Jul 9 15:48:45 2008 +0200 ssb: Include dma-mapping.h ssb.h implements DMA mapping functions, so it should include dma-mapping.h. This fixes compile failures on certain architectures. Reported-by: Stephen Rothwell Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit bd88a7812f1afd50549f3789cacb707b983fef54 Author: Ivo van Doorn Date: Wed Jul 9 15:12:44 2008 +0200 rt2x00: Reorganize beacon handling With the new beacon handling from mac80211 we can reorganize the beacon handling in rt2x00 as well. This patch will move the function to the TX handlers, and move all duplicate code into rt2x00queue.c. After this change the descriptor helper functions from rt2x00queue.c no longer need to be exported outside of rt2x00lib and can be declared static. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e360c4cb2bc2fb2a37981809685984efe8433c52 Author: Ivo van Doorn Date: Wed Jul 9 15:12:06 2008 +0200 rt2x00: Add support for CTS protection in rt2x00lib Inform drivers about the changed CTS protection settings. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 065cb3dfe24978651caedfa54da585388ad15dde Author: H. Peter Anvin Date: Mon Jul 14 11:44:26 2008 -0700 x86, suspend, acpi: correct and add comments about Big Real Mode Explain that we set up the descriptors for Big Real Mode, and why we do so. In particular, one system that is known to fail without it is the Lenovo X61. Signed-off-by: H. Peter Anvin commit 9d139c810a2aa17365cc548d0cd2a189d8433c65 Author: Johannes Berg Date: Wed Jul 9 14:40:37 2008 +0200 mac80211: revamp beacon configuration This patch changes mac80211's beacon configuration handling to never pass skbs to the driver directly but rather always require the driver to use ieee80211_beacon_get(). Additionally, it introduces "change flags" on the config_interface() call to enable drivers to figure out what is changing. Finally, it removes the beacon_update() driver callback in favour of having IBSS beacon delivered by ieee80211_beacon_get() as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3947e2dfa3b18f375b7acd03b7ee2877d0751fc Author: Johannes Berg Date: Wed Jul 9 14:40:36 2008 +0200 mac80211: push interface checks down This patch pushes the "netif_running()" and "same type as before" checks down into ieee80211_if_change_type() to centralise the logic instead of duplicating it for cfg80211 and wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 75636525fbfa78fa33fd754c89785cfde750acd3 Author: Johannes Berg Date: Wed Jul 9 14:40:35 2008 +0200 mac80211: revamp virtual interface handling This patch revamps the virtual interface handling and makes the code much easier to follow. Fewer functions, better names, less spaghetti code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e122be089e6fb8d3f322416da4cdbb80ce12927 Author: Johannes Berg Date: Wed Jul 9 14:40:34 2008 +0200 mac80211: make master netdev handling sane Currently, almost every interface type has a 'bss' pointer pointing to BSS information. This BSS information, however, is for a _local_ BSS, not for the BSS we joined, so having it on a STA mode interface makes little sense, but now they have it pointing to the master device, which is an AP mode virtual interface. However, except for some bitrate control data, this pointer is only used in AP/VLAN modes (for power saving stations.) Overall, it is not necessary to even have the master netdev be a valid virtual interface, and it doesn't have to be on the list of interfaces either. This patch changes the master netdev to be special, it now - no longer is on the list of virtual interfaces, which lets me remove a lot of tests for that - no longer has sub_if_data attached, since that isn't used Additionally, this patch changes some vlan/ap mode handling that is related to these 'bss' pointers described above (but in the VLAN case they actually make sense because there they point to the AP they belong to); it also adds some debugging code to IEEE80211_DEV_TO_SUB_IF to validate it is not called on the master netdev any more. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 500c11973233437cbfd298b9d41ba942550aec76 Author: Ihar Hrachyshka Date: Wed Jul 9 01:11:59 2008 +0300 rtl8187: Fixed section mismatch in rtl8187_dev.c When CONFIG_HOTPLUG=n the following error occures on vmlinux linkage: `.exit.text' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o 'rtl8187_disconnect' function marked as __devexit isn't compiled with no hotplug support. Added __devexit_p macros to fix the problem. Signed-off-by: Ihar Hrachyshka Signed-off-by: John W. Linville commit 9a613195123ab2c2400004c7aaee4d25f3b8ae52 Author: Ivo van Doorn Date: Sat Jul 5 15:11:57 2008 +0200 rt2x00: Fix NULL pointer error in adhoc/master mode As soon as an interface is enabled, and that interface is in adhoc or master mode, the device will start raising beacondone interrupts. But before the first interrupt is raised, mac80211 will probably not have send any beacons to the device yet, which results in a NULL pointer error when the skb is being freed. Note that the "raise beacondone interrupts without a beacon" is also a bug, and will be addressed later. The more important bug however is preventing the NULL pointer failt itself, since there might be other conditions that could trigger it as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 49292d56352a6ab90d04c3448dd8b6106dfef2d6 Author: Samuel Ortiz Date: Fri Jul 4 10:49:31 2008 +0200 mac80211: power management wext hooks This patch implements the power management routines wireless extensions for mac80211. For now we only support switching PS mode between on and off. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b1235d79611e78a07629b4cbe53291c9cffd1834 Author: Marcel Holtmann Date: Mon Jul 14 20:13:54 2008 +0200 [Bluetooth] Allow security for outgoing L2CAP connections When requested the L2CAP layer will now enforce authentication and encryption on outgoing connections. The usefulness of this feature is kinda limited since it will not allow proper connection ownership tracking until the authentication procedure has been finished. This is a limitation of Bluetooth 2.0 and before and can only be fixed by using Simple Pairing. Signed-off-by: Marcel Holtmann commit 7cb127d5b0e7af7a0afd23785722ca3edab4ceff Author: Marcel Holtmann Date: Mon Jul 14 20:13:53 2008 +0200 [Bluetooth] Add option to disable eSCO connection creation It has been reported that some eSCO capable headsets are not able to connect properly. The real reason for this is unclear at the moment. So for easier testing add a module parameter to disable eSCO connection creation. Signed-off-by: Marcel Holtmann commit ec8dab36e0738d3059980d144e34f16a26bbda7d Author: Marcel Holtmann Date: Mon Jul 14 20:13:53 2008 +0200 [Bluetooth] Signal user-space for HIDP and BNEP socket errors When using the HIDP or BNEP kernel support, the user-space needs to know if the connection has been terminated for some reasons. Wake up the application if that happens. Otherwise kernel and user-space are no longer on the same page and weird behaviors can happen. Signed-off-by: Marcel Holtmann commit a0c22f226502be6eab37a1d9bf6fb0fadf551376 Author: Marcel Holtmann Date: Mon Jul 14 20:13:52 2008 +0200 [Bluetooth] Move pending packets from RFCOMM socket to TTY When an incoming RFCOMM socket connection gets converted into a TTY, it can happen that packets are lost. This mainly happens with the Handsfree profile where the remote side starts sending data right away. The problem is that these packets are in the socket receive queue. So when creating the TTY make sure to copy all pending packets from the socket receive queue to a private queue inside the TTY. To make this actually work, the flow control on the newly created TTY will be disabled and only enabled again when the TTY is opened by an application. And right before that, the pending packets will be put into the TTY flip buffer. Signed-off-by: Denis Kenzior Signed-off-by: Marcel Holtmann commit 8b6b3da765af9600b5edd8e3e84a20523e975884 Author: Marcel Holtmann Date: Mon Jul 14 20:13:52 2008 +0200 [Bluetooth] Store remote modem status for RFCOMM TTY When switching a RFCOMM socket to a TTY, the remote modem status might be needed later. Currently it is lost since the original configuration is done via the socket interface. So store the modem status and reply it when the socket has been converted to a TTY. Signed-off-by: Denis Kenzior Signed-off-by: Marcel Holtmann commit ca37bdd53b5af06d00e792f2415b93206aa2a541 Author: Marcel Holtmann Date: Mon Jul 14 20:13:52 2008 +0200 [Bluetooth] Use non-canonical TTY by default for RFCOMM While the RFCOMM TTY emulation can act like a real serial port, in reality it is not used like this. So to not mess up stupid applications, use the non-canonical mode by default. Signed-off-by: Denis Kenzior Signed-off-by: Marcel Holtmann commit 78c6a1744fafc3a396f85c1970eb78839b55af74 Author: Marcel Holtmann Date: Mon Jul 14 20:13:51 2008 +0200 [Bluetooth] Update Bluetooth core version number With all the Bluetooth 2.1 changes and the support for Simple Pairing, it is important to update the Bluetooth core version number. Signed-off-by: Marcel Holtmann commit 7d0db0a373195385a2e0b19d1f5e4b186fdcffac Author: Marcel Holtmann Date: Mon Jul 14 20:13:51 2008 +0200 [Bluetooth] Use a more unique bus name for connections When attaching Bluetooth low-level connections to the bus, the bus name is constructed from the remote address since at that time the connection handle is not assigned yet. This has worked so far, but also caused a lot of troubles. It is better to postpone the creation of the sysfs entry to the time when the connection actually has been established and then use its connection handle as unique identifier. This also fixes the case where two different adapters try to connect to the same remote device. Signed-off-by: Marcel Holtmann commit 43cbeee9f9b26300275e4e2d55ed1607f8c5f760 Author: Marcel Holtmann Date: Mon Jul 14 20:13:51 2008 +0200 [Bluetooth] Add support for TIOCOUTQ and TIOCINQ ioctls Almost every protocol family supports the TIOCOUTQ and TIOCINQ ioctls and even Bluetooth could make use of them. When implementing audio streaming and integration with GStreamer or PulseAudio they will allow a better timing and synchronization. Signed-off-by: Marcel Holtmann commit 3241ad820dbb172021e0268b5611031991431626 Author: Marcel Holtmann Date: Mon Jul 14 20:13:50 2008 +0200 [Bluetooth] Add timestamp support to L2CAP, RFCOMM and SCO Enable the common timestamp functionality that the network subsystem provides for L2CAP, RFCOMM and SCO sockets. It is possible to either use SO_TIMESTAMP or the IOCTLs to retrieve the timestamp of the current packet. Signed-off-by: Marcel Holtmann commit 40be492fe4fab829951681860c2bb26fa1d5fe4a Author: Marcel Holtmann Date: Mon Jul 14 20:13:50 2008 +0200 [Bluetooth] Export details about authentication requirements With the Simple Pairing support, the authentication requirements are an explicit setting during the bonding process. Track and enforce the requirements and allow higher layers like L2CAP and RFCOMM to increase them if needed. This patch introduces a new IOCTL that allows to query the current authentication requirements. It is also possible to detect Simple Pairing support in the kernel this way. Signed-off-by: Marcel Holtmann commit f8558555f31e177e2644f3c8116801c3e5c29974 Author: Marcel Holtmann Date: Mon Jul 14 20:13:49 2008 +0200 [Bluetooth] Initiate authentication during connection establishment With Bluetooth 2.1 and Simple Pairing the requirement is that any new connection needs to be authenticated and that encryption has been switched on before allowing L2CAP to use it. So make sure that all the requirements are fulfilled and otherwise drop the connection with a minimal disconnect timeout of 10 milliseconds. This change only affects Bluetooth 2.1 devices and Simple Pairing needs to be enabled locally and in the remote host stack. The previous changes made sure that these information are discovered before any kind of authentication and encryption is triggered. Signed-off-by: Marcel Holtmann commit 769be974d0c7b4fe1a52f9cdaad22259b60953f7 Author: Marcel Holtmann Date: Mon Jul 14 20:13:49 2008 +0200 [Bluetooth] Use ACL config stage to retrieve remote features The Bluetooth technology introduces new features on a regular basis and for some of them it is important that the hardware on both sides support them. For features like Simple Pairing it is important that the host stacks on both sides have switched this feature on. To make valid decisions, a config stage during ACL link establishment has been introduced that retrieves remote features and if needed also the remote extended features (known as remote host features) before signalling this link as connected. This change introduces full reference counting of incoming and outgoing ACL links and the Bluetooth core will disconnect both if no owner of it is present. To better handle interoperability during the pairing phase the disconnect timeout for incoming connections has been increased to 10 seconds. This is five times more than for outgoing connections. Signed-off-by: Marcel Holtmann commit a8bd28baf21b9ee6b8486666b771283e566c0d31 Author: Marcel Holtmann Date: Mon Jul 14 20:13:49 2008 +0200 [Bluetooth] Export remote Simple Pairing mode via sysfs Since the remote Simple Pairing mode is stored together with the inquiry cache, it makes sense to show it together with the other information. Signed-off-by: Marcel Holtmann commit 41a96212b3b7b3cd59e8e8d33e6dabf0e21d9778 Author: Marcel Holtmann Date: Mon Jul 14 20:13:48 2008 +0200 [Bluetooth] Track status of remote Simple Pairing mode The Simple Pairing process can only be used if both sides have the support enabled in the host stack. The current Bluetooth specification has three ways to detect this support. If an Extended Inquiry Result has been sent during inquiry then it is safe to assume that Simple Pairing is enabled. It is not allowed to enable Extended Inquiry without Simple Pairing. During the remote name request phase a notification with the remote host supported features will be sent to indicate Simple Pairing support. Also the second page of the remote extended features can indicate support for Simple Pairing. For all three cases the value of remote Simple Pairing mode is stored in the inquiry cache for later use. Signed-off-by: Marcel Holtmann commit 333140b57fa7867bc92e5ee879b6ac4ef5e1d867 Author: Marcel Holtmann Date: Mon Jul 14 20:13:48 2008 +0200 [Bluetooth] Track status of Simple Pairing mode The Simple Pairing feature is optional and needs to be enabled by the host stack first. The Linux kernel relies on the Bluetooth daemon to either enable or disable it, but at any time it needs to know the current state of the Simple Pairing mode. So track any changes made by external entities and store the current mode in the HCI device structure. Signed-off-by: Marcel Holtmann commit 0493684ed2397e111574f343534d8e4ec440dfa5 Author: Marcel Holtmann Date: Mon Jul 14 20:13:48 2008 +0200 [Bluetooth] Disable disconnect timer during Simple Pairing During the Simple Pairing process the HCI disconnect timer must be disabled. The way to do this is by holding a reference count of the HCI connection. The Simple Pairing process on both sides starts with an IO Capabilities Request and ends with Simple Pairing Complete. Signed-off-by: Marcel Holtmann commit c7bdd5026d28d178238bd794c61612602a54d55e Author: Marcel Holtmann Date: Mon Jul 14 20:13:47 2008 +0200 [Bluetooth] Update class of device value whenever possible The class of device value can only be retrieved via inquiry or during an incoming connection request. Outgoing connections can't ask for the class of device. To compensate for this the value is stored and copied via the inquiry cache, but currently only updated via inquiry. This update should also happen during an incoming connection request. Signed-off-by: Marcel Holtmann commit f383f2750af19fe6f820edf40d8729f9741c5b37 Author: Marcel Holtmann Date: Mon Jul 14 20:13:47 2008 +0200 [Bluetooth] Some cleanups for HCI event handling Some minor cosmetic cleanups to the HCI event handling to make the code easier to read and understand. Signed-off-by: Marcel Holtmann commit e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6 Author: Marcel Holtmann Date: Mon Jul 14 20:13:47 2008 +0200 [Bluetooth] Make use of the default link policy settings The Bluetooth specification supports the default link policy settings on a per host controller basis. For every new connection the link manager would then use these settings. It is better to use this instead of bothering the controller on every connection setup to overwrite the default settings. Signed-off-by: Marcel Holtmann commit a8746417e864da1ed36dd2432a399fbeb843c2a0 Author: Marcel Holtmann Date: Mon Jul 14 20:13:46 2008 +0200 [Bluetooth] Track connection packet type changes The connection packet type can be changed after the connection has been established and thus needs to be properly tracked to ensure that the host stack has always correct and valid information about it. On incoming connections the Bluetooth core switches the supported packet types to the configured list for this controller. However the usefulness of this feature has been questioned a lot. The general consent is that every Bluetooth host stack should enable as many packet types as the hardware actually supports and leave the decision to the link manager software running on the Bluetooth chip. When running on Bluetooth 2.0 or later hardware, don't change the packet type for incoming connections anymore. This hardware likely supports Enhanced Data Rate and thus leave it completely up to the link manager to pick the best packet type. Signed-off-by: Marcel Holtmann commit 9dc0a3afc08d6c20c284994dcd84531787d00ec2 Author: Marcel Holtmann Date: Mon Jul 14 20:13:46 2008 +0200 [Bluetooth] Support the case when headset falls back to SCO link When trying to establish an eSCO link between two devices then it can happen that the remote device falls back to a SCO link. Currently this case is not handled correctly and the message dispatching will break since it is looking for eSCO packets. So in case the configured link falls back to SCO overwrite the link type with the correct value. Signed-off-by: Marcel Holtmann commit ae29319649b80ed9d28d7b4f164e3f5f75020fc8 Author: Marcel Holtmann Date: Mon Jul 14 20:13:45 2008 +0200 [Bluetooth] Update authentication status after successful encryption The authentication status is not communicated to both parties. This is actually a flaw in the Bluetooth specification. Only the requesting side really knows if the authentication was successful or not. This piece of information is however needed on the other side to know if it has to trigger the authentication procedure or not. Worst case is that both sides will request authentication at different times, but this should be avoided since it costs extra time when setting up a new connection. For Bluetooth encryption it is required to authenticate the link first and the encryption status is communicated to both sides. So when a link is switched to encryption it is possible to update the authentication status since it implies an authenticated link. Signed-off-by: Marcel Holtmann commit 9719f8afce34d3d04e884873a8a5e3483e30974c Author: Marcel Holtmann Date: Mon Jul 14 20:13:45 2008 +0200 [Bluetooth] Disconnect when encryption gets disabled The Bluetooth specification allows to enable or disable the encryption of an ACL link at any time by either the peer or the remote device. If a L2CAP or RFCOMM connection requested an encrypted link, they will now disconnect that link if the encryption gets disabled. Higher protocols that don't care about encryption (like SDP) are not affected. Signed-off-by: Marcel Holtmann commit 77db1980565626471a980f0d2d17299e4bd5e7a5 Author: Marcel Holtmann Date: Mon Jul 14 20:13:45 2008 +0200 [Bluetooth] Enforce security for outgoing RFCOMM connections Recent tests with various Bluetooth headsets have shown that some of them don't enforce authentication and encryption when connecting. All of them leave it up to the host stack to enforce it. Non of them should allow unencrypted connections, but that is how it is. So in case the link mode settings require authentication and/or encryption it will now also be enforced on outgoing RFCOMM connections. Previously this was only done for incoming connections. This support has a small drawback from a protocol level point of view since the host stack can't really tell with 100% certainty if a remote side is already authenticated or not. So if both sides are configured to enforce authentication it will be requested twice. Most Bluetooth chips are caching this information and thus no extra authentication procedure has to be triggered over-the-air, but it can happen. Signed-off-by: Marcel Holtmann commit 79d554a6976a295aa9212172b218f29ca71c3b3d Author: Marcel Holtmann Date: Mon Jul 14 20:13:44 2008 +0200 [Bluetooth] Change retrieval of L2CAP features mask Getting the remote L2CAP features mask is really important, but doing this as less intrusive as possible is tricky. To play nice with older systems and Bluetooth qualification testing, the features mask is now only retrieved in two specific cases and only once per lifetime of an ACL link. When trying to establish a L2CAP connection and the remote features mask is unknown, the L2CAP information request is sent when the ACL link goes into connected state. This applies only to outgoing connections and also only for the connection oriented channels. The second case is when a connection request has been received. In this case a connection response with the result pending and the information request will be send. After receiving an information response or if the timeout gets triggered, the normal connection setup process with security setup will be initiated. Signed-off-by: Marcel Holtmann commit 3bf2e77453a87c22eb57ed4926760ac131c84459 Author: H. Peter Anvin Date: Sun Jul 13 21:18:02 2008 -0700 x86, suspend, acpi: enter Big Real Mode The explanation for recent video BIOS suspend quirk failures is that the VESA BIOS expects to be entered in Big Real Mode (*.limit = 0xffffffff) instead of ordinary Real Mode (*.limit = 0xffff). This patch changes the segment descriptors to Big Real Mode instead. The segment descriptor registers (what Intel calls "segment cache") is always active. The only thing that changes based on CR0.PE is how it is *loaded* and the interpretation of the CS flags. The segment descriptor registers contain of the following sub-registers: selector (the "visible" part), base, limit and flags. In protected mode or long mode, they are loaded from descriptors (or fs.base or gs.base can be manipulated directly in long mode.) In real mode, the only thing changed by a segment register load is the selector and the base, where the base <- selector << 4. In particular, *the limit and the flags are not changed*. As far as the handling of the CS flags: a code segment cannot be writable in protected mode, whereas it is "just another segment" in real mode, so there is some kind of quirk that kicks in for this when CR0.PE <- 0. I'm not sure if this is accomplished by actually changing the cs.flags register or just changing the interpretation; it might be something that is CPU-specific. In particular, the Transmeta CPUs had an explicit "CS is writable if you're in real mode" override, so even if you had loaded CS with an execute-only segment it'd be writable (but not readable!) on return to real mode. I'm not at all sure if that is how other CPUs behave. Signed-off-by: "H. Peter Anvin" Signed-off-by: Ingo Molnar commit 2d62f488585405bc9108c47cb06957397cfd1059 Author: Adrian Hunter Date: Thu Jan 31 17:25:00 2008 +0200 do_mounts: allow UBI root device name Similarly to MTD devices, allow UBI devices. Signed-off-by: Adrian Hunter commit 4ee6afd34409d296782a5b667d7991b1050e910a Author: Artem Bityutskiy Date: Wed May 7 21:01:30 2008 +0300 VFS: export sync_sb_inodes This patch exports the 'sync_sb_inodes()' which is needed for UBIFS because it has to force write-back from time to time. Namely, the UBIFS budgeting subsystem forces write-back when its pessimistic callculations show that there is no free space on the media. Signed-off-by: Artem Bityutskiy commit ae8547b0a9e5d718ce272ddc48f91703a0f52a0b Author: Hans Reiser Date: Wed May 7 15:48:57 2008 +0300 VFS: move inode_lock into sync_sb_inodes This patch makes 'sync_sb_inodes()' lock 'inode_lock', rather than expect that the caller will do this. This change was previously done by Hans Reiser and sat in the -mm tree. Signed-off-by: Artem Bityutskiy commit 7dc9719682ce8c46215bc9a1bdc7ee0c38ada94b Merge: 4c2a997... 900cfa4... 857f3fd... de32a24... 81d50bb... Author: Thomas Gleixner Date: Mon Jul 14 18:09:05 2008 +0200 Merge commit '900cfa46191a7d87cf1891924cb90499287fd235'; branches 'timers/nohz', 'timers/clocksource' and 'timers/posixtimers' into timers/for-linus commit 7798ed0f57b4d137e660fbf5be1e1528e40f89ac Author: Stephen Rothwell Date: Mon Jul 14 19:55:03 2008 +1000 generic-ipi: powerpc/generic-ipi tree build failure Today's linux-next build (powerpc allmodconfig) failed like this: ERROR: ".save_stack_trace" [tests/backtracetest.ko] undefined! But save_stack_trace is exported in arch/powerpc/kernel/stacktrace.c I couldn't figure it out until I noticed these earlier warnings: arch/powerpc/kernel/stacktrace.c:47: warning: data definition has no type or storage class arch/powerpc/kernel/stacktrace.c:47: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' arch/powerpc/kernel/stacktrace.c:47: warning: parameter names (without types) in function declaration I applied the patch below. Signed-off-by: Stephen Rothwell Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Signed-off-by: Ingo Molnar commit 4c2a997c34c0aa952ba9c247b0c2043526054919 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 Signed-off-by: Thomas Gleixner commit 1c776bf87c855a6e823e13c3667f0cf7c14635bd 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 Signed-off-by: Thomas Gleixner commit 5806b81ac1c0c52665b91723fd4146a4f86e386b Merge: d14c8a6... 6712e29... Author: Ingo Molnar Date: Mon Jul 14 16:11:52 2008 +0200 Merge branch 'auto-ftrace-next' into tracing/for-linus Conflicts: arch/x86/kernel/entry_32.S arch/x86/kernel/process_32.c arch/x86/kernel/process_64.c arch/x86/lib/Makefile include/asm-x86/irqflags.h kernel/Makefile kernel/sched.c Signed-off-by: Ingo Molnar commit d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8 Merge: d59fdcf... 873a6ed... Author: Ingo Molnar Date: Mon Jul 14 16:11:02 2008 +0200 Merge branch 'sched/for-linus' into tracing/for-linus commit 6712e299b7dc78aa4971b85e803435ee6d49a9dd Merge: ec1bb60... b2613e3... Author: Ingo Molnar Date: Mon Jul 14 15:58:35 2008 +0200 Merge branch 'tracing/ftrace' into auto-ftrace-next commit 3fd44736db9a5bf33e4a216b9cd43c9cfd57c459 Author: Kim Phillips Date: Tue Jul 8 19:13:33 2008 -0500 powerpc/fsl: update crypto node definition and device tree instances delete obsolete device-type property, delete model property (use compatible property instead), prepend "fsl," to Freescale specific properties. Add nodes to device trees that are missing them, and fix broken property values in other trees. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit d0fc2eaaf4c56a95f5ed29b6bfb609e19714fc16 Author: Kumar Gala Date: Mon Jul 7 11:28:33 2008 -0500 powerpc/fsl: Refactor device bindings Moved Freescale SoC related bindings out of booting-without-of.txt and into their own files. Signed-off-by: Kumar Gala commit b93eeba49efb30f88a83fc97ad22c255605654a1 Author: Jason Jin Date: Tue Jul 8 09:21:08 2008 +0800 powerpc/85xx: Minor fixes for 85xxds and 8536ds board. Remove the "uninitialized use" compile warning and avoid potential runtime issue. Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit d8267c1a36864fc30a2ce01f4349a8f2931ae741 Author: Kumar Gala Date: Fri Jun 27 11:26:26 2008 -0500 powerpc: Add 82xx/83xx/86xx to 6xx Multiplatform There isn't any reason at this point that we can't build 82xx, 83xx & 86xx support in with the other 6xx based boards. Twiddle the Kconfigs to allow this. This allows us to remove the machine type selection for related to 6xx. Signed-off-by: Kumar Gala commit a64887eb0a376d412cfa07a52728fb3f56cf9d6c Author: Dave Jiang Date: Mon Jun 16 15:36:17 2008 -0700 powerpc/85xx: publish of device for cds platforms Publish the devices listed in dts under SOC as of_device for 85xx_cds platform. The devices are needed by the 85xx EDAC driver. Signed-off-by: Dave Jiang Signed-off-by: Kumar Gala commit ddb107e98b58ee280e99317cfd6efd16112678f2 Author: Kumar Gala Date: Fri Jun 27 08:03:13 2008 -0500 powerpc/booke: don't reinitialize time base For some reason long ago I decided that we should zero out the time base when we calibrate the decrementer. The problem is that this can be harmful in SMP systems where the firmware has already synchronized the time bases on the various cores. Signed-off-by: Kumar Gala commit 98384c6cdd1fd593f399b6f879bae2cae70aad48 Author: Kumar Gala Date: Wed Jul 2 11:46:20 2008 -0500 powerpc/86xx: Refactor pic init Moved the pic initialization into its own common file and out of the board code. Also fixed the OF reference counting on the mpic node. Signed-off-by: Kumar Gala commit a5d28c8e64ff0bc77d38d9c19c6d8163e4c0ffaa Author: Jochen Friedrich Date: Wed Jul 2 18:06:13 2008 +0200 powerpc/CPM: Add i2c pins to dts and board setup Initialize I2C pins on boards with CPM1/CPM2 controllers and document the i2c bus in booting-without-of. The boards don't have any I2C chips connected to the I2C bus, so unless some external chips are connected to the boards, this code is just an example of setting everything else up. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit dc320815305c5f019672d144f4c4c2710ef7732e Author: Laurent Pinchart Date: Wed Jul 2 10:58:45 2008 +0200 cpm_uart: Support uart_wait_until_sent() Set port->fifosize to the software FIFO size, and update the port timeout when the baud rate is modified. SCC ports have an optional 32 byte hardware FIFO which is currently not taken into account, as there is no documented way to check when the FIFO becomes empty. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit 2f3804edf971d2080243d2b4552bfd61ddfbf969 Author: Kumar Gala Date: Wed Jul 2 01:36:15 2008 -0500 powerpc/85xx: Add support for MPC8536DS Add support for the MPC8536 process and MPC8536DS reference board. The MPC8536 is an e500v2 based SoC which eTSEC, USB, SATA, PCI, and PCIe. The USB and SATA IP blocks are similiar to those on the PQ2 Pro SoCs and thus use the same drivers. Signed-off-by: Kumar Gala commit a712b65cd015d9bd05bce01f57a42cd6c73c4aa0 Author: Kumar Gala Date: Wed Jul 2 10:00:56 2008 -0500 powerpc/85xx: minor fixes for MPC85xx DS board port These issues were reported by Stephen Rothwell for another 85xx board port and pointed out by Chen Gong as issues in the DS port. * mpic OF node reference counting was off * of_device_id struct should be marked as __initdata Signed-off-by: Kumar Gala commit 5e82eb333949e2f1652bf70d36dfaa875306ae11 Author: Nye Liu Date: Fri Jun 27 13:01:00 2008 -0700 powerpc/CPM: Minor cosmetic changes to udbg_putc udbg_putc is a *function pointer* that is initialized during udbg_init_cpm. It might not be initialized properly when called from udbg_putc_cpm(), so (recursively) call udbg_putc_cpm() directly. Signed-off-by: Nye Liu Signed-off-by: Kumar Gala commit a3083220c089c626a66b66af0eff4f9220d5b797 Author: Wolfgang Grandegger Date: Thu Jun 26 15:15:43 2008 +0200 powerpc/85xx: TQM8548: add missing support for RTC and LM75 It adds the missing RTC node to tqm8548.dts and enables support for I2C, DS1307 and LM75 in the default configuration. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit deabeabf0bb8e6ad0b5917859893ac5af46d9b04 Author: Anton Vorontsov Date: Tue Jul 1 17:04:38 2008 +0400 powerpc/86xx: mpc8610_hpcd: fix interrupt trigger type for ULi IDE i8259 PIC is disabled on MPC8610HPCD, and ULi IDE is configured to use PCI sideband interrupt that is specified in the device tree. Current HPCD's device tree specify that IDE interrupt is low to high sensitive, but in practice ULi IDE throws active-high interrupts (not active-low as all normal PCI devices). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 6c1160991283a12537b136a71d10d271997fd64c Author: Rune Torgersen Date: Tue May 20 14:28:57 2008 -0500 powerpc: Fix pq2fads irq handling with PREEMPT_RT Fix interrupt threading issue on pq2fads when running with CONFIG_PREEMPT_RT Signed-off-by: Rune Torgersen Signed-off-by: Kumar Gala commit 491a7a436cc90e97d666cfc025e141ca3186f86c Author: Rune Torgersen Date: Tue May 20 14:39:17 2008 -0500 cpm_uart: Fix cpm uart corruption with PREEMPT_RT Fix CPM serial port corruption when running with CONFIG_PREEMPT_RT. Userland usage of console, and kernel printf's were stepping on each others toes. Also only take lock if not in an oops. Signed-off-by: Rune Torgersen Signed-off-by: Kumar Gala commit 0fe9b1ea60bc209c8c87afcbb1c2ec0b28835aa4 Author: Kumar Gala Date: Mon Jun 30 23:24:14 2008 -0500 powerpc/85xx: Fix KSI8560 .dts Rename MPIC label to mpic to match all other 85xx .dts and to fix compile issue introduced by addition of the DMA node. Signed-off-by: Kumar Gala commit 1e8afea124added6409d5209f90d9949f5a13b32 Author: Stefan Richter Date: Sat Jul 12 14:51:18 2008 +0200 firewire: warn on unfinished transactions during card removal After card->done and card->work are completed, any remaining pending request would be a bug. We cannot safely complete a transaction at that point anymore. IOW card users must not drop their last fw_card reference (usually indirect references through fw_device references) before their last outbound transaction through that card was finished. Signed-off-by: Stefan Richter commit b9549bc6803d6a16fe6a85b316b742ef82bd3931 Author: Stefan Richter Date: Sat Jul 12 14:50:42 2008 +0200 firewire: small fw_fill_request cleanup - better name for a function argument - removal of a local variable which became unnecessary after "fully initialize fw_transaction before marking it pending" Signed-off-by: Stefan Richter commit e9aeb46c93a8b1b703d00586c05d9a71aa7e0f0c Author: Stefan Richter Date: Sat Jul 12 14:50:06 2008 +0200 firewire: fully initialize fw_transaction before marking it pending In theory, card->flush_timer could already access a transaction between fw_send_request()'s spin_unlock_irqrestore and the rest of what happens in fw_send_request(). This would happen if the process which sends the request is preempted and put to sleep right after spin_unlock_irqrestore for longer than 100ms. Therefore we fill in everything in struct fw_transaction at which the flush_timer might look at before we lift the lock. To do: Ensure that the timer does not pick up the transaction before the time of the AT request event plus split transaction timeout. Signed-off-by: Stefan Richter commit 792a61021c6043f6c2b24b1cdd42be5753b3e54c Author: Stefan Richter Date: Sat Jul 12 14:49:19 2008 +0200 firewire: fix race of bus reset with request transmission Reported by Jay Fenlason: A bus reset tasklet may call fw_flush_transactions and touch transactions (call their callback which will free them) while the context which submitted the transaction is still inserting it into the transmission queue. A simple solution to this problem is to _not_ "flush" the transactions because of a bus reset (complete the transcations as 'cancelled'). They will now simply time out (completed as 'cancelled' by the split-timeout timer). Jay Fenlason thought of this fix too but I was quicker to type it out. :-) Background: Contexts which access an instance of struct fw_transaction are: 1. the submitter, until it inserted the packet which is embedded in the transaction into the AT req DMA, 2. the AsReqTrContext tasklet when the request packet was acked by the responder node or transmission to the responder failed, 3. the AsRspRcvContext tasklet when it found a request which matched an incoming response, 4. the card->flush_timer when it picks up timed-out transactions to cancel them, 5. the bus reset tasklet when it cancels transactions (this access is eliminated by this patch), 6. a process which shuts down an fw_card (unregisters it from fw-core when the controller is unbound from fw-ohci) --- although in this case there shouldn't really be any transactions anymore because we wait until all card users finished their business with the card. All of these contexts run concurrently (except for the 6th, presumably). The 1st is safe against the 2nd and 3rd because of the way how a request packet is carefully submitted to the hardware. A race between 2nd and 3rd has been fixed a while ago (bug 9617). The 4th is almost safe against 1st, 2nd, 3rd; there are issues with it if huge scheduling latencies occur, to be fixed separately. The 5th looks safe against 2nd, 3rd, and 4th but is unsafe against 1st. Maybe this could be fixed with an explicit state variable in struct fw_transaction. But this would require fw_transaction to be rewritten as only dynamically allocatable object with reference counting --- not a good solution if we also can simply kill this 5th accessing context (replace it by the 4th). Signed-off-by: Stefan Richter commit a7ea67823af4a7e442e92064b0fab46603a588f6 Author: Stefan Richter Date: Sun May 25 11:06:55 2008 +0200 firewire: don't respond to broadcast write requests Contrary to a comment in the source, request->ack of a broadcast write request can be ACK_PENDING. Hence the existing check is insufficient. Debug dmesg before: AR spd 0 tl 00, ffc0 -> ffff, ack_pending , QW req, fffff0000234 = ffffffff AT spd 0 tl 00, ffff -> ffc0, ack_complete, W resp And the requesting node (linux1394) reports an unsolicited response. Debug dmesg after: AR spd 0 tl 00, ffc0 -> ffff, ack_pending , QW req, fffff0000234 = ffffffff Signed-off-by: Stefan Richter commit 459f79235d8faa0050180c7e0c7bb4b2b52cbdfd Author: Stefan Richter Date: Sat May 24 16:50:22 2008 +0200 firewire: clean up fw_card reference counting This is a functionally equivalent replacement of the current reference counting of struct fw_card instances. It only converts it to common idioms as suggested by Kristian Høgsberg: - struct kref replaces atomic_t as the counter. - wait_for_completion is used to wait for all card users to complete. BTW, it may make sense to count card->flush_timer and card->work as card users too. Signed-off-by: Stefan Richter commit 2147ef204f57191e0fff6d5d3d1a0336afa6cfae Author: Stefan Richter Date: Sat May 24 16:48:05 2008 +0200 firewire: clean up some includes Signed-off-by: Stefan Richter commit bbf094cf3dbd9a969dd17cf52325e9fab8dfbe91 Author: Stefan Richter Date: Sat May 24 16:46:10 2008 +0200 firewire: remove unused struct members Signed-off-by: Stefan Richter commit e534fe16b987780744da351acece2a4699783096 Author: Stefan Richter Date: Sat May 24 16:41:09 2008 +0200 firewire: implement broadcast_channel CSR for 1394a compliance See IEEE 1394a clause 8.3.2.3.11. Signed-off-by: Stefan Richter commit 435f972697fcd4c424db941f0ea8f2e38eda2b39 Author: Philippe De Muyter Date: Thu Jul 3 18:52:28 2008 +0200 ieee1394: dump mmapped iso buffers in core files Currently, core files do not contain the mmapped memory of the video1394 or dv1394 devices, which contain the actual video input, making it impossible to analyse the cause of abnormal program termination for image analysis or (de)compression software. Fix that. Signed-off-by: Philippe De Muyter Also affects users of the rawiso ioctl API of raw1394. Signed-off-by: Stefan Richter commit 3aea50a379ed152bcb86b24b65a4cb59be82446f Author: Alan Cox Date: Fri May 23 11:57:41 2008 +0100 ieee1394: raw1394: Push the BKL down into the driver ioctls Actually in this case wrap the function for now. Signed-off-by: Alan Cox Added raw1394_compat_ioctl hunk. Signed-off-by: Stefan Richter commit 055a7da0bb7b14f2f5009bf1c486a6e965e1e7ac Author: Stefan Richter Date: Mon May 19 22:07:28 2008 +0200 ieee1394: video1394: reorder module init, prepare BKL removal This prepares video1394 for removal of the BKL (big kernel lock): It allows video1394_open() to be called while video1394_init_module() is still in progress. Signed-off-by: Stefan Richter commit fde675fa2a1b07108976b42b20c9e69c80a53248 Author: Stefan Richter Date: Fri May 2 20:14:52 2008 +0200 ieee1394: reduce log noise about config ROM CRC errors This avoids redundant messages about a special and usually harmless firmware flaw. Signed-off-by: Stefan Richter commit 82f06e86117680ada35fdb76c8852268d994cd99 Author: Stefan Richter Date: Sun May 11 00:37:14 2008 +0200 ieee1394: sbp2: spin disks down on suspend and shutdown This instructs sd_mod to send START STOP UNIT on suspend and resume, and on driver unbinding or unloading (including when the system is shut down). We don't do this though if multiple initiators may log in to the target. Signed-off-by: Stefan Richter commit 2635f96f9086409de0ec882a210f374c012bffc3 Author: Stefan Richter Date: Sun May 11 00:36:47 2008 +0200 firewire: fw-sbp2: spin disks down on suspend and shutdown This instructs sd_mod to send START STOP UNIT on suspend and resume, and on driver unbinding or unloading (including when the system is shut down). We don't do this though if multiple initiators may log in to the target. Signed-off-by: Stefan Richter Tested-by: Tino Keitel commit 3719122a520af2957031859317e74858ab4d3f4b Author: Stefan Richter Date: Sun May 11 00:35:55 2008 +0200 ieee1394: sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares Reported by Tino Keitel: PL-3507 with firmware from Prolific does not spin down the disk on START STOP UNIT with power condition = 0 and start = 0. It does however work with power condition = 2 or 3. Also found while investigating this: DViCO Momobay CX-1 and FX-3A (TI TSB42AA9/A based) become unresponsive after START STOP UNIT with power condition = 0 and start = 0. They stay responsive if power condition is set when stopping the motor. Signed-off-by: Stefan Richter commit ffcaade3109c3a4c0a2c601cf2a44d55b4c3af37 Author: Stefan Richter Date: Sun May 11 00:35:04 2008 +0200 firewire: fw-sbp2: fix spindown for PL-3507 and TSB42AA9 firmwares Reported by Tino Keitel: PL-3507 with firmware from Prolific does not spin down the disk on START STOP UNIT with power condition = 0 and start = 0. It does however work with power condition = 2 or 3. Also found while investigating this: DViCO Momobay CX-1 and FX-3A (TI TSB42AA9/A based) become unresponsive after START STOP UNIT with power condition = 0 and start = 0. They stay responsive if power condition is set when stopping the motor. Signed-off-by: Stefan Richter Tested-by: Tino Keitel commit d2886ea368a67704ecc13e69075f18a9d74cb12b Author: Stefan Richter Date: Sun May 11 00:34:07 2008 +0200 scsi: sd: optionally set power condition in START STOP UNIT Adds a new scsi_device flag, start_stop_pwr_cond: If enabled, the sd driver will not send plain START STOP UNIT commands but ones with the power condition field set to 3 (standby) or 1 (active) respectively. Some FireWire disk firmwares do not stop the motor if power condition is zero. Or worse, they become unresponsive after a START STOP UNIT with power condition = 0 and start = 0. http://lkml.org/lkml/2008/4/29/704 This patch only adds the necessary code to sd_mod but doesn't activate it. Follow-up patches to the FireWire drivers will add detection of affected devices and enable the code for them. I did not add power condition values to scsi_error.c::scsi_eh_try_stu() for now. The three firmwares which suffer from above mentioned problems do not need START STOP UNIT in the error handler, and they are not adversely affected by START STOP UNIT with power condition = 0 and start = 1 (like scsi_eh_try_stu() sends it if scsi_device.allow_restart is enabled). Signed-off-by: Stefan Richter Tested-by: Tino Keitel commit 873a6ed6288b6c2c0d2cc84d3b2bf2fab9ba0181 Merge: 361833e... bce7f79... Author: Ingo Molnar Date: Mon Jul 14 12:19:19 2008 +0200 Merge commit 'v2.6.26' into sched/devel commit 361833efac4d277d209008e1e0658e597bc1bdef Merge: 54ef76f... c300ba2... Author: Ingo Molnar Date: Mon Jul 14 12:19:13 2008 +0200 Merge branch 'sched/clock' into sched/devel commit d12c1a37925a8ec386994169605fe99217295199 Author: Ingo Molnar Date: Mon Jul 14 12:09:28 2008 +0200 lockdep: fix kernel/fork.c warning fix: [ 0.184011] ------------[ cut here ]------------ [ 0.188011] WARNING: at kernel/fork.c:918 copy_process+0x1c0/0x1084() [ 0.192011] Pid: 0, comm: swapper Not tainted 2.6.26-tip-00351-g01d4a50-dirty #14521 [ 0.196011] [] warn_on_slowpath+0x3c/0x60 [ 0.200012] [] ? __alloc_pages_internal+0x92/0x36b [ 0.208012] [] ? __spin_lock_init+0x24/0x4a [ 0.212012] [] copy_process+0x1c0/0x1084 [ 0.216013] [] do_fork+0xb8/0x1ad [ 0.220013] [] ? acpi_os_release_lock+0x8/0xa [ 0.228013] [] ? acpi_os_vprintf+0x20/0x24 [ 0.232014] [] kernel_thread+0x75/0x7d [ 0.236014] [] ? kernel_init+0x0/0x24a [ 0.240014] [] ? kernel_init+0x0/0x24a [ 0.244014] [] ? kernel_thread_helper+0x0/0x10 [ 0.252015] [] rest_init+0x14/0x50 [ 0.256015] [] start_kernel+0x2b9/0x2c0 [ 0.260015] [] __init_begin+0x4f/0x57 [ 0.264016] ======================= [ 0.268016] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.272016] enabled ExtINT on CPU#0 which occurs if CONFIG_TRACE_IRQFLAGS=y, CONFIG_DEBUG_LOCKDEP=y, but CONFIG_PROVE_LOCKING is disabled. Signed-off-by: Ingo Molnar commit d59fdcf2ac501de99c3dfb452af5e254d4342886 Merge: 2387ce5... bce7f79... Author: Ingo Molnar Date: Mon Jul 14 11:37:46 2008 +0200 Merge commit 'v2.6.26' into x86/core commit c71b47835188d0c2a1e1f9590564f1b71c651710 Author: Mike Frysinger Date: Mon Jul 14 17:10:50 2008 +0800 Blackfin arch: set CROSS_COMPILE in our arch Makefile so it gets used by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ed987319ed6a3f5e14c87141e210deb057a6c507 Author: Sonic Zhang Date: Sat Jul 26 18:40:06 2008 +0800 Blackfin arch: update board defconfigs Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 99d95bbd48f43dafdcd0540eb0da26c5655d7f33 Author: Michael Hennerich Date: Mon Jul 14 17:04:14 2008 +0800 Blackfin arch: Remove redundant kernel option use kernel command line mem and max_mem bootargs to limit availabe memory instead. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 96b86e94bcf7eadbd8c959c0474d2971b3695478 Author: Mike Frysinger Date: Mon Jul 14 16:39:43 2008 +0800 Blackfin arch: use the symbolic IRQ define rather than the backend number Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 68e2fc78e5055740126df8eab0d31005495756c9 Author: Michael Hennerich Date: Mon Jul 14 16:51:57 2008 +0800 Blackfin arch: Fix bug - Kernel does not boot if re-program clocks Don't write conflicting data to EBIU_SDBCTL after the SDRAM is configured. This can cause data corruption, since we might change SDRAM row and column addressing modes. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 260d5d3517c67c5b68b4e28c5d3e1e3b73976a90 Author: Mike Frysinger Date: Mon Jul 14 16:34:05 2008 +0800 Blackfin arch: Fix bug - do not overflow the buffer given to us which tends to happen when CONFIG_L1_MAX_PIECE is increased past its default Singed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 992860e991f2015fb8c8df65aa32afa0dcbb4430 Author: Ingo Molnar Date: Mon Jul 14 10:28:38 2008 +0200 lockdep: fix ftrace irq tracing false positive fix this false positive: [ 0.020000] ------------[ cut here ]------------ [ 0.020000] WARNING: at kernel/lockdep.c:2718 check_flags+0x14a/0x170() [ 0.020000] Modules linked in: [ 0.020000] Pid: 0, comm: swapper Not tainted 2.6.26-tip-00343-gd7e5521-dirty #14486 [ 0.020000] [] warn_on_slowpath+0x54/0x80 [ 0.020000] [] ? _spin_unlock_irqrestore+0x61/0x70 [ 0.020000] [] ? release_console_sem+0x201/0x210 [ 0.020000] [] ? __kernel_text_address+0x35/0x40 [ 0.020000] [] ? dump_trace+0x5e/0x140 [ 0.020000] [] ? __lock_acquire+0x245/0x820 [ 0.020000] [] check_flags+0x14a/0x170 [ 0.020000] [] ? lock_acquire+0x48/0xc0 [ 0.020000] [] lock_acquire+0x51/0xc0 [ 0.020000] [] ? down+0x2c/0x40 [ 0.020000] [] ? sched_clock+0x9/0x10 [ 0.020000] [] _write_lock+0x32/0x60 [ 0.020000] [] ? request_resource+0x1f/0xb0 [ 0.020000] [] request_resource+0x1f/0xb0 [ 0.020000] [] vgacon_startup+0x2bd/0x3e0 [ 0.020000] [] con_init+0x19/0x22f [ 0.020000] [] ? tty_register_ldisc+0x5c/0x70 [ 0.020000] [] console_init+0x20/0x2e [ 0.020000] [] start_kernel+0x20c/0x379 [ 0.020000] [] ? unknown_bootoption+0x0/0x1f6 [ 0.020000] [] __init_begin+0x99/0xa1 [ 0.020000] ======================= [ 0.020000] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.020000] possible reason: unannotated irqs-on. [ 0.020000] irq event stamp: 0 which occurs if CONFIG_TRACE_IRQFLAGS=y, CONFIG_DEBUG_LOCKDEP=y, but CONFIG_PROVE_LOCKING is disabled. Signed-off-by: Ingo Molnar commit b4ba0ba24b57ec975482f4ba2d350fbee7557240 Merge: a033c33... bce7f79... Author: Ingo Molnar Date: Mon Jul 14 10:31:59 2008 +0200 Merge commit 'v2.6.26' into core/locking commit 1f2d18690f4390ac4cf75648a5bc18fc07b3aef6 Author: Michael Hennerich Date: Mon Jul 14 16:31:22 2008 +0800 Blackfin arch: Fix Bug - GPIO interrupts not disabled; edge sensitive interrupt hang system. - Implement irq_chip.enable and irq_chip.disable Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5e34599fc8ba1e8889095bd56a71fd9802ed5a51 Author: Heiko Carstens Date: Mon Jul 14 09:59:46 2008 +0200 [S390] sclp_tty: Fix scheduling while atomic bug. Finally fixes a possible scheduling while in atomic context bug. The driver used to wait on a waitqueue if no empty buffer was available. This could lead to a deadlock if the driver was called from non-schedulable context. So fix this. The write operation may fail now. It returns the number of characters accepted. put_char will never fail, since it writes characters to an intermediate buffer which gets flushed as soon as it is full. That means the driver now can busy wait if something is in the intermediate buffer and a write_string operation follows. Seems to be an acceptable compromise, since that shouldn't happen too often. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 095761d28ae43eae7d4504d49b0b952cf02b0188 Author: Heiko Carstens Date: Mon Jul 14 09:59:45 2008 +0200 [S390] sclp_tty: remove ioctl interface. After all we came to the conclusion that this interface doesn't make any sense. Besides that the ioctl number used was never registered, the header file isn't exported, and we doubt there is even a single user. So remove this interface, since it eases maintenance. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky commit 1d030370f09036e8dcb3cc40915f3f9cf92bb54c Author: Heiko Carstens Date: Mon Jul 14 09:59:44 2008 +0200 [S390] Remove P390 support. Most likely it is broken anyway because of the changes in memory detection. Since we can't test it and there are probably better ways that using a P390 card, remove support for it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a44008f2372684bacfab03de5039f68b613c5b53 Author: Christian Borntraeger Date: Mon Jul 14 09:59:43 2008 +0200 [S390] Cleanup vmcp printk messages. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 6b648063eb51e2620774ddaebef4e07f2f6f4ae7 Author: Klaus-D. Wacker Date: Mon Jul 14 09:59:42 2008 +0200 [S390] Cleanup lcs printk messages. Cc: Jeff Garzik Signed-off-by: Klaus-D. Wacker Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 5532bd0f8591a5f61cfe903646e1f55e047bae90 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:41 2008 +0200 [S390] Cleanup kprobes printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0d130066801af8f0a0ea8c70c9c7374c51fd1a92 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:40 2008 +0200 [S390] Cleanup vmwatch printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ded77fb4dfcd6f84e564ddd9458208bf5b691c7f Author: Hongjie Yang Date: Mon Jul 14 09:59:39 2008 +0200 [S390] Cleanup dcssblk printk messages. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2a062ab483f5afd764fb20631ee960672946a4be Author: Michael Holzheu Date: Mon Jul 14 09:59:38 2008 +0200 [S390] Cleanup zfcp dumper printk messages. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2f6f2521bcfff108e02d97e3a326f995996ce95f Author: Martin Schwidefsky Date: Mon Jul 14 09:59:37 2008 +0200 [S390] Cleanup vmlogrdr printk messages. The message descriptions are still missing though .. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 21b21fc4f4b03361ceec0c7eb6b7b0557d4ffe86 Author: Michael Holzheu Date: Mon Jul 14 09:59:36 2008 +0200 [S390] Cleanup s390 debug feature print messages. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2ca5b6e288d02503cba5a6d3409cb9a0600e01dd Author: Gerald Schaefer Date: Mon Jul 14 09:59:35 2008 +0200 [S390] Cleanup monreader printk messages. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d3ae942d185bdb9b84a661889fc3349044eeb260 Author: Gerald Schaefer Date: Mon Jul 14 09:59:34 2008 +0200 [S390] Cleanup appldata printk messages. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d5ddc809bf3e63a9cd6d02062f6a7c86bcff7fea Author: Martin Schwidefsky Date: Mon Jul 14 09:59:33 2008 +0200 [S390] Cleanup smsgiucv printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d4ebabe8cae5a9265eb55b7f873b6b7d92c0cdd6 Author: Jan Glauber Date: Mon Jul 14 09:59:32 2008 +0200 [S390] Cleanup cpacf printk messages. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c4cef07cf39e18e9211a674d99cafde434b45a81 Author: Frank Blaschka Date: Mon Jul 14 09:59:31 2008 +0200 [S390] Cleanup qeth print messages. Cc: Jeff Garzik Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f082bcae72575714823ea2ea9447332642127d9c Author: Ursula Braun Date: Mon Jul 14 09:59:30 2008 +0200 [S390] Cleanup netiucv printk messages. Cc: Jeff Garzik Signed-off-by: Ursula Braun Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c2b4afd2f99a187ec3bbd6e2def186fbfb755929 Author: Ursula Braun Date: Mon Jul 14 09:59:29 2008 +0200 [S390] Cleanup iucv printk messages. Cc: David S. Miller Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a12c53f4fa759b59654b6d5f21eb4070cd45cd54 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:28 2008 +0200 [S390] Cleanup sclp printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1a89dd8f0b4d7eca2dd4abffb736f37676e1b073 Author: Felix Beck Date: Mon Jul 14 09:59:27 2008 +0200 [S390] Cleanup zcrypt printk messages. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 26348f78e84613371eb657ca1e584153ccb7d596 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:26 2008 +0200 [S390] Cleanup 3215 printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a26182ed7171bff74caf5a55d4d3bdd6f400dfb5 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:25 2008 +0200 [S390] Cleanup 3270 printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 8df22b4b39c6a1679f471bd68f97cf6f6819571a Author: Martin Schwidefsky Date: Mon Jul 14 09:59:24 2008 +0200 [S390] Cleanup xpram printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ca366a329ad8eff1230decd55b33fe23326862f6 Author: Martin Schwidefsky Date: Mon Jul 14 09:59:23 2008 +0200 [S390] Cleanup vtime printk messages. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c78aa6cbace460081ddc6227f02b6d3203a21585 Author: Michael Ernst Date: Mon Jul 14 09:59:22 2008 +0200 [S390] Cleanup cio printk messages. Unnecessary dev_info, dev_warn and printk messages are removed. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23d1742179170b69e61ac9166248ffd64857e55a Author: Heiko Carstens Date: Mon Jul 14 09:59:21 2008 +0200 [S390] Move memory detection code to own file. Move memory detection code to own file and also simplify it. Also add an interface which can be called at any time to get the current memory layout. This interface is needed by our kernel internal system dumper. Cc: Peter Oberparleiter Cc: Michael Holzheu Cc: Frank Munzert Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ef60cd13ecee0ccf2439d63013cbfc798aea2bb9 Author: Sebastian Ott Date: Mon Jul 14 09:59:20 2008 +0200 [S390] cio: fix double unregistering of subchannels In some cases where the channel subsystem decides to drop a subchannel device device_unregister may be called twice, which results in an oops. The patch prevents this by only unregistering registered devices. Signed-off-by: Sebastian Ott Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e0bc24958e1305efe176adc9d5f23a09e84c0058 Author: Heiko Carstens Date: Mon Jul 14 09:59:19 2008 +0200 [S390] Add support for memory hot-add via sclp. Cc: Peter Oberparleiter Cc: Gerald Schaefer Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 421c175c4d609864350df495b34d3e99f9fb1bdd Author: Heiko Carstens Date: Mon Jul 14 09:59:18 2008 +0200 [S390] Add support for memory hot-add. Cc: Gerald Schaefer Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0788fea4d583a3b7d199696819940ff3387d79a3 Author: Akinobu Mita Date: Mon Jul 14 09:59:17 2008 +0200 [S390] s390: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Michael Holzheu Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a29591c47524dde594c84a279a5f1827e688a4c4 Author: Akinobu Mita Date: Mon Jul 14 09:59:16 2008 +0200 [S390] s390: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9cef21af03eb56473db5bb20d8754f377a498e7 Author: Akinobu Mita Date: Mon Jul 14 09:59:15 2008 +0200 [S390] s390/cio: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Peter Oberparleiter Signed-off-by: Andrew Morton Signed-off-by Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7785857a5a4f3e2093ced12568744a205e164d59 Author: Akinobu Mita Date: Mon Jul 14 09:59:14 2008 +0200 [S390] s390/vmcp: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3ca1c9907a352140bc83366511182b6ac776d8ee Author: Julia Lawall Date: Mon Jul 14 09:59:13 2008 +0200 [S390] drivers/s390: 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. drivers/s390/char/raw3270.c | 11 +---------- drivers/s390/char/sclp_con.c | 2 -- 2 files changed, 1 insertion(+), 12 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: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 402a3998ba6ba81bae6ac586ada55a0dd6a7c287 Author: Julia Lawall Date: Mon Jul 14 09:59:12 2008 +0200 [S390] arch/s390: 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/s390/kernel/topology.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: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9789db08c020193ae18826c3aa48bd24296f7848 Author: Heiko Carstens Date: Mon Jul 14 09:59:11 2008 +0200 [S390] Add sched.h include to asm-s390/pgtable.h. Some macros in pgtable.h access members from struct task_struct. Currently always works since sched.h seems always to be included before asm/pgtable.h. Unfortunately that is not anymore true with Jeremy Fitzhardinge's ptep_modify_prot transaction abstraction patch. So fix this. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d8c33d32a4c4f326579e7c2960492512de74662b Author: Ralph Wuerthner Date: Mon Jul 14 09:59:10 2008 +0200 [S390] zcrypt: Add additional card IDs to CEX2C and CEX2A Add support for new micro code load of CEX2C and CEX2A adapters, which uses different IDs. This patch just adds the IDs to the existing drivers. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a0443fbb467af5e5930b9b059b52190605f70059 Author: Hendrik Brueckner Date: Mon Jul 14 09:59:09 2008 +0200 [S390] Extra Kernel Parameters via VMPARM Now it is possible to specify additional kernel parameters on the IPL command line using the IPL PARM option. If the Linux system is already running, the new reipl sysfs attribute 'parm' can be used to change kernel parameters for the next reboot. Examples: IPL C PARM dasd=1234 root=/dev/dasda1 IPL 1234 PARM savesys=mylnxnss echo "init=/bin/bash" > /sys/firmware/reipl/ccw/parm Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fe1372306149d8c8a68d43765e7caea2377003b6 Author: Felix Beck Date: Mon Jul 14 09:59:08 2008 +0200 [S390] ap: Use high-resolution timer for polling The ap poll mechanism is converted to use a high-resolution timer for polling. This allows more specific polling. With this a new sysfs attribute is introduced to specify the polling rate in nanoseconds. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ad211790c040fae3459e9c4c8cbd681ae126d2b8 Author: Peter Oberparleiter Date: Mon Jul 14 09:59:07 2008 +0200 [S390] sclp: simplify vt220 cleanup logic Fix a number of sclp_vt220 cleanup problems: * fix list_empty check after list_del() * mark init-only flag as __initdata * remove implicit dependency between slab_available() and num_pages * straighten multiple init handling (use init count) Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 773922e1dab93a62e60cfb34afadb0f66d5f12e9 Author: Heiko Carstens Date: Mon Jul 14 09:59:06 2008 +0200 [S390] idle: remove idle notifier chain. The idle notifier chain consists of at most one element. So there's no point in having a notifier chain. Remove it and directly call the function. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9d92a7e1b0d095c8be96ce5e592c6c5541684631 Author: Cornelia Huck Date: Mon Jul 14 09:59:05 2008 +0200 [S390] cio: Add chsc subchannel driver. This patch adds a driver for subchannels of type chsc. A device /dev/chsc is created which may be used to issue ioctls to: - obtain information about the machine's I/O configuration - dynamically change the machine's I/O configuration via asynchronous chsc commands Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 683c5418e6ac9f40f925dab6f547a5b0a4ad43c6 Author: Peter Oberparleiter Date: Mon Jul 14 09:59:04 2008 +0200 [S390] cio: suppress chpid event in case of configure error Do not send CHP_ONLINE/CHP_OFFLINE events to subchannel drivers when a channel-path configure request failed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f08adc008d84f6b03d377ede951e29ed169e76e2 Author: Cornelia Huck Date: Mon Jul 14 09:59:03 2008 +0200 [S390] css: Use css_device_id for bus matching. css_device_id exists, so use it for determining the right driver (and add a match_flags which is always 1 for valid types). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 99611f87176b2a908d8c66ab19a5fc550a3cd13a Author: Cornelia Huck Date: Mon Jul 14 09:59:02 2008 +0200 [S390] cio: Repair chpid event handling. Passing the affected chpid in chp_event() worked only by chance since chpid is the first element in res_acc_data. Make it work properly by generalizing res_acc_data as chp_link and always passing around a properly filled out chp_link structure in chp_event(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 6ef556ccc8fd256259745c4f0d0ab65aaf703824 Author: Cornelia Huck Date: Mon Jul 14 09:59:01 2008 +0200 [S390] cio: Use isc_{register,unregister}. Use the new isc registration functions for all places that need an I/O interruption subclass. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fcc6ab335ba4d0f2b2548a910466c0dac767e5b1 Author: Sebastian Ott Date: Mon Jul 14 09:59:00 2008 +0200 [S390] cio: introduce isc_(un)register functions. This interface makes it easy for drivers to register usage of different I/O interruption subclasses without needing to worry about possible other users of the same isc. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit da7c5af82879828409f6b81431ac2f9f353ab04e Author: Cornelia Huck Date: Mon Jul 14 09:58:59 2008 +0200 [S390] cio: Allow adapter interrupt handlers per isc. Enhance the adapter interruption API so that device drivers can register a handler for a specific interruption subclass. This will allow different device drivers to move to differently prioritized subclasses in order to avoid congestion. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 3a3fc29a6d0626fb4897b7391c4e956efbacd394 Author: Cornelia Huck Date: Mon Jul 14 09:58:58 2008 +0200 [S390] cio: Introduce abstract isc definitions. Replace the numeric values for I/O interruption subclass usage with abstract definitions and collect them all in asm/isc.h. This gives us a better overview of which iscs are actually used and makes it possible to better spread out isc usage in the future. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 75784c00876c88ca6e955c39cbb5d47cf408fd3c Author: Cornelia Huck Date: Mon Jul 14 09:58:57 2008 +0200 [S390] cio: Get rid of css_characteristics_avail. Checking for the validity of the css_*_characteristics is superfluous since they stay 0 for non-successful scsc. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d2fec595511b5718bdb65645b3d5d99800d97943 Author: Martin Schwidefsky Date: Mon Jul 14 09:58:56 2008 +0200 [S390] stp support. Add support for clock synchronization with the server time protocol. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 761cdf6aacdb76f819050f4938cdab1f4cdcb945 Author: Heiko Carstens Date: Mon Jul 14 09:58:55 2008 +0200 [S390] initrd vs bss section clearing. In case the initrd is located within the bss section it will be overwritten when the section is cleared. To prevent this just move the initrd right behind the bss section if it starts within the section. The current code already moves the initrd if the bootmem allocator bitmap would overwrite it. With this patch we should be safe against initrd corruptions. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 63506c41986c4af9d4fd6f3490e98e335f3dc8f5 Author: Martin Schwidefsky Date: Mon Jul 14 09:58:54 2008 +0200 [S390] Introduce user_regset accessors for s390 Add the user_regset definitions for normal and compat processes, replace the dump_regs core dump cruft with the generic CORE_DUMP_USER_REGSET and replace binfmt_elf32.c with the generic compat_binfmt_elf.c implementation. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ae437a452ed20f9d13c1f17b0356201d54394efa Author: Sebastian Ott Date: Mon Jul 14 09:58:53 2008 +0200 [S390] cio: remove lock from ccw_device_oper_notify. Remove unnecessary ccw device locking inside ccw_device_oper_notify. Signed-off-by: Sebastian Ott Acked-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23f626894765d4c03b72a0d21e44bc46f5ccd12b Author: Peter Oberparleiter Date: Mon Jul 14 09:58:52 2008 +0200 [S390] cio: provide helper functions for fcx enabled I/O Provide functions which can be used to incrementally construct fcx enabled I/O control blocks. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 83262d6349e60b9d10798d489719d80029c00798 Author: Peter Oberparleiter Date: Mon Jul 14 09:58:51 2008 +0200 [S390] cio: provide functions for fcx enabled I/O Provide functions for assembling and starting fcx enabled I/O request blocks. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 23d805b647db6c2063a13089497615efa9deacdd Author: Peter Oberparleiter Date: Mon Jul 14 09:58:50 2008 +0200 [S390] cio: introduce fcx enabled scsw format Extend the scsw data structure to the format required by fcx. Also provide helper functions for easier access to fields which are present in both the traditional as well as the modified format. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 4f2bd92e3b4f3b6405c5aadae3ad64acd94cdb78 Author: Peter Oberparleiter Date: Mon Jul 14 09:58:49 2008 +0200 [S390] cio: introduce fcx bit to chsc characteristics Introduce fcx bit to chsc characteristics. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b3a686f47a3615fcfec0a01c4103c50bb9621369 Author: Cornelia Huck Date: Mon Jul 14 09:58:48 2008 +0200 [S390] cio: Base message subchannel handling. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 44a1c19e3b47a7ac596808177ccd250b95f5e688 Author: Cornelia Huck Date: Mon Jul 14 09:58:47 2008 +0200 [S390] cio: Export some symbols for modular css drivers. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c11561897ab57a3c11e0a284ba17795d580589ab Author: Cornelia Huck Date: Mon Jul 14 09:58:46 2008 +0200 [S390] cio: Cleanup crw interface. Eliminate the need for the machine check handler to call into the common I/O layer directly by introducing an interface to register handlers for crws per rsc. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c820de39bd083222f5be2563181c87493e436f7c Author: Cornelia Huck Date: Mon Jul 14 09:58:45 2008 +0200 [S390] cio: Rework css driver. Rework the css driver methods to provide sane callbacks for subchannels of all types. As a bonus, this cleans up and simplyfies the machine check handling for I/O subchannels a lot. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7e9db9eaefdb8798730790214ff1b7746006ec98 Author: Cornelia Huck Date: Mon Jul 14 09:58:44 2008 +0200 [S390] cio: Introduce modalias for css bus. Add modalias and subchannel type attributes for all subchannels. I/O subchannel specific attributes are now created in io_subchannel_probe(). modalias and subchannel type are also added to the uevent for the css bus. Also make the css modalias known. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0ae7a7b250bdf7ee87c8346164ef3c47fb79dfbd Author: Cornelia Huck Date: Mon Jul 14 09:58:43 2008 +0200 [S390] cio: Register all subchannels. Register all valid subchannels, not only I/O subchannels. Move I/O subchannel specific initialization to io_subchannel_probe(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b4a33acb690525c5ca37e177f5cd26c62d3ef976 Author: Heiko Carstens Date: Mon Jul 14 09:57:29 2008 +0200 [S390] Remove ipldelay kernel parameter. Using the ipldelay kernel parameter leads to a crash at IPL time. Since this is broken since a long time it looks like nobody is using it anymore. So remove it instead of fixing it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b9732ca1cb2c18129d2f984b8de02db141b7b830 Author: Heiko Carstens Date: Mon Jul 14 09:57:28 2008 +0200 [S390] sclp: fix possible deadlock on cpu rescan. smp_rescan_cpus() calls get_online_cpus() from a multithreaded workqueue context. This may deadlock. This is the same bug as in arch/s390/kernel/topology.c. This patch can be reverted as soon as Oleg's patch gets merged. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0c3252d58c54c87ee0f8f40d840e0146a3b1d5fd Author: Gerald Schaefer Date: Mon Jul 14 09:57:27 2008 +0200 [S390] make appldata compile w/o CONFIG_SWAP Avoid compile error by using EXPORT_SYMBOL_GPL(si_swapinfo) only if CONFIG_SWAP is set. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 887d935a84df41f154508821c6b7d96de7dc2c41 Author: Heiko Carstens Date: Mon Jul 14 09:57:26 2008 +0200 [S390] sclp: keep facility mask up to date. In case the supported sclp facilities change the new mask should be saved. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bb0ca330a7e273cdecebae0283c9d267f60fe363 Author: Ursula Braun Date: Mon Jul 14 09:57:25 2008 +0200 [S390] qdio: Repair timeout handling for qdio_shutdown If qdio shutdown runs in parallel with a channel error, the qdio_timeout_handler might not be triggered. In this case neither state INACTIVE nor state ERR is reached and the following wait_event hangs forever. Solution: do not make use of ccw_device_set_timeout(), but add a timeout to the following wait_event. And make sure, wake_up is called in case of an i/o error on the qdio-device. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b1c02d9110e72ec510ec9b038f9564e3c0d87384 Author: Michael Ernst Date: Mon Jul 14 09:57:24 2008 +0200 [S390] cio: Use locks when accessing /sys/firmware/cpi data. Mutex locks are used to avoid problems when /sys/firmware/cpi data are accessed to in parallel. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9689b336e193680fc0fcaa33829dc670637e9c98 Author: Cornelia Huck Date: Mon Jul 14 09:57:23 2008 +0200 [S390] cio: Clear correct bit in cio_release_console(). Fallout from the console isc 7 -> 1 change. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 727c6742c29e46177951fdc8f6758085e03bb981 Author: Larry Finger Date: Sun Jul 13 12:46:36 2008 -0500 pcmcia: Fix ide-cs sparse warning Sparse shows the following warning: CHECK drivers/ide/legacy/ide-cs.c drivers/ide/legacy/ide-cs.c:378:6: warning: symbol 'ide_release' was not declared. Should it be static? Signed-off-by: Larry Finger CC: Bartlomiej Zolnierkiewicz Signed-off-by: Dominik Brodowski commit fe0a3fe324811385b64790d42079bf534798a0cd Author: Jaroslav Kysela Date: Mon Jul 14 09:54:43 2008 +0200 ALSA: Release v1.0.17 Signed-off-by: Jaroslav Kysela commit 2387ce57a8167490d3b34a7e1ffa9a64a1a76244 Author: Yinghai Lu Date: Sun Jul 13 14:50:56 2008 -0700 x86: make 64bit hpet_set_mapping to use ioremap too, v2 keep the one for VSYSCALL_HPET Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 87a1c441e1aeaf00f97e63dfc310ea7684ec9dda Author: Yinghai Lu Date: Sun Jul 13 14:30:35 2008 -0700 x86: get x86_phys_bits early when try to make hpet_enable use io_remap instead fixmap got ioremap: invalid physical address fed00000 ------------[ cut here ]------------ WARNING: at arch/x86/mm/ioremap.c:161 __ioremap_caller+0x8c/0x2f3() Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.26-rc9-tip-01873-ga9827e7-dirty #358 Call Trace: [] warn_on_slowpath+0x6c/0xa7 [] ? __slab_alloc+0x20a/0x3fb [] ? mpol_new+0x88/0x17d [] ? mcount_call+0x5/0x31 [] ? mcount_call+0x5/0x31 [] __ioremap_caller+0x8c/0x2f3 [] ? hpet_enable+0x39/0x241 [] ? mcount_call+0x5/0x31 [] ioremap_nocache+0x2a/0x40 [] hpet_enable+0x39/0x241 [] hpet_time_init+0x21/0x4e [] start_kernel+0x302/0x395 [] x86_64_start_reservations+0xb9/0xd4 [] ? x86_64_init_pda+0x39/0x4f [] x86_64_start_kernel+0xec/0x107 ---[ end trace a7919e7f17c0a725 ]--- it seems for amd system that is set later... try to move setting early in early_identify_cpu. and remove same code for intel and centaur. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 32b23e9a7331fce57eb0af52e19e8409fdef831b Author: Yinghai Lu Date: Sun Jul 13 14:29:41 2008 -0700 x86: max_low_pfn_mapped fix #4 only add direct mapping for aperture Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 80ca9a706b458d09b8cc8d5258bb61957f66ca5e Author: Milton Miller Date: Sun Jul 13 13:58:12 2008 +0200 ALSA: correct kcalloc usage kcalloc is supposed to be called with the count as its first argument and the element size as the second. Both arguments are size_t so does not affect correctness. This callsite is during module_init and therefore not performance critical. Another patch will optimize the case when the count is variable but the size is fixed. Signed-off-by: Milton Miller Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 862c2c0a61c515f2e9f63f689215bcf99a607eaf Author: Thomas Bogendoerfer Date: Sat Jul 12 22:43:50 2008 +0200 ALSA: ALSA driver for SGI O2 audio board This patch adds a new ALSA driver for the audio device found inside most of the SGI O2 workstation. The hardware uses a SGI custom chip, which feeds a AD codec chip. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1e066322c26562621811effb1eb14097bc67a9ee Author: Liam Girdwood Date: Fri Jul 11 14:05:17 2008 +0100 ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform. We don't want to see ASoC platform menus for other non selected architectures in our config. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 787dba37a6ff5c80c67f37c081712a6e4af92e25 Author: Thomas Bogendoerfer Date: Sat Jul 12 12:12:20 2008 +0200 ALSA: ALSA driver for SGI HAL2 audio device This patch adds a new ALSA driver for the audio device found inside many older SGI workstation (Indy, Indigo2). The hardware uses a SGI custom chip, which feeds two codec chips, an IEC chip and a synth chip. Currently only one of the codecs is supported. This driver already has the same functionality as the HAL2 OSS driver and will replace it. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e4641541e9681a568483133813332cfafa34d86 Author: Takashi Iwai Date: Sat Jul 12 12:05:25 2008 +0200 ALSA: hda - Fix FSC V5505 model model=laptop-hpmicsense matches better to FSC V5505 laptop. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 86376df6ad0f1a7a1118cd53b0cfd679524f5436 Author: Takashi Iwai Date: Sat Jul 12 12:04:05 2008 +0200 ALSA: hda - Fix missing init for unsol events on micsense model Fixed the missing initialization for unsolicited events on Cx5045 micsense model. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4090dffb1438e03a434e3747b14321440561d956 Author: Takashi Iwai Date: Sat Jul 12 12:02:45 2008 +0200 ALSA: hda - Fix internal mic vref pin setup Set the vref80 to the internal mic pin 0x12 for Cx5045. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f7c5dda23a9f4b7f8977612154daef44cc0f423b Author: Matthew Ranostay Date: Thu Jul 10 17:49:11 2008 +0200 ALSA: hda: 92hd71bxx PC Beep Added volume controls for the analog PC Beep on 92hd71bxx codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6f0f0fd496333777d53daff21a4e3b28c4d03a6d Author: James Morris Date: Thu Jul 10 17:02:07 2008 +0900 security: remove register_security hook The register security hook is no longer required, as the capability module is always registered. LSMs wishing to stack capability as a secondary module should do so explicitly. Signed-off-by: James Morris Acked-by: Stephen Smalley Acked-by: Greg Kroah-Hartman commit 93cbace7a058bce7f99319ef6ceff4b78cf45051 Author: Miklos Szeredi Date: Thu Jul 10 11:10:09 2008 +0200 security: remove dummy module fix Fix small oversight in "security: remove dummy module": CONFIG_SECURITY_FILE_CAPABILITIES doesn't depend on CONFIG_SECURITY Signed-off-by: Miklos Szeredi Signed-off-by: James Morris commit 5915eb53861c5776cfec33ca4fcc1fd20d66dd27 Author: Miklos Szeredi Date: Thu Jul 3 20:56:05 2008 +0200 security: remove dummy module Remove the dummy module and make the "capability" module the default. Compile and boot tested. Signed-off-by: Miklos Szeredi Acked-by: Serge Hallyn Signed-off-by: James Morris commit b478a9f9889c81e88077d1495daadee64c0af541 Author: Miklos Szeredi Date: Thu Jul 3 20:56:04 2008 +0200 security: remove unused sb_get_mnt_opts hook The sb_get_mnt_opts() hook is unused, and is superseded by the sb_show_options() hook. Signed-off-by: Miklos Szeredi Acked-by: James Morris commit 2069f457848f846cb31149c9aa29b330a6b66d1b Author: Eric Paris Date: Fri Jul 4 09:47:13 2008 +1000 LSM/SELinux: show LSM mount options in /proc/mounts This patch causes SELinux mount options to show up in /proc/mounts. As with other code in the area seq_put errors are ignored. Other LSM's will not have their mount options displayed until they fill in their own security_sb_show_options() function. Signed-off-by: Eric Paris Signed-off-by: Miklos Szeredi Signed-off-by: James Morris commit 811f3799279e567aa354c649ce22688d949ac7a9 Author: Eric Paris Date: Wed Jun 18 09:50:04 2008 -0400 SELinux: allow fstype unknown to policy to use xattrs if present Currently if a FS is mounted for which SELinux policy does not define an fs_use_* that FS will either be genfs labeled or not labeled at all. This decision is based on the existence of a genfscon rule in policy and is irrespective of the capabilities of the filesystem itself. This patch allows the kernel to check if the filesystem supports security xattrs and if so will use those if there is no fs_use_* rule in policy. An fstype with a no fs_use_* rule but with a genfs rule will use xattrs if available and will follow the genfs rule. This can be particularly interesting for things like ecryptfs which actually overlays a real underlying FS. If we define excryptfs in policy to use xattrs we will likely get this wrong at times, so with this path we just don't need to define it! Overlay ecryptfs on top of NFS with no xattr support: SELinux: initialized (dev ecryptfs, type ecryptfs), uses genfs_contexts Overlay ecryptfs on top of ext4 with xattr support: SELinux: initialized (dev ecryptfs, type ecryptfs), uses xattr It is also useful as the kernel adds new FS we don't need to add them in policy if they support xattrs and that is how we want to handle them. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 65fc7668006b537f7ae8451990c0ed9ec882544e Author: James Morris Date: Thu Jun 12 01:00:10 2008 +1000 security: fix return of void-valued expressions Fix several warnings generated by sparse of the form "returning void-valued expression". Signed-off-by: James Morris Acked-by: Casey Schaufler Acked-by: Serge Hallyn commit 2baf06df85b27c1d64867883a0692519594f1ef2 Author: James Morris Date: Thu Jun 12 01:42:35 2008 +1000 SELinux: use do_each_thread as a proper do/while block Use do_each_thread as a proper do/while block. Sparse complained. Signed-off-by: James Morris Acked-by: Stephen Smalley commit e399f98224a03d2e85fb45eacba367c47173f6f9 Author: James Morris Date: Thu Jun 12 01:39:58 2008 +1000 SELinux: remove unused and shadowed addrlen variable Remove unused and shadowed addrlen variable. Picked up by sparse. Signed-off-by: James Morris Acked-by: Stephen Smalley Acked-by: Paul Moore commit 6cbe27061a69ab89d25dbe42d1a4f33a8425fe88 Author: Eric Paris Date: Mon Jun 9 16:51:37 2008 -0400 SELinux: more user friendly unknown handling printk I've gotten complaints and reports about people not understanding the meaning of the current unknown class/perm handling the kernel emits on every policy load. Hopefully this will make make it clear to everyone the meaning of the message and won't waste a printk the user won't care about anyway on systems where the kernel and the policy agree on everything. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 22df4adb049a5cbb340dd935f5bbfa1ab3947562 Author: Stephen Smalley Date: Mon Jun 9 16:03:56 2008 -0400 selinux: change handling of invalid classes (Was: Re: 2.6.26-rc5-mm1 selinux whine) On Mon, 2008-06-09 at 01:24 -0700, Andrew Morton wrote: > Getting a few of these with FC5: > > SELinux: context_struct_compute_av: unrecognized class 69 > SELinux: context_struct_compute_av: unrecognized class 69 > > one came out when I logged in. > > No other symptoms, yet. Change handling of invalid classes by SELinux, reporting class values unknown to the kernel as errors (w/ ratelimit applied) and handling class values unknown to policy as normal denials. Signed-off-by: Stephen Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit 89abd0acf0335f3f760a3c0698d43bb1eaa83e44 Author: Eric Paris Date: Mon Jun 9 15:58:04 2008 -0400 SELinux: drop load_mutex in security_load_policy We used to protect against races of policy load in security_load_policy by using the load_mutex. Since then we have added a new mutex, sel_mutex, in sel_write_load() which is always held across all calls to security_load_policy we are covered and can safely just drop this one. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit cea78dc4ca044e9666e8f5d797ec50ab85253e49 Author: Eric Paris Date: Mon Jun 9 15:43:12 2008 -0400 SELinux: fix off by 1 reference of class_to_string in context_struct_compute_av The class_to_string array is referenced by tclass. My code mistakenly was using tclass - 1. If the proceeding class is a userspace class rather than kernel class this may cause a denial/EINVAL even if unknown handling is set to allow. The bug shouldn't be allowing excess privileges since those are given based on the contents of another array which should be correctly referenced. At this point in time its pretty unlikely this is going to cause problems. The most recently added kernel classes which could be affected are association, dccp_socket, and peer. Its pretty unlikely any policy with handle_unknown=allow doesn't have association and dccp_socket undefined (they've been around longer than unknown handling) and peer is conditionalized on a policy cap which should only be defined if that class exists in policy. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit bdd581c1439339f1d3e8446b83e0f1beaef294e9 Author: James Morris Date: Fri Jun 6 18:50:12 2008 +1000 SELinux: open code sidtab lock Open code sidtab lock to make Andrew Morton happy. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 972ccac2b237967ed7e56a50eb181b5a0a484b79 Author: James Morris Date: Fri Jun 6 18:43:26 2008 +1000 SELinux: open code load_mutex Open code load_mutex as suggested by Andrew Morton. Signed-off-by: James Morris commit 0804d1133c02cbdfba0055de774f2c21a8b777dc Author: James Morris Date: Fri Jun 6 18:40:29 2008 +1000 SELinux: open code policy_rwlock Open code policy_rwlock, as suggested by Andrew Morton. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 59dbd1ba9847837aa7095f3e4a29599dae412ac4 Author: Stephen Smalley Date: Thu Jun 5 09:48:51 2008 -0400 selinux: fix endianness bug in network node address handling Fix an endianness bug in the handling of network node addresses by SELinux. This yields no change on little endian hardware but fixes the incorrect handling on big endian hardware. The network node addresses are stored in network order in memory by checkpolicy, not in cpu/host order, and thus should not have cpu_to_le32/le32_to_cpu conversions applied upon policy write/read unlike other data in the policy. Bug reported by John Weeks of Sun, who noticed that binary policy files built from the same policy source on x86 and sparc differed and tracked it down to the ipv4 address handling in checkpolicy. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 242631c49d4cf39642741d6627750151b058233b Author: Stephen Smalley Date: Thu Jun 5 09:21:28 2008 -0400 selinux: simplify ioctl checking Simplify and improve the robustness of the SELinux ioctl checking by using the "access mode" bits of the ioctl command to determine the permission check rather than dealing with individual command values. This removes any knowledge of specific ioctl commands from SELinux and follows the same guidance we gave to Smack earlier. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit abc69bb633931bf54c6db798bcdc6fd1e0284742 Author: Stephen Smalley Date: Wed May 21 14:16:12 2008 -0400 SELinux: enable processes with mac_admin to get the raw inode contexts Enable processes with CAP_MAC_ADMIN + mac_admin permission in policy to get undefined contexts on inodes. This extends the support for deferred mapping of security contexts in order to permit restorecon and similar programs to see the raw file contexts unknown to the system policy in order to check them. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 006ebb40d3d65338bd74abb03b945f8d60e362bd Author: Stephen Smalley Date: Mon May 19 08:32:49 2008 -0400 Security: split proc ptrace checking into read vs. attach Enable security modules to distinguish reading of process state via proc from full ptrace access by renaming ptrace_may_attach to ptrace_may_access and adding a mode argument indicating whether only read access or full attach access is requested. This allows security modules to permit access to reading process state without granting full ptrace access. The base DAC/capability checking remains unchanged. Read access to /proc/pid/mem continues to apply a full ptrace attach check since check_mem_permission() already requires the current task to already be ptracing the target. The other ptrace checks within proc for elements like environ, maps, and fds are changed to pass the read mode instead of attach. In the SELinux case, we model such reading of process state as a reading of a proc file labeled with the target process' label. This enables SELinux policy to permit such reading of process state without permitting control or manipulation of the target process, as there are a number of cases where programs probe for such information via proc but do not need to be able to control the target (e.g. procps, lsof, PolicyKit, ConsoleKit). At present we have to choose between allowing full ptrace in policy (more permissive than required/desired) or breaking functionality (or in some cases just silencing the denials via dontaudit rules but this can hide genuine attacks). This version of the patch incorporates comments from Casey Schaufler (change/replace existing ptrace_may_attach interface, pass access mode), and Chris Wright (provide greater consistency in the checking). Note that like their predecessors __ptrace_may_attach and ptrace_may_attach, the __ptrace_may_access and ptrace_may_access interfaces use different return value conventions from each other (0 or -errno vs. 1 or 0). I retained this difference to avoid any changes to the caller logic but made the difference clearer by changing the latter interface to return a bool rather than an int and by adding a comment about it to ptrace.h for any future callers. Signed-off-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: James Morris commit feb2a5b82d87fbdc01c00b7e9413e4b5f4c1f0c1 Author: James Morris Date: Tue May 20 09:42:33 2008 +1000 SELinux: remove inherit field from inode_security_struct Remove inherit field from inode_security_struct, per Stephen Smalley: "Let's just drop inherit altogether - dead field." Signed-off-by: James Morris commit fdeb05184b8b2500e120647778d63fddba76dc59 Author: Richard Kennedy Date: Sun May 18 12:32:57 2008 +0100 SELinux: reorder inode_security_struct to increase objs/slab on 64bit reorder inode_security_struct to remove padding on 64 bit builds size reduced from 72 to 64 bytes increasing objects per slab to 64. Signed-off-by: Richard Kennedy Signed-off-by: James Morris commit f5269710789f666a65cf1132c4f1d14fbc8d3c29 Author: Eric Paris Date: Wed May 14 11:27:45 2008 -0400 SELinux: keep the code clean formating and syntax Formatting and syntax changes whitespace, tabs to spaces, trailing space put open { on same line as struct def remove unneeded {} after if statements change printk("Lu") to printk("llu") convert asm/uaccess.h to linux/uaacess.h includes remove unnecessary asm/bug.h includes convert all users of simple_strtol to strict_strtol Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9a59daa03df72526d234b91dd3e32ded5aebd3ef Author: Stephen Smalley Date: Wed May 14 10:33:55 2008 -0400 SELinux: fix sleeping allocation in security_context_to_sid Fix a sleeping function called from invalid context bug by moving allocation to the callers prior to taking the policy rdlock. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 12b29f34558b9b45a2c6eabd4f3c6be939a3980f Author: Stephen Smalley Date: Wed May 7 13:03:20 2008 -0400 selinux: support deferred mapping of contexts Introduce SELinux support for deferred mapping of security contexts in the SID table upon policy reload, and use this support for inode security contexts when the context is not yet valid under the current policy. Only processes with CAP_MAC_ADMIN + mac_admin permission in policy can set undefined security contexts on inodes. Inodes with such undefined contexts are treated as having the unlabeled context until the context becomes valid upon a policy reload that defines the context. Context invalidation upon policy reload also uses this support to save the context information in the SID table and later recover it upon a subsequent policy reload that defines the context again. This support is to enable package managers and similar programs to set down file contexts unknown to the system policy at the time the file is created in order to better support placing loadable policy modules in packages and to support build systems that need to create images of different distro releases with different policies w/o requiring all of the contexts to be defined or legal in the build host policy. With this patch applied, the following sequence is possible, although in practice it is recommended that this permission only be allowed to specific program domains such as the package manager. # rmdir baz # rm bar # touch bar # chcon -t foo_exec_t bar # foo_exec_t is not yet defined chcon: failed to change context of `bar' to `system_u:object_r:foo_exec_t': Invalid argument # mkdir -Z system_u:object_r:foo_exec_t baz mkdir: failed to set default file creation context to `system_u:object_r:foo_exec_t': Invalid argument # cat setundefined.te policy_module(setundefined, 1.0) require { type unconfined_t; type unlabeled_t; } files_type(unlabeled_t) allow unconfined_t self:capability2 mac_admin; # make -f /usr/share/selinux/devel/Makefile setundefined.pp # semodule -i setundefined.pp # chcon -t foo_exec_t bar # foo_exec_t is not yet defined # mkdir -Z system_u:object_r:foo_exec_t baz # ls -Zd bar baz -rw-r--r-- root root system_u:object_r:unlabeled_t bar drwxr-xr-x root root system_u:object_r:unlabeled_t baz # cat foo.te policy_module(foo, 1.0) type foo_exec_t; files_type(foo_exec_t) # make -f /usr/share/selinux/devel/Makefile foo.pp # semodule -i foo.pp # defines foo_exec_t # ls -Zd bar baz -rw-r--r-- root root user_u:object_r:foo_exec_t bar drwxr-xr-x root root system_u:object_r:foo_exec_t baz # semodule -r foo # ls -Zd bar baz -rw-r--r-- root root system_u:object_r:unlabeled_t bar drwxr-xr-x root root system_u:object_r:unlabeled_t baz # semodule -i foo.pp # ls -Zd bar baz -rw-r--r-- root root user_u:object_r:foo_exec_t bar drwxr-xr-x root root system_u:object_r:foo_exec_t baz # semodule -r setundefined foo # chcon -t foo_exec_t bar # no longer defined and not allowed chcon: failed to change context of `bar' to `system_u:object_r:foo_exec_t': Invalid argument # rmdir baz # mkdir -Z system_u:object_r:foo_exec_t baz mkdir: failed to set default file creation context to `system_u:object_r:foo_exec_t': Invalid argument Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 11c2d8174ed3dc4f1971564732689b4a39129702 Merge: cde274c... bce7f79... Author: Benjamin Herrenschmidt Date: Mon Jul 14 14:29:49 2008 +1000 Merge commit 'origin/HEAD' into test-merge Manual fixup of include/asm-powerpc/pgtable-ppc64.h commit c0e09200dc0813972442e550a5905a132768e56c Author: Dave Airlie Date: Thu May 29 10:09:59 2008 +1000 drm: reorganise drm tree to be more future proof. With the coming of kernel based modesetting and the memory manager stuff, the everything in one directory approach was getting very ugly and starting to be unmanageable. This restructures the drm along the lines of other kernel components. It creates a drivers/gpu/drm directory and moves the hw drivers into subdirectores. It moves the includes into an include/drm, and sets up the unifdef for the userspace headers we should be exporting. Signed-off-by: Dave Airlie commit afc1246f917c664b0df98b3c22fa62db74d2ca33 Author: Richard Kennedy Date: Fri Jul 11 17:20:49 2008 -0700 file lock: reorder struct file_lock to save space on 64 bit builds Reduce sizeof struct file_lock by 8 on 64 bit builds allowing +1 objects per slab in the file_lock_cache Signed-off-by: Richard Kennedy Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit 199a952876adbfc2b6c13b8b07adabebf4ff54b2 Author: Lai Jiangshan Date: Thu Jun 26 10:06:43 2008 +0800 rcu classic: update qlen when cpu offline When callbacks are moved from offline cpu to this cpu, the qlen field of this rdp should be updated. [ Paul E. McKenney: ] The effect of this bug would be for force_quiescent_state() to be invoked when it should not and vice versa -- wasting cycles in the first case and letting RCU callbacks remain piled up in the second case. The bug is thus "benign" in that it does not result in premature grace-period termination, but should of course be fixed nonetheless. Preemption is disabled by the caller's get_cpu_var(), so we are guaranteed to remain on the same CPU, as required. The local_irq_disable() is indeed needed, otherwise, an interrupt might invoke call_rcu() or call_rcu_bh(), which could cause that interrupt's increment of ->qlen to be lost. Signed-off-by: Lai Jiangshan Cc: Andrew Morton Reviewed-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 11369f356b66d363a615fde2c5526962f7683674 Author: Mike Travis Date: Tue Jul 8 14:35:21 2008 -0700 x86: change _node_to_cpumask_ptr to return const ptr * Strengthen the return type for the _node_to_cpumask_ptr to be a const pointer. This adds compiler checking to insure that node_to_cpumask_map[] is not changed inadvertently. Signed-off-by: Mike Travis Cc: "akpm@linux-foundation.org" Cc: Yinghai Lu Acked-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 090657e423f45a77151943f50165ae9565bfbf33 Author: Imre Kaloz Date: Sun Jul 13 20:12:11 2008 +0800 crypto: ixp4xx - Select CRYPTO_AUTHENC Without CRYPTO_AUTHENC the driver fails to build: drivers/built-in.o: In function `ixp_module_init': ixp4xx_crypto.c:(.init.text+0x3250): undefined reference to `crypto_aead_type' Signed-off-by: Imre Kaloz Signed-off-by: Herbert Xu commit 044e5f45e4ad890d03bd1e8bb44c634397cac24d Merge: f000631... faf64ed... Author: Russell King Date: Sun Jul 13 12:05:49 2008 +0100 Merge branch 'pxa' into devel Conflicts: arch/arm/configs/em_x270_defconfig arch/arm/configs/xm_x270_defconfig commit faf64ed4968e354624f330c6da6c1ce8b05a0713 Author: Eric Miao Date: Fri Jul 11 14:02:20 2008 +0800 [ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR) Signed-off-by: Eric Miao Signed-off-by: Russell King commit bae033111cda415365ad40e9befb4b332d501c52 Author: Eric Miao Date: Fri Jul 11 12:59:38 2008 +0800 [ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB) Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5d31e43589589e63f5b96abc62372d2ef331c14a Author: Eric Miao Date: Fri Jul 11 12:45:39 2008 +0800 [ARM] pxa: add base support for PXA930 (aka Tavor-P) Signed-off-by: Eric Miao Signed-off-by: Russell King commit 9d9f6d27333b97d590b5409017d105205f79a28e Author: Russell King Date: Sun Jul 13 12:04:48 2008 +0100 [ARM] Update mach-types This update is required for Tavor and SAAR Signed-off-by: Russell King commit 2eeea7ba6b4b65ed27b7646a1bdea3b45973c861 Author: Gerrit Renker Date: Sun Jul 13 11:51:40 2008 +0100 dccp ccid-3: Length of loss intervals This corrects an error in the computation of the open loss interval I_0: * the interval length is (highest_seqno - start_seqno) + 1 * and not (highest_seqno - start_seqno). This condition was not fully clear in RFC 3448, but reflects the current revision state of rfc3448bis and is also consistent with RFC 4340, 6.1.1. Further changes: ---------------- * variable renamed due to line length constraints; * explicit typecast to `s64' to avoid implicit signed/unsigned casting. Signed-off-by: Gerrit Renker commit b552c6231f19d50165bbf59e8b34d3f713ab5c01 Author: Gerrit Renker Date: Sun Jul 13 11:51:40 2008 +0100 dccp ccid-3: Fix a loss detection bug This fixes a bug in the logic of the TFRC loss detection: * new_loss_indicated() should not be called while a loss is pending; * but the code allows this; * thus, for two subsequent gaps in the sequence space, when loss_count has not yet reached NDUPACK=3, the loss_count is falsely reduced to 1. To avoid further and similar problems, all loss handling and loss detection is now done inside tfrc_rx_hist_handle_loss(), using an appropriate routine to track new losses. Further changes: ---------------- * added a reminder that no RX history operations should be performed when rx_handle_loss() has identified a (new) loss, since the function takes care of packet reordering during loss detection; * made tfrc_rx_hist_loss_pending() bool (thanks to an earlier suggestion by Arnaldo); * removed unused functions. Signed-off-by: Gerrit Renker commit 5b5d0e704880addfd979c262e6441f126708539c Author: Gerrit Renker Date: Sun Jul 13 11:51:40 2008 +0100 dccp: Upgrade NDP count from 3 to 6 bytes RFC 4340, 7.7 specifies up to 6 bytes for the NDP Count option, whereas the code is currently limited to up to 3 bytes. This seems to be a relict of an earlier draft version and is brought up to date by the patch. Signed-off-by: Gerrit Renker commit 2013c7e35aeba39777f9b3eef8a70207b3931152 Author: Gerrit Renker Date: Sun Jul 13 11:51:40 2008 +0100 dccp ccid-3: Fix error in loss detection The TFRC loss detection code used the wrong loss condition (RFC 4340, 7.7.1): * the difference between sequence numbers s1 and s2 instead of * the number of packets missing between s1 and s2 (one less than the distance). Since this condition appears in many places of the code, it has been put into a separate function, dccp_loss_free(). Further changes: ---------------- * tidied up incorrect typing (it was using `int' for u64/s64 types); * optimised conditional statements for common case of non-reordered packets; * rewrote comments/documentation to match the changes. Signed-off-by: Gerrit Renker commit 815224293e5aa4c7dc1638807889e345f385b38d Author: Larry Finger Date: Fri Jul 11 21:48:54 2008 -0500 pcmcia: ide-cs debugging bugfix The code in module ide-cs does not conform to the current standard if setting CONFIG_PCMCIA_DEBUG to "y", and loading the module with the option "pc_debug=N". When that is fixed, then a warning results that version is defined but not used. This patch fixes both situations. Signed-off-by: Larry Finger CC: Bartlomiej Zolnierkiewicz Signed-off-by: Dominik Brodowski commit ce8b06b985ae48f9425de6e4641e77cb3613ef00 Author: Maciej W. Rozycki Date: Sun Jul 13 03:29:42 2008 +0100 x86: I/O APIC: remove an IRQ2-mask hack Now that IRQ2 is never made available to the I/O APIC, there is no need to special-case it and mask as a workaround for broken systems. Actually, because of the former, mask_IO_APIC_irq(2) is a no-op already. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit 54ef76f37bcccf8c16fbaaed13c3c40825195958 Merge: 032f827... 9df2fe9... Author: Ingo Molnar Date: Sun Jul 13 08:50:13 2008 +0200 Merge branch 'linus' into sched/devel commit 3d88cca7085cffce077f808f36551e9050eb9e3a Author: Yinghai Lu Date: Sat Jul 12 22:52:55 2008 -0700 x86: fix numaq_tsc_disable calling got this on a test-system: calling numaq_tsc_disable+0x0/0x39 NUMAQ: disabling TSC initcall numaq_tsc_disable+0x0/0x39 returned 0 after 0 msecs that's because we should not be using arch_initcall to call numaq_tsc_disable. need to call it in setup_arch before time_init()/tsc_init() and call it in init_intel() to make the cpu feature bits right. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7b479becdb8c1fb4ff6fbb2a4076c471c737b54c Author: Yinghai Lu Date: Sat Jul 12 22:57:07 2008 -0700 x86, e820: remove end_user_pfn end_user_pfn used to modify the meaning of the e820 maps. Now that all e820 operations are cleaned up, unified, tightened up, the e820 map always get updated to reality, we don't need to keep this secondary mechanism anymore. If you hit this commit in bisection it means something slipped through. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9958e810f8ac92f8a447035ee6555420ba27b847 Author: Yinghai Lu Date: Sat Jul 12 14:32:45 2008 -0700 x86: max_low_pfn_mapped fix, #3 optimization: try to merge the range with same page size in init_memory_mapping, to get the best possible linear mappings set up. thus when GBpages is not there, we could do 2M pages. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 965194c15dc9e4f3bc44432b39c441c86af7f11d Author: Yinghai Lu Date: Sat Jul 12 14:31:28 2008 -0700 x86: max_low_pfn_mapped fix, #2 tighten the boundary checks around max_low_pfn_mapped - dont overmap nor undermap into holes. also print out tseg for AMD cpus, for diagnostic purposes. (this is an SMM area, and we split up any big mappings around that area) Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 7ab073b6e0cde1544f4e79fadb75532528af7595 Author: Yinghai Lu Date: Sat Jul 12 14:30:35 2008 -0700 x86: max_low_pfn_mapped fix, #1 fix crash on Ingo's big box: calling pci_iommu_init+0x0/0x17 PCI-DMA: Disabling AGP. PCI-DMA: aperture base @ d0000000 size 65536 KB PCI-DMA: using GART IOMMU. PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture BUG: unable to handle kernel paging request at ffff88000003be88 IP: [] __alloc_pages_internal+0xc3/0x3f2 PGD 202063 PUD 206063 PMD 22fc00163 PTE 3b162 Oops: 0000 [1] SMP and e820 is: BIOS-e820: 0000000000000000 - 000000000009ac00 (usable) BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000ca000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000007ff70000 (usable) BIOS-e820: 000000007ff70000 - 000000007ff86000 (ACPI data) BIOS-e820: 000000007ff86000 - 0000000080000000 (ACPI NVS) BIOS-e820: 0000000080000000 - 00000000cfe00000 (usable) BIOS-e820: 00000000cfe00000 - 00000000d0000000 (reserved) BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000000830000000 (usable) system has 32 GB RAM installed. max_low_pfn_mapped is 0xcfe00, and GART aperture is not mapped. So try to use init_memory_mapping to map that area, because the iommu thinks that area is ram ... Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit e1719da689378de5c252ea0f51f5f76cc75fd629 Author: Eric Miao Date: Tue Jun 24 16:49:41 2008 +0800 [ARM] pxa: make littleton to use the new smc91x platform data Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit 88c36eb73e1e71ea3ca16896d6478a65d230b44a Author: Eric Miao Date: Tue Jun 24 16:47:37 2008 +0800 [ARM] pxa: make zylonite to use the new smc91x platform data Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit 38fd6c3846a5657ef6950e3c1582a866cf42888f Author: Eric Miao Date: Tue Jun 24 16:14:26 2008 +0800 [ARM] pxa: make mainstone to use the new smc91x platform data Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit 3aed74cdea09831db04bd0bdfc2f377f731c1879 Author: Eric Miao Date: Tue Jun 24 15:51:02 2008 +0800 [ARM] pxa: make lubbock to use new smc91x platform data Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit 52256c0e06e4a4df67134b951a21b50c713a9588 Author: Eric Miao Date: Tue Jun 24 15:36:05 2008 +0800 [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data Now that the original SMC_USE_PXA_DMA specific code will always being built if CONFIG_ARCH_PXA is defined, so to make this part of the code to be PXA public, and still prevent it from being built if support of PXA is not selected. A SMC91X_USE_DMA flag is added to the platform data to allow platform to choose its usage of DMA. Note this flag itself is so named to be generic enough (assuming other platforms can also use DMA). It keeps backward compatibility to set the SMC91X_USE_DMA flag if SMC_USE_PXA_DMA is still defined. Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit 159198862adad7109bb347bb30a620f67beac45f Author: Eric Miao Date: Tue Jun 24 13:38:50 2008 +0800 [NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable Now one can use the following code #define SMC_IO_SHIFT lp->io_shift to make SMC_IO_SHIFT a variable. This, however, will slightly increase the CPU overhead and have negative impact on the network performance. The tradeoff is, this can be specified in the smc91x platform data so that multiple boards support can be built in a single zImage. Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit c4f0e76747e80578a8f7fddd82fd0ce8127bd2f8 Author: Eric Miao Date: Thu Jun 19 17:39:03 2008 +0800 [NET] smc91x: add SMC91X_NOWAIT flag to platform data And also favors the usage of SMC91X_NOWAIT over the hardcoded SMC_NOWAIT by converting "nowait" (module parameter overridable) to platform flag. There are several possibilities: 1. platform data present - preferred and use as is 2. platform data absent - use "nowait", it can be: a. SMC_NOWAIT if defined b. default to 0 if SMC_NOWAIT isn't defined c. overriden by module parameter Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit fa6d3be08538bb80274d20c7e59f9beca48fa44a Author: Eric Miao Date: Thu Jun 19 17:19:57 2008 +0800 [NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_* Let's simplify the logic and avoid confusion, the use of SMC91X_USE_* is favored than SMC_CAN_USE_*, if platform data isn't given, convert the hardcoded SMC_CAN_USE_* to SMC91X_USE_*. Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit d280eadc4fba0bf99fb1c3b60e8c5e007f7da02c Author: Eric Miao Date: Fri Jun 6 17:13:02 2008 +0800 [NET] smc91x: remove "irq_flags" from "struct smc91x_platdata" IRQ trigger type can be specified in the IRQ resource definition by IORESOURCE_IRQ_*, we need only one way to specify this. This also fixes the following small issue: To allow dynamic support for multiple platforms, when those relevant macros are not defined for one specific platform, the default case will be: - SMC_DYNAMIC_BUS_CONFIG defined - and SMC_IRQ_FLAGS = IRQF_TRIGGER_RISING While if "irq_flags" is missing when defining the smc91x_platdata, usually as follows: static struct smc91x_platdata xxxx_smc91x_data = { .flags = SMC91X_USE_XXBIT, }; The lp->cfg.irq_flags will always be overriden by the above structure (due to a memcpy), thus rendering lp->cfg.irq_flags to be "0" always. (regardless of the default SMC_IRQ_FLAGS or IORESOURCE_IRQ_* flags) Fixes this by forcing to use IORESOURCE_IRQ_* flags if present, and make the only user of smc91x_platdata.irq_flags (renesas/migor) to use IORESOURCE_IRQ_*. Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Acked-by: Jeff Garzik Signed-off-by: Russell King commit 37d7035da5b1f184c610b038b376c0c647d8d72b Merge: 0fc3ff3... 54b2384... Author: Russell King Date: Sat Jul 12 21:43:51 2008 +0100 Merge branch 'pxa-devel' into pxa commit 0fc3ff31f1f0fa023bb61e9336a7aa3591f2dffe Author: Dmitry Baryshkov Date: Wed Jul 2 13:54:46 2008 +0100 [ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 5a58d4bb66b1d68e4b9319dd5b89078bad2a7f64 Merge: 7fecc34... ac25361... Author: Russell King Date: Sat Jul 12 21:43:36 2008 +0100 Merge branch 'eseries' into pxa Conflicts: arch/arm/mach-pxa/Makefile commit 7fecc34e07e02b4d9dab1a1f4bf7fdac0a656b9b Merge: a9da4f7... 9388704... Author: Russell King Date: Sat Jul 12 21:43:01 2008 +0100 Merge branch 'pxa-tosa' into pxa Conflicts: arch/arm/mach-pxa/Kconfig arch/arm/mach-pxa/tosa.c arch/arm/mach-pxa/spitz.c commit a9da4f7ed6a702996ac9d1bbaf1a3969a4c092b3 Merge: 67f5cd0... 13f7558... 03fe669... Author: Russell King Date: Sat Jul 12 21:42:04 2008 +0100 Merge branches 'pxa-ian' and 'pxa-xm270' into pxa Conflicts: MAINTAINERS commit 77a76369475801ab8cbb338b9d8cfa92a491badb Author: Grant Likely Date: Sat Jul 12 12:11:43 2008 -0600 powerpc: Modify MPC52xx maintainers entry to cover all MPC5xxx parts Linux now supports the MPC5121 part and is handled by the same maintainer. Update MAINTAINERS to reflect this. Also remove URLs which are out of date or are not particularly relevant. Signed-off-by: Grant Likely commit 1879f711d8c3960e0fd927f38ff885017a77291b Author: John Rigby Date: Wed Jul 9 14:54:04 2008 -0600 powerpc/mpc5121: Add support for CPLD on MPC5121ADS board Add a interrupt host for the interrupt controller in the mpc5121ads cpld. PCI interrupts are 0-7 the rest are 8-15 Touchscreen pendown irq is hardwired to irq1 All other irqs are chained to irq0 Signed-off-by: John Rigby Signed-off-by: Grant Likely commit fb1803224ea145e3424d6295d4aaa8e9fef70642 Author: John Rigby Date: Wed Jul 9 14:54:03 2008 -0600 powerpc/mpc5121: Add generic board support for MPC5121 platforms Move shared code from mpc5121_ads.c to new file mpc512x_shared.c - mpc512x_find_ips_freq -> unchanged - contents of mpc5121_ads_init_IRQ -> mpc512x_init_IRQ - looking for fsl,mpc5121-ipic instead of fsl,ipic - mpc5121_ads_declare_of_platform_devices -> mpc5121_declare_of_platform_devices - and use compatible for lookup instead of node name Add new generic board setup mpc5121_generic.c Signed-off-by: John Rigby Signed-off-by: Grant Likely commit 137e95906e294913fab02162e8a1948ade49acb5 Author: John Rigby Date: Wed Jul 9 14:54:02 2008 -0600 powerpc/mpc5121: Add clock driver Plugs into the generic powerpc clock driver in arch/powerpc/kernel/clock.c The following subset of clk_interface is implemented: clk_get, clk_put: get clock via name, release clock clk_enable, clk_disable: enable or disable clock clk_get_rate: get clock rate in Hz clk_set_rate: stubbed clk_round_rate: stubbed clk_set_parent: NULL clk_get_parent: NULL Signed-off-by: John Rigby Signed-off-by: Grant Likely commit 4df64c3e58d28ffc5c61bdbdd733c5d0303b9f3c Author: John Rigby Date: Wed Jul 9 14:54:01 2008 -0600 powerpc/mpc5121: Update device tree for MPC5121ADS evaluation board Current device tree is only bare bones. This patch adds nodes to make it a complete tree for the MPC5121ads. Added nodes include: mbx - opengl coprocessor nfc - nand flash controller cpld-pic - on board cpld rtc clock - clock control pmc - power management control gpio mscan - can module i2c axe - audio coprocessor display - display interface unit mdio ethernet usb ioctl - pin config pata ac97 - PSC configured as AC97 pscfifo - psc fifo configuration dma pci Fix typo in header changing MDS to ADS. Add a compatible property of the form "fsl,mpc5121-..." to nodes missing one. Changed localbus compatible to fsl,mpc5121-localbus, this does not break anything because the only code that uses it finds it via the node name, not compatible. Signed-off-by: John Rigby Signed-off-by: Grant Likely commit 08b6c06de5d3f37295f6dbf7010fb45ae5ee14a7 Author: Grant Likely Date: Fri Jul 11 16:17:58 2008 -0600 powerpc/mpc5200: fix compile warnings in bestcomm driver Fix for the following compiler warnings: CC arch/powerpc/sysdev/bestcomm/bestcomm.o arch/powerpc/sysdev/bestcomm/bestcomm.c: In function 'mpc52xx_bcom_probe': arch/powerpc/sysdev/bestcomm/bestcomm.c:446: warning: format '%08lx' expects type 'long unsigned int', but argument 2 has type 'phys_addr_t' CC arch/powerpc/sysdev/bestcomm/sram.o arch/powerpc/sysdev/bestcomm/sram.c: In function 'bcom_sram_init': arch/powerpc/sysdev/bestcomm/sram.c:89: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'phys_addr_t' Signed-off-by: Grant Likely commit 7ba6d6dc8d58c49cff0533819195b44fb35d6ece Author: Grant Likely Date: Tue Jul 1 21:38:16 2008 -0600 powerpc/mpc5200: Add PSC helpers for bestcomm engine Simplify the interface for setting up bestcomm DMA to PSCs by adding some helper functions. The helper function sets the correct values for the initator and ipr values in PSC DMA tasks based on the PSC number. Signed-off-by: Grant Likely commit 75195dabce797f49b7d96d272e4e9330873e4340 Author: Stephen Rothwell Date: Fri May 23 16:42:56 2008 +1000 powerpc/mpc5200_wdt: use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Signed-off-by: Grant Likely commit 76ef7dd030823518506d65237a12666fc3f5a0d4 Author: Stephen Rothwell Date: Fri May 23 16:35:47 2008 +1000 powerpc/mpc52xx_psc_spi: use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Signed-off-by: Grant Likely commit e6a9192d066b30353b78ce1647070c0c171dd9a7 Author: Stephen Rothwell Date: Fri May 23 16:16:27 2008 +1000 powerpc/pata_mpc52xx: use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Signed-off-by: Grant Likely commit b0852cb8841f35b124f4344d92abd8c0a6b54fcf Author: Wolfgang Grandegger Date: Wed Jul 2 11:56:40 2008 +0200 powerpc/mpc5200: add missing MSCAN FDT nodes for TQM52xx This patch adds the still missing FDT nodes for the MSCAN devices for the TQM52xx modules. Signed-off-by: Wolfgang Grandegger Signed-off-by: Grant Likely commit f40987b64d0f4d40b006ce09e37161b57c1e970b Author: Robert P. J. Day Date: Tue Jul 8 06:38:24 2008 -0400 OpenFirmware: Include from of_i2c.c. drivers/of/of_i2c.c should include for the prototype for of_register_i2c_devices(). Signed-off-by: Robert P. J. Day Acked-by: Jean Delvare Acked-by: Jochen Friedrich Acked-by: Stephen Rothwell Signed-off-by: Grant Likely commit 0d1cde235874b00905bce23f659690d060ebf475 Author: Jon Smirl Date: Mon Jun 30 19:01:26 2008 -0400 powerpc/i2c: Convert i2c-mpc into an of_platform driver Convert i2c-mpc to an of_platform driver. Utilize the code in drivers/of-i2c.c to make i2c modules dynamically loadable by the device tree. Signed-off-by: Jon Smirl Signed-off-by: Grant Likely commit 6eb9d32298290b956693fd85c815b817d39a9505 Author: Andre Schwarz Date: Thu Jul 10 11:53:16 2008 +0200 powerpc/mpc5200: PCI write combine timer On MPC5200 the PCI target control register (PCITCR) @ MBAR + 0xD6C is initialized with only bit 7 (Latrule disable) set. The 8-Bit write combine timer (Bits 24..31) should be also set to a reasonable value _greater zero_ (0x08 = default) since setting it to 0x00 leads to _very poor_ performance as a PCI target since external burst won't be possible at all. Setting the WCT to 0x08 (cache-line size) leads to good overall perfomance. Signed-off-by: Andre Schwarz Signed-off-by: Grant Likely commit d7f305e9a08040649b0800245e67708df58cdb55 Author: Benjamin Herrenschmidt Date: Mon Jul 7 10:50:25 2008 +1000 [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of The sym53c8xx driver, for some reason, seems to mostly re-implement linux/list.h with added bogosity. The main one is it's implementation of sym_que_entry which spits warnings with recent gcc's on some 64 bits architectures. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: James Bottomley commit 02a1e3ce7df624ba91e8ff06e172f448746ad76a Author: Alexander Beregalov Date: Sun Jul 6 17:01:34 2008 +0400 [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h Signed-off-by: Alexander Beregalov Signed-off-by: James Bottomley commit 453cd0f3ff3bf25d86c96e62d271ba238f06d5ff Author: Adrian Bunk Date: Thu Jul 3 23:47:33 2008 -0700 [SCSI] make struct scsi_{host,target}_type static Make the needlessly global struct scsi_{host,target}_type static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2476b4d0426e1d6d4a42b2f7ae08f668b2cfe510 Author: James Bottomley Date: Thu Jul 3 11:31:55 2008 -0500 [SCSI] fix locking in host use of blk_plug_device() scsi_lib.c:scsi_host_queue_ready() plugs the device with incorrect locking. It should actually have the queue lock held, but it's holding the host lock. Fix this by eliminating the call. The host ready has no need to plug the queue because if it returns 0 in scsi_request_function control transfers to not_ready which acquires the queue lock and plugs the device if its at zero depth. Reported-by: Elias Oltmanns Signed-off-by: James Bottomley commit 92c299d11acd3f3e75a721acb8f57c457d5c394f Author: Christof Schmitt Date: Wed Jul 2 10:56:41 2008 +0200 [SCSI] zfcp: Cleanup external header file Sort the extern definitions by file. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 287ac01acf22ab6aaaf9f5a4919ce2449c8b391c Author: Christof Schmitt Date: Wed Jul 2 10:56:40 2008 +0200 [SCSI] zfcp: Cleanup code in zfcp_erp.c Cleanup the code in zfcp_erp.c, move erp internal definititions to this file and move FSF timeout handling to the FSF layer. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit c41f8cbddd4e0e72951e0575165dea8ea26f1c4b Author: Swen Schillig Date: Wed Jul 2 10:56:39 2008 +0200 [SCSI] zfcp: zfcp_fsf cleanup. Code cleanup for the zfcp_fsf.c file. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 60221920706a01bef89af2577f9a90a8eeb4e662 Author: Swen Schillig Date: Wed Jul 2 10:56:38 2008 +0200 [SCSI] zfcp: consolidate sysfs things into one file. zfcp was using three files to deal with sysfs representation for adapters, ports and units. The consolidation into one file prevents code-duplication and eases maintainability. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 317e6b6519b5a34263a33f150ed57ad468b26a64 Author: Swen Schillig Date: Wed Jul 2 10:56:37 2008 +0200 [SCSI] zfcp: Cleanup of code in zfcp_aux.c Overall cleanup of zfcp_aux.c to simplify code and follow kernel coding style. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f76af7d7e36373179be7a9e09f6b0aae330549b7 Author: Martin Petermann Date: Wed Jul 2 10:56:36 2008 +0200 [SCSI] zfcp: Cleanup of code in zfcp_scsi.c Cleanup code in zfcp_scsi.c, fix coding style issues and simplify the code. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit feac6a07c4a3578bffd6769bb4927e8a7e1f3ffe Author: Martin Petermann Date: Wed Jul 2 10:56:35 2008 +0200 [SCSI] zfcp: Move status accessors from zfcp to SCSI include file. Move the accessor functions for the scsi_cmnd status from zfcp to the SCSI include file. Change the interface to the functions to pass the scsi_cmnd pointer instead of the status pointer. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5d4e226246331087799a01c267ec72e5931ff190 Author: Christof Schmitt Date: Wed Jul 2 10:56:34 2008 +0200 [SCSI] zfcp: Small QDIO cleanups QBUFF_PER_PAGE is only used inside the qdio module, so move it to zfcp_qdio.c zfcp_qdio_zero_sbals is now only used in the qdio module, so make it static. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 7afe29f7dd6dccbe454d7fd6cd6a5a7f7bcbc530 Author: Swen Schillig Date: Wed Jul 2 10:56:33 2008 +0200 [SCSI] zfcp: Adapter reopen for large number of unsolicited status When zfcp receives 16 unsolicited status messages, this could trigger an adapter reopen. In this case, first try to send a new status read, and only if this fails, go through the recovery. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 3968ce800f45d8795ceb6f186c1efe420c98e1b0 Author: Christof Schmitt Date: Wed Jul 2 10:56:32 2008 +0200 [SCSI] zfcp: Fix error checking for ELS ADISC requests Correctly check the status for ELS ADISC requests. 0 means success. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit c57a39a45a76bc8ecdd2c8a9bc7cf7be3ed73fe1 Author: Swen Schillig Date: Wed Jul 2 10:56:31 2008 +0200 [SCSI] zfcp: wait until adapter is finished with ERP during auto-port In some situations the auto port attachment task is started before the ERP is finished. To prevent this unwanted situation we wait until the adapter is up and running before we start our work. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 072b91f9c6510d0ec4a49d07dbc318760c7da7b3 Author: Brian King Date: Tue Jul 1 13:14:30 2008 -0500 [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver This patch adds a new device driver to support the Virtual Fibre Channel interface on IBM Power based servers. The Virtual I/O Server on IBM Power servers utilizes N-Port ID Virtualization to export a Virtual Fibre Channel adapter to the client. This driver is the client device driver. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 39120e11705782c77d3a47d7d2927676fd8e3aaa Author: Brian King Date: Tue Jul 1 13:03:19 2008 -0500 [SCSI] sg: Add target reset support Adds support for target reset to SG_SCSI_RESET. Signed-off-by: Brian King Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f11f594edba7f689af9792a5673ed59d660ad371 Author: Martin K. Petersen Date: Wed Jun 25 11:22:42 2008 -0400 [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC The SCSI Block Protocol uses this 16-bit CRC to verify the integrity of each data sector. crc_t10dif() is used by sd_dif.c when performing I/O to or from disks formatted with protection information. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 5b635da11e3a6387172abd651d26d8ef54b1fbc7 Author: Martin K. Petersen Date: Wed Jun 25 11:22:41 2008 -0400 [SCSI] sd: Move scsi_disk() accessor function to sd.h Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit aa91696e56a0870db5754610e9f9b937e77507e0 Author: Martin K. Petersen Date: Tue Jun 17 12:47:32 2008 -0400 [SCSI] sd: Move sd.h header file Christoph objected to having sd.h in include/scsi since it is internal to the sd driver. Move it to drivers/scsi/sd.h. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit dbfe54a9c9a9e31cdf71704e4e70d10d22a57264 Author: Frans Pop Date: Thu Jun 19 20:20:12 2008 -0700 [SCSI] esp: correct module name in Kconfig help for SCSI_SUNESP The module name was changed from esp to sun_esp some time ago. Also correct the list of chips supported by the driver. Signed-off-by: Frans Pop Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit a793804f25fb2c0fe2b784450092699ea3475332 Author: David S. Miller Date: Sun Sep 30 17:10:42 2007 -0700 [SCSI] esp: Correct chip ID probing sequence. The features enable bit has to be set in the config2 register before we can be absolutely sure we will probe a correct part unique ID and family code from the transfer-count-high register. Also, reload the CFACT, STP, SOFF, and TIMEO near the end of esp_reset_esp(). From a patch by Maciej W. Rozycki. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit eac6e8e449647cbb9efee53977c8bfee0aa7d69e Author: Matthew Wilcox Date: Thu Jun 19 10:02:58 2008 -0600 [SCSI] scsi_debug: add support for rotation speed Add support for VPD page b1 to scsi_debug SCSI VPD page b1 reports the nominal rotation speed of the device. Since scsi_debug is ram-based, claim to be a non-rotating medium. Signed-off-by: Matthew Wilcox Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f80f868ec463b0463b332cdb704fe5438f013f98 Author: Mike Christie Date: Mon Jun 16 10:11:35 2008 -0500 [SCSI] iscsi class: fix endpoint leak class_find_device gets a ref to the device so we must release it. The class will serialize access to the ep so we do not have to worry about a remove racing with the callers access, so we can simplify the use and drop the ref right away. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4c2133c82385c31dd3eed76b07da1e986eb00294 Author: Mike Christie Date: Mon Jun 16 10:11:34 2008 -0500 [SCSI] iscsi class: update version number Update iscsi class version number. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8e9a20cee4511be4560f9c858d9994eb6913731e Author: Mike Christie Date: Mon Jun 16 10:11:33 2008 -0500 [SCSI] libiscsi, iscsi_tcp, ib_iser: fix setting of can_queue with old tools. This patch fixes two bugs that are related. 1. Old tools did not set can_queue/cmds_max. This patch modifies libiscsi so that when we add the host we catch this and set it to the default. 2. iscsi_tcp thought that the scsi command that was passed to the eh functions needed a iscsi_cmd_task allocated for it. It only needed a mgmt task, and now it does not matter since it all comes from the same pool and libiscsi handles this for the drivers. ib_iser had copied iscsi_tcp's code and set can_queue to its max - 1 to handle this. So this patch removes the max -1, and just sets it to the max. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c95fddc729fafb43f420747027eeb998c2e5e798 Author: Mike Christie Date: Mon Jun 16 10:11:32 2008 -0500 [SCSI] iscsi class: fix refcount leak Must do a module_out if the endpoint lookup fails. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ff0f4cb5ea322dcc32d08bab2d758c050ba1ab07 Author: James Smart Date: Sat Jun 14 22:53:02 2008 -0400 [SCSI] lpfc 8.2.7 : Update version to 8.2.7 Update lpfc driver version to 8.2.7 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 495a714c50e2c6ca6357129812f983b3ac0a32f2 Author: James Smart Date: Sat Jun 14 22:52:59 2008 -0400 [SCSI] lpfc 8.2.7 : Miscellaneous Fixes Miscellaneous Fixes: - Fix bug in mbox sysfs interface that locked in EAGAIN if discovery stalled. - Fix missing error message when npiv and loop are true when link up occurs. - Fix panic in lpfc_scsi_cmd_iocb_cmpl: scsi_buf was NULL, but created race conditions with other code paths. - Fix error in sysfs mailbox structure that didn't rezero on next use. - Add missing mempool_free() to attachment failure path - Fix missing put of ndlp structure during driver unload. - Fix applications unable to send mailbox commands during discovery. - Remove unused argument (type) from function lpfc_post_buffer() API - Fix vport name is not shown after hbacmd vportcreate. - Remove repeated code statements. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 5e9d9b8276980fc5dfa88ce34f6ec88ce3026232 Author: James Smart Date: Sat Jun 14 22:52:53 2008 -0400 [SCSI] lpfc 8.2.7 : Rework the worker thread Rework of the worker thread to make it more efficient. Make a finer-grain notfication of pending work so less time is spent checking conditions. Also made other general cleanups. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0d2b6b83030d6a88cbf7db57f84f2daf0e0b251b Author: James Smart Date: Sat Jun 14 22:52:47 2008 -0400 [SCSI] lpfc 8.2.7 : Discovery Fixes - Fix ADISC timeout on initiators causing devloss timeout on targets - Correct FAN processing : port state vs unreg rpi's wasn't consistent - Correct mismatches between ASICs and PLOGI that would skip PLOGI Signed-off-by: James Smart Signed-off-by: James Bottomley commit 915caaaf622172bd3451e7b76ba9cfcea80e87c7 Author: James Smart Date: Sat Jun 14 22:52:38 2008 -0400 [SCSI] lpfc 8.2.7 : Change device reset behavior Prior handler was only waiting for I/O on one lun to finish before returning completion. Now, wait for all LUNs on the target. Also performed some rudimentary cleanup while in this code. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 235f7f25f4928f5075dbebdfb9ca2c5d90db882c Author: Martin Peschke Date: Tue Jun 10 18:21:01 2008 +0200 [SCSI] zfcp: Remove sysfs attribute port_add With the automatic scanning of remote ports in place, there is no need to add remote ports manually. So, remove the port_add attribute. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit cc8c282963bd258a5bf49d3aa52675a4ae6d31f6 Author: Swen Schillig Date: Tue Jun 10 18:21:00 2008 +0200 [SCSI] zfcp: Automatically attach remote ports Automatically attach the remote ports in zfcp when the adapter is set online. This is done by querying all available ports from the FC namesever. The scan for remote ports is also triggered by RSCNs and can be triggered manually with the sysfs attribute 'port_rescan'. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 85a82392fe6fe7620d8fe0eb694f926cefe62e1f Author: Sven Schuetz Date: Tue Jun 10 18:20:59 2008 +0200 [SCSI] zfcp: Add port_state attribute to sysfs The sysfs attribute /sys/class/fc_host/hostX/port_state was not set by zfcp so far. Now, the appropriate members of the fc_function_template struct are set during its initialziation. The first is a boolean to show the port state. The second is a function pointer to the function zfcp_get_host_port_state, which reads the port state from our adapter status bits and calls fc_host_port_state with the approriate port state afterwards. Signed-off-by: Sven Schuetz Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 553448f6c4838a1e4bed2bc9301c748278d7d9ce Author: Christof Schmitt Date: Tue Jun 10 18:20:58 2008 +0200 [SCSI] zfcp: Message cleanup Cleanup the messages used in the zfcp driver: Remove unnecessary debug and trace message and convert the remaining messages to standard kernel macros. Remove the zfcp message macros and while updating the whole flie also update the copyright headers. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 00bab91066a49468bfa4f6d5c8ad5e9ec53b7ea3 Author: Swen Schillig Date: Tue Jun 10 18:20:57 2008 +0200 [SCSI] zfcp: Cleanup qdio code Cleanup the interface code from zfcp to qdio. Also move code that belongs to the qdio interface from the erp to the qdio file. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit fa04c2816883a49ec518514f6c19767d54be20b5 Author: Christof Schmitt Date: Tue Jun 10 18:20:56 2008 +0200 [SCSI] zfcp: Cleanup code in zfcp_ccw Overall cleanup in file zfcp_ccw.c. Fix coding style issues, remove useless macros and messages and convert remaining messages to standard macros. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 45633fdc9615f9fd2a0ae18e301562298b15abf3 Author: Christof Schmitt Date: Tue Jun 10 18:20:55 2008 +0200 [SCSI] zfcp: Move CFDC code to new file. zfcp implements a device file to allow Linux guests changing the Access Control Tables stored in the adapter. The code for the device file has nothing to do with the other parts of the driver, so move it to a new file and cleanup the code while doing so. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 24073b475d6d2bad8880434a16343ee1da816ea5 Author: Christof Schmitt Date: Tue Jun 10 18:20:54 2008 +0200 [SCSI] zfcp: Move FC code to new file Move all Fibre Channel related code to new file and cleanup the code while doing so. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 6362abd3e00d3161affad996fa53cc69a01fc6d1 Author: Martin K. Petersen Date: Thu Jun 5 23:30:03 2008 -0400 [SCSI] Rename scsi_bidi_sdb_cache The data integrity changes need to dynamically allocate scsi_data_buffers too. Rename scsi_bidi_sdb_cache for clarity. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 090507157f3bc43dd925fda50f8aca7d03b616b6 Author: Mark Salyzyn Date: Wed May 28 15:32:55 2008 -0400 [SCSI] aacraid: prevent copy_from_user() BUG! Seen: kernel BUG at arch/i386/lib/usercopy.c:872 under a 2.6.18-8.el5 kernel. Traced it to a garbage-in/garbage-out ioctl condition in the aacraid driver. Adaptec's special ioctl scb passthrough needs to check the validity of the individual scatter gather count fields to the maximum the adapter supports. Doing so will have the side effect of preventing copy_from_user() from bugging out while populating the dma buffers. This is a hardening effort, issue was triggered by an errant version of the management tools and thus the BUG should not be seen in the field. [jejb: fixed up compile failure] Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 597136ab70a6dccba5c40ee6eed88e881412429b Author: Martin K. Petersen Date: Thu Jun 5 00:12:59 2008 -0400 [SCSI] scsi_debug: Runtime-configurable sector size Make scsi_debug sector size configurable at load time instead of being a #define. Handy for testing 4KB sectors. Signed-off-by: Martin K. Petersen Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 3f27e3ed11e67c5ee19d560a50eafd93cf8c6682 Author: FUJITA Tomonori Date: Thu May 29 07:56:55 2008 +0900 [SCSI] bsg: fix bsg_mutex hang with device removal We don't need to hold bsg_mutex during bsg_complete_all_commands(). It leads to a problem that we block bsg_unregister_queue during bsg_complete_all_commands (untill all the outstanding commands complete). Thanks to Pete Wyckoff for finding the bug and testing the patch. The detailed bug report is: http://marc.info/?l=linux-scsi&m=121182137132145&w=2 Tested-by: Pete Wyckoff Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 30e9ba9f2001f45960507f1963551311a67d0209 Author: Boaz Harrosh Date: Mon May 26 11:31:19 2008 +0300 [SCSI] iscsi_tcp: Enable any size command Let through upto the largest command of 260 defined by the scsi standard. iscsi core supports this already. Now that the scsi-ml supports it we can start using large commands. [jejb:rejections fixed up] Signed-off-by: Boaz Harrosh Acked-by: Mike Christie Signed-off-by: James Bottomley commit 8f333991ba8479fe8a9d72aea978db415e3c2f2a Author: Harvey Harrison Date: Wed May 21 15:54:20 2008 -0500 [SCSI] scsi: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3a12b199fc820a52b8321c2b35172a1b3651120d Author: Harvey Harrison Date: Wed May 21 15:54:19 2008 -0500 [SCSI] Replace __FUNCTION__ with __func__ in iscsi_tcp. __FUNCTION__ is gcc-specific, use __func__ (Update diff by Mike Christie) Signed-off-by: Harvey Harrison Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 913e5bf435617aa529919a4f7567f849f9f35f9f Author: Mike Christie Date: Wed May 21 15:54:18 2008 -0500 [SCSI] libiscsi, iser, tcp: remove recv_lock The recv lock was defined so the iscsi layer could block the recv path from processing IO during recovery. It turns out iser just set a lock to that pointer which was pointless. We now disconnect the transport connection before doing recovery so we do not need the recv lock. For iscsi_tcp we still stop the recv path incase older tools are being used. This patch also has iscsi_itt_to_ctask user grab the session lock and has the caller access the task with the lock or get a ref to it in case the target is broken and sends a tmf success response then sends data or a response for the command that was supposed to be affected bty the tmf. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3cf7b233ffc45d4fc381221f74d24f10e692c4ea Author: Mike Christie Date: Wed May 21 15:54:17 2008 -0500 [SCSI] libiscsi: fix cmds_max setting Drivers expect that the cmds_max value they pass to the iscsi layer is the max scsi commands + mgmt tasks. This patch implements that and fixes some checks for nr cmd limits. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 88dfd340b9dece8fcaa1a2d4c782338926c017f7 Author: Mike Christie Date: Wed May 21 15:54:16 2008 -0500 [SCSI] iscsi class: Add session initiatorname and ifacename sysfs attrs. This adds two new attrs used for creating initiator ports and binding sessions to hardware. The session level initiatorname: Since bnx2i does a scsi_host per host device, we need to add the iface initiator port settings on the session, so we can create multiple initiator ports (each with different inames) per device/scsi_host. The current iname reflects that qla4xxx can have one iname per hba, and we are allocating a host per session for software. The iname on the host will remain so we can export and set the hba level qla4xxx setting. The ifacename attr: To bind a session to a some peice of hardware in userspace we maintain some mappings, but during boot or iscsid restart (iscsid contains the user space part of the driver) we need to be able to figure out which of those host mappings abstractions maps to certain sessions. This patch adds a ifacename attr, which userspace can set to id the host side of the endpoint across pivot_roots and iscsid restarts. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 06520edea0fc7007985fa4cd51560149feb3f442 Author: Mike Christie Date: Wed May 21 15:54:15 2008 -0500 [SCSI] iscsi_tcp: hook iscsi_tcp into iscsi_endpoint code iscsi_tcp creates its ep in userspace using sockets because it is virtual, so we just check if we are sent a ep and fail if we are. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 412eeafa0a51a8d86545d0be637bf84e4374fccf Author: Mike Christie Date: Wed May 21 15:54:14 2008 -0500 [SCSI] iser: Modify iser to take a iscsi_endpoint struct in ep callouts and session setup This hooks iser into the iscsi endpoint code. Previously it handled the lookup and allocation. This has been made generic so bnx2i and iser can share it. It also allows us to pass iser the leading conn's ep, so we know the ib_deivce being used and can set it as the scsi_host's parent. And that allows scsi-ml to set the dma_mask based on those values. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d82ff9be733a2e6da4f6c2ab4e9216f3f536503d Author: Mike Christie Date: Wed May 21 15:54:13 2008 -0500 [SCSI] iscsi class: add endpoint class Add sysfs representation for the endpoint, so userspace can match the host and session to the endpoint. This will allow us to set the host's parent correctly at host creation time. The next patches will convert tcp and iser, and fix iser's dma_mask bug. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7970634b81a6e3561954517bca42615542c4535b Author: Mike Christie Date: Wed May 21 15:54:12 2008 -0500 [SCSI] iscsi class: user device_for_each_child instead of duplicating session list Currently we duplicate the list of sessions, because we were using the test for if a session was on the host list to indicate if the session was bound or unbound. We can instead use the target_id and fix up the class so that drivers like bnx2i do not have to manage the target id space. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2261ec3d686e35c1a6088ab7f00a1d02b528b994 Author: Mike Christie Date: Wed May 21 15:54:11 2008 -0500 [SCSI] iser: handle iscsi_cmd_task rename This handles the iscsi_cmd_task rename and renames the iser cmd task to iser task. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 135a8ad4e09309d36dcb8b5c7f55db0b6a15b2d6 Author: Mike Christie Date: Wed May 21 15:54:10 2008 -0500 [SCSI] iscsi_tcp: handle iscsi_cmd_task rename This converts iscsi_tcp to use the iscsi_task name. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9c19a7d0387124a508d2cdb38ebf8cd484631ad0 Author: Mike Christie Date: Wed May 21 15:54:09 2008 -0500 [SCSI] libiscsi: rename iscsi_cmd_task to iscsi_task This is the second part of the iscsi task merging, and all it does it rename iscsi_cmd_task to iscsi_task and mtask/ctask to just task. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2747fdb25726caa1a89229f43d99ca50af72576a Author: Mike Christie Date: Wed May 21 15:54:08 2008 -0500 [SCSI] iser: convert ib_iser to support merged tasks Convert ib_iser to support merged tasks. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit fbc514b4e262bc0596faae8640ebc0b9142a1cdd Author: Mike Christie Date: Wed May 21 15:54:07 2008 -0500 [SCSI] iscsi_tcp: convert iscsi_tcp to support merged tasks Convert iscsi_tcp to support merged tasks. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3e5c28ad0391389959ccae81c938c7533efb3490 Author: Mike Christie Date: Wed May 21 15:54:06 2008 -0500 [SCSI] libiscsi: merge iscsi_mgmt_task and iscsi_cmd_task There is no need to have the mgmt and cmd tasks separate structs. It used to save a lot of memory when we overprealocated memory for tasks, but the next patches will set up the driver so in the future they can use a mempool or some other common scsi command allocator and common tagging. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 052d014485d2ce5bb7fa8dd0df875dafd1db77df Author: Mike Christie Date: Wed May 21 15:54:05 2008 -0500 [SCSI] libiscsi: modify libiscsi so it supports offloaded data paths This patch modifies libiscsi, so drivers like bnx2i and iser can execute a command from queuecommand/send_pdu instead of having to be queued to be run in a workq. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0af967f5d4f2dd1e00618d34ac988037d37a6c3b Author: Mike Christie Date: Wed May 21 15:54:04 2008 -0500 [SCSI] libiscsi, iscsi_tcp, iser: add session cmds array accessor Currently to get a ctask from the session cmd array, you have to know to use the itt modifier. To make this easier on LLDs and so in the future we can easilly kill the session array and use the host shared map instead, this patch adds a nice wrapper to strip the itt into a session->cmds index and return a ctask. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b40977d95fb3a1898ace6a7d97e4ed1a33a440a4 Author: Mike Christie Date: Wed May 21 15:54:03 2008 -0500 [SCSI] iser: fix handling of scsi cmnds during recovery. After the stop_conn callback has returned the LLD should not touch the scsi cmds. iscsi_tcp and libiscsi use the conn->recv_lock and suspend_rx field to halt recv path processing, but iser does not have any protection. This patch modifies iser so that userspace can just call the ep_disconnect callback, which will halt all recv IO, before calling the stop_conn callback so we do not have to worry about the conn->recv_lock and suspend rx field. iser just needs to stop the send side from accessing the ib conn. Fixup to handle when the ep poll fails and ep disconnect is called from Erez. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5af3e91d232b7e022f258202f72ebb79b8b0c706 Author: Mike Christie Date: Wed May 21 15:54:02 2008 -0500 [SCSI] iscsi: modify iscsi printk so it can take driver data pointers Some drivers want to be able to just pass in the driver data pointers to the iscsi objects. To enable this we need the iscsi printk macro to cast the object. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5d91e209fb21fb9cc765729d4c6a85a9fb6c9187 Author: Mike Christie Date: Wed May 21 15:54:01 2008 -0500 [SCSI] iscsi: remove session/conn_data_size from iscsi_transport This removes the session and conn data_size fields from the iscsi_transport. Just pass in the value like with host allocation. This patch also makes it so the LLD iscsi_conn data is allocated with the iscsi_cls_conn. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a4804cd6eb19318ae8d08ea967cfeaaf5c5b68a6 Author: Mike Christie Date: Wed May 21 15:54:00 2008 -0500 [SCSI] iscsi: add iscsi host helpers This finishes the host/session unbinding, by adding some helpers to add and remove hosts and the session they manage. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 756135215ec743be6fdce2bdebe8cdb9f8a231f6 Author: Mike Christie Date: Wed May 21 15:53:59 2008 -0500 [SCSI] iscsi: remove session and host binding in libiscsi bnx2i allocates a host per netdevice but will use libiscsi, so this unbinds the session from the host in that code. This will also be useful for the iser parent device dma settings fixes. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 32c6e1b9a2e27076b7070a9ec56a9e5437ebd725 Author: Mike Christie Date: Wed May 21 15:53:58 2008 -0500 [SCSI] iscsi class: rename iscsi_host to iscsi_cls_host This renames the iscsi_host to iscsi_cls_host to match the other structs, because libiscsi wants to use the iscsi_host name in the future. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d3826721b198001c55353b1c54e10843068aae63 Author: Mike Christie Date: Wed May 21 15:53:57 2008 -0500 [SCSI] iscsi class, iscsi drivers: remove unused iscsi_transport attrs max_cmd_len and max_conn are not really used. max_cmd_len is always 16 and can be set by the LLD. max_conn is always one since we do not support MCS. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 40753caa364bfba60ebd5e2a8bdf366ef175d03c Author: Mike Christie Date: Wed May 21 15:53:56 2008 -0500 [SCSI] iscsi class, iscsi_tcp/iser: add host arg to session creation iscsi offload (bnx2i and qla4xx) allocate a scsi host per hba, so the session creation path needs a shost/host_no argument. Software iscsi/iser will follow the same behabior as before where it allcoates a host per session, but in the future iser will probably look more like bnx2i where the host's parent is the hardware (rnic for iser and for bnx2i it is the nic), because it does not use a socket layer like how iscsi_tcp does. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d54d48b80fb523ce1b1a644e4876b08835ad757f Author: Prakash, Sathya Date: Wed May 21 01:02:18 2008 +0530 [SCSI] mpt fusion : Adding FAULT Reset polling work When the firmware is in Fault state it will be identifed only when the next time the driver access the IOC state. This patch includes a polling function in the driver which will be executed in regular interval to check the status of the firmware and if it is in Fault state, then the firmware will be reset by the driver. Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit cc4724492ddf920475ad7f12bfcb81ffca16f777 Author: Prakash, Sathya Date: Wed May 21 01:01:11 2008 +0530 [SCSI] mpt fusion : Setting intial period to 0xFF instead of 0xA The initial period is set to 0xFF Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit a72f0dbfd93159acdf2467e5a022b28f763061f6 Author: Jan Glauber Date: Sat Jul 12 15:42:11 2008 +0800 crypto: s390 - Respect STFL bit Bevore issuing any s390 crypto operation check whether the CPACF facility is enabled in the facility list. That way a virtualization layer can prevent usage of the CPACF facility regardless of the availability of the crypto instructions. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit ae94b8075a2ed58d2318ef03827b25bc844f844e Merge: eca91e7... a26929f... Author: Ingo Molnar Date: Sat Jul 12 07:29:02 2008 +0200 Merge branch 'linus' into x86/core Conflicts: arch/x86/mm/ioremap.c Signed-off-by: Ingo Molnar commit eca91e7838ec92e8c12122849ec7539c4765b689 Author: Roland McGrath Date: Thu Jul 10 14:50:39 2008 -0700 x86_64: fix delayed signals On three of the several paths in entry_64.S that call do_notify_resume() on the way back to user mode, we fail to properly check again for newly-arrived work that requires another call to do_notify_resume() before going to user mode. These paths set the mask to check only _TIF_NEED_RESCHED, but this is wrong. The other paths that lead to do_notify_resume() do this correctly already, and entry_32.S does it correctly in all cases. All paths back to user mode have to check all the _TIF_WORK_MASK flags at the last possible stage, with interrupts disabled. Otherwise, we miss any flags (TIF_SIGPENDING for example) that were set any time after we entered do_notify_resume(). More work flags can be set (or left set) synchronously inside do_notify_resume(), as TIF_SIGPENDING can be, or asynchronously by interrupts or other CPUs (which then send an asynchronous interrupt). There are many different scenarios that could hit this bug, most of them races. The simplest one to demonstrate does not require any race: when one signal has done handler setup at the check before returning from a syscall, and there is another signal pending that should be handled. The second signal's handler should interrupt the first signal handler before it actually starts (so the interrupted PC is still at the handler's entry point). Instead, it runs away until the next kernel entry (next syscall, tick, etc). This test behaves correctly on 32-bit kernels, and fails on 64-bit (either 32-bit or 64-bit test binary). With this fix, it works. #define _GNU_SOURCE #include #include #include #include #ifndef REG_RIP #define REG_RIP REG_EIP #endif static sig_atomic_t hit1, hit2; static void handler (int sig, siginfo_t *info, void *ctx) { ucontext_t *uc = ctx; if ((void *) uc->uc_mcontext.gregs[REG_RIP] == &handler) { if (sig == SIGUSR1) hit1 = 1; else hit2 = 1; } printf ("%s at %#lx\n", strsignal (sig), uc->uc_mcontext.gregs[REG_RIP]); } int main (void) { struct sigaction sa; sigset_t set; sigemptyset (&sa.sa_mask); sa.sa_flags = SA_SIGINFO; sa.sa_sigaction = &handler; if (sigaction (SIGUSR1, &sa, NULL) || sigaction (SIGUSR2, &sa, NULL)) return 2; sigemptyset (&set); sigaddset (&set, SIGUSR1); sigaddset (&set, SIGUSR2); if (sigprocmask (SIG_BLOCK, &set, NULL)) return 3; printf ("main at %p, handler at %p\n", &main, &handler); raise (SIGUSR1); raise (SIGUSR2); if (sigprocmask (SIG_UNBLOCK, &set, NULL)) return 4; if (hit1 + hit2 == 1) { puts ("PASS"); return 0; } puts ("FAIL"); return 1; } Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit da1f29f5dfcc8641f9ff6f3deaa9f03b57e63229 Author: Rafael J. Wysocki Date: Sat Jul 12 02:50:15 2008 +0200 x86: remove conflicting nx6325 and nx6125 quirks We have two conflicting DMA-based quirks in there for the same set of boxes (HP nx6325 and nx6125) and one of them actually breaks my box. So remove the extra code. Signed-off-by: Rafael J. Wysocki Cc: Stephen Rothwell Cc: =?iso-8859-1?q?T=F6r=F6k_Edwin?= Cc: Vegard Nossum Cc: Andreas Herrmann Signed-off-by: Ingo Molnar commit de32a2434f7ce4600da90ecb44abcdc365ada1d0 Author: Thomas Gleixner Date: Sat Jul 12 05:33:30 2008 +0200 kernel-paramaters: document pmtmr= command line option Signed-off-by: Thomas Gleixner commit 38032f72601deac7aab00691c79e83d09b204e2a Author: Randy Dunlap Date: Fri Jul 11 12:57:31 2008 -0700 acpi_pm clccksource: fix printk format warning Fix printk format warning in acpi_pm clocksource: linux-next-20080711/drivers/clocksource/acpi_pm.c:231: warning: format '%04lx' expects type 'long unsigned int', but argument 2 has type 'u32' Signed-off-by: Randy Dunlap Cc: akpm Signed-off-by: Thomas Gleixner commit 49f1487b2e41bd8439ea39a4f15b4064e823cc54 Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Documention update for new ordered mode and delayed allocation Adding some documentations for delayed allocation and new ordered mode. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit e4079a11f5ed966b7d972cc69e8d337a0f095e32 Author: Eric Sandeen Date: Fri Jul 11 19:27:31 2008 -0400 ext4: do not set extents feature from the kernel We've talked for a while about getting rid of any feature- setting from the kernel; this gets rid of the code which would set the INCOMPAT_EXTENTS flag on the first file write when mounted as ext4[dev]. With this patch, if the extents feature is not already set on disk, then mounting as ext4 will fall back to noextents with a warning, and if -o extents is explicitly requested, the mount will fail, also with warning. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit c07651b556323e0e763c452587fe29d2b034b314 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Don't allow nonextenst mount option for large filesystem The block mapped inode format can address only blocks within 2**32. This causes a number of issues, the biggest of which is that the block allocator needs to be taught that certain inodes can not utilize block numbers > 2**32. So until this is fixed, it is simplest to fail mounting of file systems with more than 2**32 blocks if the -o noextents option is given. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit dd919b9822c5fd9fd72f95a602440130297c3857 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Enable delalloc by default. Enable delalloc by default to ensure it gets sufficient testing and because it makes the filesystem much more efficient. Add a nodealalloc option to disable delayed allocation, and update ext4_show_options to show delayed allocation off if it is disabled. If the data=journal mount option is used, disable delayed allocation since the delalloc code doesn't support data=journal yet. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Signed-off-by: Mingming Cao commit 3e3398a08d6e516675d5af853d625dc7dd90eab1 Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 ext4: delayed allocation i_blocks fix for stat Right now i_blocks is not getting updated until the blocks are actually allocaed on disk. This means with delayed allocation, right after files are copied, "ls -sF" shoes the file as taking 0 blocks on disk. "du" also shows the files taking zero space, which is highly confusing to the user. Since delayed allocation already keeps track of per-inode total number of blocks that are subject to delayed allocation, this patch fix this by using that to adjust the value returned by stat(2). When real block allocation is done, the i_blocks will get updated. Since the reserved blocks for delayed allocation will be decreased, this will be keep value returned by stat(2) consistent. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 632eaeab1feb5d78c1e2bfb1d2dfc0ebb8ac187f Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 ext4: fix delalloc i_disksize early update issue Ext4_da_write_end() used walk_page_buffers() with a callback function of ext4_bh_unmapped_or_delay() to check if it extended the file size without allocating any blocks (since in this case i_disksize needs to be updated). However, this is didn't work proprely because the buffer head has not been marked dirty yet --- this is done later in block_commit_write() --- which caused ext4_bh_unmapped_or_delay() to always return false. In addition, walk_page_buffers() checks all of the buffer heads covering the page, and the only buffer_head that should be checked is the one covering the end of the write. Otherwise, given a 1k blocksize filesystem and a 4k page size, the buffer head covering the first 1k stripe of the file could be unmapped (because it was a sparse file), and the second or third buffer_head covering that page could be mapped, and using walk_page_buffers() would fail in this case since it would stop at the first unmapped buffer_head and return true. The core problem is that walk_page_buffers() was intended to do work in a callback function, and a non-zero return value indicated a failure, which termined the walk of the buffer heads covering the page. It was not intended to be used with a boolean function, such as ext4_bh_unmapped_or_delay(). Add addtional fix from Aneesh to protect i_disksize update rave with truncate. Signed-off-by: Mingming Cao Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit f0e6c98593eb8a77edb7dd0edb22bb9f9368c567 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Handle page without buffers in ext4_*_writepage() It can happen that buffers are removed from the page before it gets marked dirty and then is passed to writepage(). In writepage() we just initialize the buffers and check whether they are mapped and non delay. If they are mapped and non delay we write the page. Otherwise we mark them dirty. With this change we don't do block allocation at all in ext4_*_write_page. writepage() can get called under many condition and with a locking order of journal_start -> lock_page, we should not try to allocate blocks in writepage() which get called after taking page lock. writepage() can get called via shrink_page_list even with a journal handle which was created for doing inode update. For example when doing ext4_da_write_begin we create a journal handle with credit 1 expecting a i_disksize update for the inode. But ext4_da_write_begin can cause shrink_page_list via _grab_page_cache. So having a valid handle via ext4_journal_current_handle is not a guarantee that we can use the handle for block allocation in writepage, since we shouldn't be using credits that had been reserved for other updates. That it could result in we running out of credits when we update inodes. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit cd1aac32923a9c8adcc0ae85e33c1ca0c5855838 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Add ordered mode support for delalloc This provides a new ordered mode implementation which gets rid of using buffer heads to enforce the ordering between metadata change with the related data chage. Instead, in the new ordering mode, it keeps track of all of the inodes touched by each transaction on a list, and when that transaction is committed, it flushes all of the dirty pages for those inodes. In addition, the new ordered mode reverses the lock ordering of the page lock and transaction lock, which provides easier support for delayed allocation. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 61628a3f3a37af2bf25daf8e26fd6b76a78c4f76 Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Invert lock ordering of page_lock and transaction start in delalloc With the reverse locking, we need to start a transation before taking the page lock, so in ext4_da_writepages() we need to break the write-out into chunks, and restart the journal for each chunck to ensure the write-out fits in a single transaction. Updated patch from Aneesh Kumar K.V which fixes delalloc sync hang with journal lock inversion, and address the performance regression issue. Signed-off-by: Mingming Cao Signed-off-by: Aneesh Kumar K.V Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 06d6cf6959d22037fcec598f4f954db5db3d7356 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 mm: Add range_cont mode for writeback Filesystems like ext4 needs to start a new transaction in the writepages for block allocation. This happens with delayed allocation and there is limit to how many credits we can request from the journal layer. So we call write_cache_pages multiple times with wbc->nr_to_write set to the maximum possible value limitted by the max journal credits available. Add a new mode to writeback that enables us to handle this behaviour. In the new mode we update the wbc->range_start to point to the new offset to be written. Next call to call to write_cache_pages will start writeout from specified range_start offset. In the new mode we also limit writing to the specified wbc->range_end. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Acked-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit d2a1763791a634e315ec926b62829c1e88842c86 Author: Mingming Cao Date: Mon Jul 14 17:52:37 2008 -0400 ext4: delayed allocation ENOSPC handling This patch does block reservation for delayed allocation, to avoid ENOSPC later at page flush time. Blocks(data and metadata) are reserved at da_write_begin() time, the freeblocks counter is updated by then, and the number of reserved blocks is store in per inode counter. At the writepage time, the unused reserved meta blocks are returned back. At unlink/truncate time, reserved blocks are properly released. Updated fix from Aneesh Kumar K.V to fix the oldallocator block reservation accounting with delalloc, added lock to guard the counters and also fix the reservation for meta blocks. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: Theodore Ts'o commit e8ced39d5e8911c662d4d69a342b9d053eaaac4e Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 percpu_counter: new function percpu_counter_sum_and_set Delayed allocation need to check free blocks at every write time. percpu_counter_read_positive() is not quit accurate. delayed allocation need a more accurate accounting, but using percpu_counter_sum_positive() is frequently is quite expensive. This patch added a new function to update center counter when sum per-cpu counter, to increase the accurate rate for next percpu_counter_read() and require less calling expensive percpu_counter_sum(). Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 64769240bd07f446f83660bb143bb609d8ab4910 Author: Alex Tomas Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Add delayed allocation support in data=writeback mode Updated with fixes from Mingming Cao to unlock and release the page from page cache if the delalloc write_begin failed, and properly handle preallocated blocks. Also added a fix to clear buffer_delay in block_write_full_page() after allocating a delayed buffer. Updated with fixes from Aneesh Kumar K.V to update i_disksize properly and to add bmap support for delayed allocation. Updated with a fix from Valerie Clement to avoid filesystem corruption when the filesystem is mounted with the delalloc option and blocksize < pagesize. Signed-off-by: Alex Tomas Signed-off-by: Mingming Cao Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" Signed-off-by: Aneesh Kumar K.V commit 29a814d2ee0e43c2980f33f91c1311ec06c0aa35 Author: Alex Tomas Date: Fri Jul 11 19:27:31 2008 -0400 vfs: add hooks for ext4's delayed allocation support Export mpage_bio_submit() and __mpage_writepage() for the benefit of ext4's delayed allocation support. Also change __block_write_full_page so that if buffers that have the BH_Delay flag set it will call get_block() to get the physical block allocated, just as in the !BH_Mapped case. Signed-off-by: Alex Tomas Signed-off-by: "Theodore Ts'o" commit 87c89c232c8f7b3820c33c3b9bc803e9358027da Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 jbd2: Remove data=ordered mode support using jbd buffer heads Signed-off-by: Jan Kara commit 678aaf481496b01473b778685eca231d6784098b Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Use new framework for data=ordered mode in JBD2 This patch makes ext4 use inode-based implementation of data=ordered mode in JBD2. It allows us to unify some data=ordered and data=writeback paths (especially writepage since we don't have to start a transaction anymore) and remove some buffer walking. Updated fix from Aneesh Kumar K.V to fix file system hang due to corrupt jinode values. Signed-off-by: Jan Kara Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c851ed540173736e60d48b53b91a16ea5c903896 Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 jbd2: Implement data=ordered mode handling via inodes This patch adds necessary framework into JBD2 to be able to track inodes with each transaction and write-out their dirty data during transaction commit time. This new ordered mode brings all sorts of advantages such as possibility to get rid of journal heads and buffer heads for data buffers in ordered mode, better ordering of writes on transaction commit, simplification of some JBD code, no more anonymous pages when truncate of data being committed happens. Also with this new ordered mode, delayed allocation on ordered mode is much simpler. Signed-off-by: Jan Kara commit f4c0a0fdfae708f7aa438c27a380ed4071294e11 Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 vfs: export filemap_fdatawrite_range() Make filemap_fdatawrite_range() function public, so that it can later be used in ordered mode rewrite by JBD/JBD2. Signed-off-by: Jan Kara commit 9ddfc3dc75b5cc55ff3cfa586e962d252f1db9d3 Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Fix lock inversion in ext4_ext_truncate() We cannot call ext4_orphan_add() from under i_data_sem because that causes a lock ordering violation between i_data_sem and and the superblock lock. Updated with Aneesh's locking order fix Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit cf108bca465dde0c015f32dd453b99457d31c7c7 Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Invert the locking order of page_lock and transaction start This changes are needed to support data=ordered mode handling via inodes. This enables us to get rid of the journal heads and buffer heads for data buffers in the ordered mode. With the changes, during tranasaction commit we writeout the inode pages using the writepages()/writepage(). That implies we take page lock during transaction commit. This can cause a deadlock with the locking order page_lock -> jbd2_journal_start, since the jbd2_journal_start can wait for the journal_commit to happen and the journal_commit now needs to take the page lock. To avoid this dead lock reverse the locking order. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit c7d206b3379f7d6462e778b74f475c470ee3dcaf Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 vfs: Move mark_inode_dirty() from under page lock in generic_write_end() There's no need to call mark_inode_dirty() under page lock in generic_write_end(). It unnecessarily makes hold time of page lock longer and more importantly it forces locking order of page lock and transaction start for journaling filesystems. Signed-off-by: Jan Kara Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 2e9ee850355593e311d9a26542290fe51e152f74 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Use page_mkwrite vma_operations to get mmap write notification. We would like to get notified when we are doing a write on mmap section. This is needed with respect to preallocated area. We split the preallocated area into initialzed extent and uninitialzed extent in the call back. This let us handle ENOSPC better. Otherwise we get ENOSPC in the writepage and that would result in data loss. The changes are also needed to handle ENOSPC when writing to an mmap section of files with holes. Acked-by: Jan Kara Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 93e3270c87549dc531a0b0e5d06362d998d810cb Author: Jose R. Santos Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Documentation updates. Some of the information in Documentation/filesystems/ext4.txt is out of date and in need of an update. Signed-off-by: Jose R. Santos Signed-off-by: "Theodore Ts'o" commit 5f21b0e642d7bf6fe4434c9ba12bc9cb96b17cf7 Author: Frederic Bohe Date: Fri Jul 11 19:27:31 2008 -0400 ext4: fix online resize with mballoc Update group infos when updating a group's descriptor. Add group infos when adding a group's descriptor. Refresh cache pages used by mb_alloc when changes occur. This will probably need modifications when META_BG resizing will be allowed. Signed-off-by: Frederic Bohe Signed-off-by: Mingming Cao commit 953e622b601f58b7cc0f29fe644457fa40a18456 Author: Eric Sandeen Date: Fri Jul 11 19:27:31 2008 -0400 ext4: use atomic functions to set bh_state Use the BUFFER_FNS functions (set_buffer_foo) to set buffer head state atomically instead of nonatomic __set_bit(). Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 47b4a50bebfd34b5e1fa2a9c673c8f31fa231cc1 Author: Jan Kara Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Set journal pointer to NULL when journal is released Set sbi->s_journal to NULL after we call journal_destroy(). This will be later needed because after journal_destroy() is called, ext4_clear_inode() can still be called for some inodes (e.g. root inode) and we'll need to detect there that journal doesn't exists anymore. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 07031431072ece801d53d2c03d5e5bb21f4f64a4 Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 ext4: mballoc avoid use root reserved blocks for non root allocation mballoc allocation missed check for blocks reserved for root users. Add ext4_has_free_blocks() check before allocation. Also modified ext4_has_free_blocks() to support multiple block allocation request. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit d755fb384250d6bd7fd18a0930e71965acc8e72e Author: Eric Sandeen Date: Fri Jul 11 19:27:31 2008 -0400 ext4: call blkdev_issue_flush on fsync To ensure that bits are truly on-disk after an fsync, we should call blkdev_issue_flush if barriers are supported. Inspired by an old thread on barriers, by reiserfs & xfs which do the same, and by a patch SuSE ships with their kernel Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 654b4908bc17a6318d18f3036fecc5155de92f55 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: cleanup block allocator Move the code related to block allocation to a single function and add helper funtions to differient allocation for data and meta data blocks Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7061eba75ceb0835ba61e7cbd757a6f9c1e4af92 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Use inode preallocation with -o noextents When mballoc is enabled, block allocation for old block-based files are allocated using mballoc allocator instead of old block-based allocator. The old ext3 block reservation is turned off when mballoc is turned on. However, the in-core preallocation is not enabled for block-based/ non-extent based file block allocation. This result in performance regression, as now we don't have "reservation" ore in-core preallocation to prevent interleaved fragmentation in multiple writes workload. This patch fix this by enable per inode in-core preallocation for non extent files when mballoc is used. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 6afd670713c9e7d5c5550e379dfedca8ffab4c90 Author: Akinobu Mita Date: Fri Jul 11 19:27:31 2008 -0400 ext4: fix ext4_init_block_bitmap() for metablock block group When meta_bg feature is enabled and s_first_meta_bg != 0, ext4_init_block_bitmap() miscalculates the number of block used by the group descriptor table (0 or 1 for metablock block group) This patch fixes this by using ext4_bg_num_gdb() Signed-off-by: Akinobu Mita Cc: Andrew Morton Cc: Stephen Tweedie Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Acked-by: Andreas Dilger commit 7477827f6686ce29b6216d9eb26f6b9027742dcc Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Fix sparse warning Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit d9c769b769a8bcd70371c71797fc4e407b37ba75 Author: Li Zefan Date: Fri Jul 11 19:27:31 2008 -0400 ext4: cleanup never-used magic numbers from htree code dx_root_limit() will had some dead code which forced it to always return 20, and dx_node_limit to always return 22 for debugging purposes. Remove it. Acked-by: Andreas Dilger Signed-off-by: Li Zefan Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 9102e4fa8016af8bf1a263df913ee8fdafd4dfb0 Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Fix ext4_ext_journal_restart() to reflect errors up to the caller Fix ext4_ext_journal_restart() so it returns any errors reported by ext4_journal_extend() and ext4_journal_restart(). Signed-off-by: Shen Feng Reviewed-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1973adcba570c226de840299056e055a3614185e Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Make ext4_ext_find_extent fills ext_path completely When pos=0 or depth, the fields of ext4_ext_path is are not completely filled. This patch also removes some unnecessary code. Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 787e0981fad97a5ca3d07c7afe115a7e345b2861 Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: return error when calling ext4_ext_split failed ext4_ext_create_new_leaf must return error when its calling to ext4_ext_split failed. Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Reviewed-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit a379cd1d6bb00f9f5d2759d4a5621a884df5914e Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Update i_disksize properly when allocating from fallocate area. When allocating unitialized space at the end of file which had been preallocated with the FALLOC_FL_KEEP_SIZE option, the file size is not updated at that time. But the later we are not updating the file size when writing to that preallocated space. These changes are for code correctness. This patch allows us to update the i_disksize at the write_end() callback of filesystem properly. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 363d4251d4bd984c304e0989789f6494343660fd Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: remove quota allocation when ext4_mb_new_blocks fails Quota allocation is not removed when ext4_mb_new_blocks calls kmem_cache_alloc failed. Also make sure the allocation context is freed on the error path. Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f9a8ac99fd79eb961a8573ccf058439bc17b4d3a Author: Li Zefan Date: Fri Jul 11 19:27:31 2008 -0400 ext4: remove redundant code in ext4_fill_super() The previous sb_min_blocksize() has already set the block size. Signed-off-by: Li Zefan Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 530576bbf379fc45cfb34f246257d8526db44567 Author: Mingming Cao Date: Sun Jul 13 21:06:39 2008 -0400 jbd2: fix race between jbd2_journal_try_to_free_buffers() and jbd2 commit transaction journal_try_to_free_buffers() could race with jbd commit transaction when the later is holding the buffer reference while waiting for the data buffer to flush to disk. If the caller of journal_try_to_free_buffers() request tries hard to release the buffers, it will treat the failure as error and return back to the caller. We have seen the directo IO failed due to this race. Some of the caller of releasepage() also expecting the buffer to be dropped when passed with GFP_KERNEL mask to the releasepage()->journal_try_to_free_buffers(). With this patch, if the caller is passing the GFP_KERNEL to indicating this call could wait, in case of try_to_free_buffers() failed, let's waiting for journal_commit_transaction() to finish commit the current committing transaction , then try to free those buffers again with journal locked. Signed-off-by: Mingming Cao Reviewed-by: Badari Pulavarty Signed-off-by: "Theodore Ts'o" commit 772cb7c83ba256a11c7bf99a11bef3858d23767c Author: Jose R. Santos Date: Fri Jul 11 19:27:31 2008 -0400 ext4: New inode allocation for FLEX_BG meta-data groups. This patch mostly controls the way inode are allocated in order to make ialloc aware of flex_bg block group grouping. It achieves this by bypassing the Orlov allocator when block group meta-data are packed toghether through mke2fs. Since the impact on the block allocator is minimal, this patch should have little or no effect on other block allocation algorithms. By controlling the inode allocation, it can basically control where the initial search for new block begins and thus indirectly manipulate the block allocator. This allocator favors data and meta-data locality so the disk will gradually be filled from block group zero upward. This helps improve performance by reducing seek time. Since the group of inode tables within one flex_bg are treated as one giant inode table, uninitialized block groups would not need to partially initialize as many inode table as with Orlov which would help fsck time as the filesystem usage goes up. Signed-off-by: Jose R. Santos Signed-off-by: Valerie Clement Signed-off-by: "Theodore Ts'o" commit 736603ab297506f4396cb5af592004499950fcfd Author: Theodore Ts'o Date: Fri Jul 11 19:27:31 2008 -0400 jbd2: Add commit time into the commit block Carlo Wood has demonstrated that it's possible to recover deleted files from the journal. Something that will make this easier is if we can put the time of the commit into commit block. Signed-off-by: "Theodore Ts'o" commit 4db9c54a53135b7c1c1f403f1aeaf9fc0d7738b8 Author: Stoyan Gaydarov Date: Sun Jul 13 21:03:29 2008 -0400 ext4: replace __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ instead Signed-off-by: Stoyan Gaydarov Cc: Theodore Ts'o Cc: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Theodore Ts'o commit 7e5a8cdd843b7af8d6d38a9bf96306145edb66e0 Author: Shen Feng Date: Sun Jul 13 21:03:31 2008 -0400 ext4: fix error processing in mb_free_blocks The error processing of the return value of mb_free_blocks is meanless because it only returns 0. This fix includes - make mb_free_blocks return void - remove the error processing part in callers - unlock group before calling ext4_error in mb_free_blocks Signed-off-by: Shen Feng Cc: Mingming Cao Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Theodore Ts'o commit cfbe7e4f5e4a0e1fc2ff23b167bfb3fa992f623d Author: Shen Feng Date: Sun Jul 13 21:03:31 2008 -0400 ext4: error proc entry creation when the fs/ext4 is not correctly created When the directory fs/ext4 is not correctly created under proc, the entry under this directory should not be created. Signed-off-by: Shen Feng Signed-off-by: Andrew Morton Signed-off-by: Theodore Ts'o commit f795e1407343ebe6597653f4a6a7f770676e84c5 Author: Li Zefan Date: Fri Jul 11 19:27:31 2008 -0400 ext4: fix build failure if DX_DEBUG is enabled ext4_next_entry() is used by the debugging function dx_show_leaf(), so it must be defined before that function. Signed-off-by: Li Zefan Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 7ad72ca60b6be3c79f90a81ce5883e12a2c6e667 Author: Theodore Ts'o Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Remove unused variable from ext4_show_options Signed-off-by: "Theodore Ts'o" commit 574ca174c97f790086e3e6f2251381420ad38fd0 Author: Theodore Ts'o Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Rename read_block_bitmap() to ext4_read_block_bitmap() Since this a non-static function, make it be ext4 specific to avoid conflicts with potentially other filesystems. Signed-off-by: "Theodore Ts'o" commit 3537576a707c6df98e883b77b854c6083f844602 Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: remove double definitions of xattr macros remove the definitions of macros XATTR_TRUSTED_PREFIX and XATTR_USER_PREFIX since they are defined in linux/xattr.h Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 74767c5a2dca0a60676d60d36377a41f60ca42ba Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: miscellaneous error checks and coding cleanups for mballoc ext4_mb_seq_history_open(): check if sbi->s_mb_history is NULL ext4_mb_history_init(): replace kmalloc and memset with kzalloc ext4_mb_init_backend(): remove memset since kzalloc is used ext4_mb_init(): the return value of ext4_mb_init_backend is int, but i is unsigned, replace it with a new int variable. Signed-off-by: Shen Feng Reviewed-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit fdf6c7a7683c6272e953a33358920e98a4d93cf0 Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: add error processing when calling ext4_mb_init_cache in mballoc Add error processing for ext4_mb_load_buddy when it calls ext4_mb_init_cache. Signed-off-by: Shen Feng Reviewed-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 31b481dc7c249eac0a108ec5dfc0d4aef2217e39 Author: Mingming Cao Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Fix ext4_mb_init_cache return error ext4_mb_init_cache() incorrectly always return EIO on success. This causes the caller of ext4_mb_init_cache() fail when it checks the return value. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 69baee062a044ef1588e423e52131710e7584d1a Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: improve some code in rb tree part of dir.c * remove unnecessary code in free_rb_tree_fname * rename free_rb_tree_fname to ext4_htree_create_dir_info since it and ext4_htree_free_dir_info are a pair * replace kmalloc with kzalloc in ext4_htree_free_dir_info All these make the code more readable and simple. PS: this patch is also suitable for ext3. Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 91d99827791fdd5f9424458ad5ae870f89dbcadf Author: Alexey Dobriyan Date: Fri Jul 11 19:27:31 2008 -0400 ext4: switch to seq_files Signed-off-by: Alexey Dobriyan Cc: Mingming Cao Signed-off-by: "Theodore Ts'o" Signed-off-by: Andrew Morton commit 07d45f126712fea3a9f44068bf65e0a26a162286 Author: Julia Lawall Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Use BUG_ON() instead of BUG() if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit ed8f9c751feb3aebf7c0dd25e61481a16412bd6e Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: start searching for the right extent from the goal group. With mballoc we search for the best extent using different criteria. We should always use the goal group when we are starting with a new criteria. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8a35694e1181a5c6d6496dca09407fc7fa4c86c2 Author: Shen Feng Date: Fri Jul 11 19:27:31 2008 -0400 ext4: fix comments to say "ext4" Change second/third to fourth. Signed-off-by: Shen Feng Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit e7dfb2463e3c1b10c38372023e0186d25dec1fa6 Author: Aneesh Kumar K.V Date: Fri Jul 11 19:27:31 2008 -0400 ext4: Fix mb_find_next_bit not to return larger than max Some architectures implement ext4_find_next_bit and ext4_find_next_zero_bit in such a way that they return greater than max for some input values. Make sure mb_find_next_bit and mb_find_next_zero_bit return the right values. On 2.6.25 we have include/asm-x86/bitops_32.h static inline unsigned find_first_bit(const unsigned long *addr, unsigned size) { unsigned x = 0; while (x < size) { unsigned long val = *addr++; if (val) return __ffs(val) + x; x += (sizeof(*addr)<<3); } return x; } This can return value greater than size. Reported and fixed here for lustre https://bugzilla.lustre.org/show_bug.cgi?id=15932 https://bugzilla.lustre.org/attachment.cgi?id=17205 Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f3b35f063e9a795495fe2f7a2fe55fab11f8ab12 Author: Duane Griffin Date: Fri Jul 11 19:27:31 2008 -0400 ext4: validate directory entry data before use ext4_dx_find_entry uses ext4_next_entry without verifying that the entry is valid. If its rec_len == 0 this causes an infinite loop. Refactor the loop to check the validity of entries before checking whether they match and moving onto the next one. There are other uses of ext4_next_entry in this file which also look problematic. They should be reviewed and fixed if/when we have a test-case that triggers them. This patch fixes the first case (image hdb.25.softlockup.gz) reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882. Signed-off-by: Duane Griffin Signed-off-by: Theodore Ts'o commit 71dc8fbcf5f6363342bd636a646eeac7cfef25c3 Author: Duane Griffin Date: Fri Jul 11 19:27:31 2008 -0400 ext4: handle deleting corrupted indirect blocks While freeing indirect blocks we attach a journal head to the parent buffer head, free the blocks, then journal the parent. If the indirect block list is corrupted and points to the parent the journal head will be detached when the block is cleared, causing an OOPS. Check for that explicitly and handle it gracefully. This patch fixes the third case (image hdb.20000057.nullderef.gz) reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882. Signed-off-by: Duane Griffin Signed-off-by: Theodore Ts'o commit 91ef4caf800030fa6e5224b8a41f8c74787b303d Author: Duane Griffin Date: Fri Jul 11 19:27:31 2008 -0400 ext4: handle corrupted orphan list at mount If the orphan node list includes valid, untruncatable nodes with nlink > 0 the ext4_orphan_cleanup loop which attempts to delete them will not do so, causing it to loop forever. Fix by checking for such nodes in the ext4_orphan_get function. This patch fixes the second case (image hdb.20000009.softlockup.gz) reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882. Signed-off-by: Duane Griffin Signed-off-by: Theodore Ts'o commit feae1ef116ed381625d3731c5ae4f4ebcb3fa302 Author: Roland Dreier Date: Fri Jul 11 13:54:40 2008 -0700 IB/umad: BKL is not needed for ib_umad_open() Remove explicit lock_kernel() calls and document why the code is safe. Signed-off-by: Roland Dreier Signed-off-by: Jonathan Corbet commit 3cabf37f6167125cb5185db05f5061650f685ab7 Author: Robert Richter Date: Fri Jul 11 12:26:59 2008 +0200 x86/pci: Changing subsystem init for visws I don't know, if this new code boots, but at least it compiles. Someone should really test it. Signed-off-by: Robert Richter Cc: Robert Richter Signed-off-by: Ingo Molnar commit e27cf3a2e151b79375efadf71a5d383ad416fb44 Author: Robert Richter Date: Fri Jul 11 12:18:41 2008 +0200 x86/pci: renaming numa into numaq Cc: Yinghai Lu Signed-off-by: Robert Richter Cc: Robert Richter Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 9314d301390ad0d96986da3d893a21e81a287982 Author: Robert Richter Date: Fri Jul 11 12:18:40 2008 +0200 x86/pci: renamed: numa.c -> numaq_32.c Cc: Yinghai Lu Signed-off-by: Robert Richter Cc: Robert Richter Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 060b9708a0c04cf9af69c128ef7954b6f0a84180 Author: Robert Richter Date: Fri Jul 11 12:14:27 2008 +0200 x86/pci: Changing subsystem initialization order for NUMA Cc: Yinghai Lu Signed-off-by: Robert Richter Cc: Robert Richter Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 2510495e208e7a69b64fcf5cdf8966d873536d9e Author: Robert Richter Date: Fri Jul 11 12:13:59 2008 +0200 x86/pci: Removing pci-y in Makefile Cc: Sam Ravnborg Signed-off-by: Robert Richter Cc: Robert Richter Cc: Sam Ravnborg Signed-off-by: Ingo Molnar commit 6c82a000a29b93541b5b7db597a083c069755cc9 Merge: 5b4d238... 39415a4... Author: Ingo Molnar Date: Fri Jul 11 21:22:18 2008 +0200 Merge branch 'x86/generalize-visws' into x86/core commit 5b4d2386c23e5de553fce002892c7691a989b350 Author: Maciej W. Rozycki Date: Fri Jul 11 19:47:15 2008 +0100 x86: Recover timer_ack lost in the merge of the NMI watchdog In the course of the recent unification of the NMI watchdog an assignment to timer_ack to switch off unnecesary POLL commands to the 8259A in the case of a watchdog failure has been accidentally removed. The statement used to be limited to the 32-bit variation as since the rewrite of the timer code it has been relevant for the 82489DX only. This change brings it back. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit af174783b9251f0afd4bb78927221bcaaa65d3ac Author: Maciej W. Rozycki Date: Fri Jul 11 19:35:23 2008 +0100 x86: I/O APIC: Never configure IRQ2 There is no such entity as ISA IRQ2. The ACPI spec does not make it explicitly clear, but does not preclude it either -- all it says is ISA legacy interrupts are identity mapped by default (subject to overrides), but it does not state whether IRQ2 exists or not. As a result if there is no IRQ0 override, then IRQ2 is normally initialised as an ISA interrupt, which implies an edge-triggered line, which is unmasked by default as this is what we do for edge-triggered I/O APIC interrupts so as not to miss an edge. To the best of my knowledge it is useless, as IRQ2 has not been in use since the PC/AT as back then it was taken by the 8259A cascade interrupt to the slave, with the line position in the slot rerouted to newly-created IRQ9. No device could thus make use of this line with the pair of 8259A chips. Now in theory INTIN2 of the I/O APIC may be usable, but the interrupt of the device wired to it would not be available in the PIC mode at all, so I seriously doubt if anybody decided to reuse it for a regular device. However there are two common uses of INTIN2. One is for IRQ0, with an ACPI interrupt override (or its equivalent in the MP table). But in this case IRQ2 is gone entirely with INTIN0 left vacant. The other one is for an 8959A ExtINTA cascade. In this case IRQ0 goes to INTIN0 and if ACPI is used INTIN2 is assumed to be IRQ2 (there is no override and ACPI has no way to report ExtINTA interrupts). This is where a problem happens. The problem is INTIN2 is configured as a native APIC interrupt, with a vector assigned and the mask cleared. And the line may indeed get active and inject interrupts if the master 8959A has its timer interrupt enabled (it might happen for other interrupts too, but they are normally masked in the process of rerouting them to the I/O APIC). There are two cases where it will happen: * When the I/O APIC NMI watchdog is enabled. This is actually a misnomer as the watchdog pulses are delivered through the 8259A to the LINT0 inputs of all the local APICs in the system. The implication is the output of the master 8259A goes high and low repeatedly, signalling interrupts to INTIN2 which is enabled too! [The origin of the name is I think for a brief period during the development we had a capability in our code to configure the watchdog to use an I/O APIC input; that would be INTIN2 in this scenario.] * When the native route of IRQ0 via INTIN0 fails for whatever reason -- as it happens with the system considered here. In this scenario the timer pulse is delivered through the 8259A to LINT0 input of the local APIC of the bootstrap processor, quite similarly to how is done for the watchdog described above. The result is, again, INTIN2 receives these pulses too. Rafael's system used to escape this scenario, because an incorrect IRQ0 override would occupy INTIN2 and prevent it from being unmasked. My conclusion is IRQ2 should be excluded from configuration in all the cases and the current exception for ACPI systems should be lifted. The reason being the exception not only being useless, but harmful as well. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit c88ac1df4885ce0d762cfeff0e7d5b83725c1e5c Author: Maciej W. Rozycki Date: Fri Jul 11 19:35:17 2008 +0100 x86: L-APIC: Always fully configure IRQ0 Unlike the 32-bit one, the 64-bit variation of the LVT0 setup code for the "8259A Virtual Wire" through the local APIC timer configuration does not fully configure the relevant irq_chip structure. Instead it relies on the preceding I/O APIC code to have set it up, which does not happen if the I/O APIC variants have not been tried. The patch includes corresponding changes to the 32-bit variation too which make them both the same, barring a small syntactic difference involving sequence of functions in the source. That should work as an aid with the upcoming merge. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit 1baea6e2fea6f235b21f32a322cb6cb43ffdb704 Author: Maciej W. Rozycki Date: Fri Jul 11 19:34:36 2008 +0100 x86: L-APIC: Set IRQ0 as edge-triggered IRQ0 is edge-triggered, but the "8259A Virtual Wire" through the local APIC configuration in the 32-bit version uses the "fasteoi" handler suitable for level-triggered APIC interrupt. Rewrite code so that the "edge" handler is used. The 64-bit version uses different code and is unaffected. Signed-off-by: Maciej W. Rozycki Cc: "Rafael J. Wysocki" Cc: Matthew Garrett Cc: Andreas Herrmann Cc: Stephen Rothwell Signed-off-by: Ingo Molnar commit 392a0fc96bd059b38564f5f8fb58327460cb5a9d Author: Glauber Costa Date: Fri Jul 11 12:36:52 2008 -0300 x86: merge dwarf2 headers Merge dwarf2_32.h and dwarf2_64.h into dwarf2.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d73a731abe2a77fb54c5de4f72036b60ce3a048e Author: Glauber Costa Date: Thu Jul 10 15:17:53 2008 -0300 x86: use AS_CFI instead of UNWIND_INFO In dwarf2_32.h, test for CONFIG_AS_CFI instead of CONFIG_UNWIND_INFO. Turns out that searching for UNWIND_INFO returns no match in any Kconfig or Makefile, so we're really just throwing everything away regarding dwarf frames for i386. The test that generates CONFIG_AS_CFI does not have anything x86_64-specific, and right now, checking V=1 builds shows me that the flags is there anyway, although unused. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 70f1bba4c8ff88d7fd9e06f1b2cb2b3c58e8e5f9 Author: Glauber Costa Date: Thu Jul 10 15:14:57 2008 -0300 x86: use ignore macro instead of hash comment In dwarf_64.h header, use the "ignore" macro the way i386 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 557d7d4e294ee6fb1db0cb6c1ec97a1c908b880d Author: Glauber Costa Date: Thu Jul 10 15:09:20 2008 -0300 x86: use matching CFI_ENDPROC The RING0_INT_FRAME macro defines a CFI_STARTPROC. So we should really be using CFI_ENDPROC after it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d9fc3fd3fab186447b5d2e7db3c2ee149064cc7c Author: Ingo Molnar Date: Fri Jul 11 19:41:19 2008 +0200 x86: fix savesegment() bug causing crashes on 64-bit i spent a fair amount of time chasing a 64-bit bootup crash that manifested itself as bootup segfaults: S10network[1825]: segfault at 7f3e2b5d16b8 ip 00000031108748c9 sp 00007fffb9c14c70 error 4 in libc-2.7.so[3110800000+14d000] eventually causing init to die and panic the system: Kernel panic - not syncing: Attempted to kill init! Pid: 1, comm: init Not tainted 2.6.26-rc9-tip #13878 after a maratonic bisection session, the bad commit turned out to be: | b7675791859075418199c7af86a116ea34eaf5bd is first bad commit | commit b7675791859075418199c7af86a116ea34eaf5bd | Author: Jeremy Fitzhardinge | Date: Wed Jun 25 00:19:00 2008 -0400 | | x86: remove open-coded save/load segment operations | | This removes a pile of buggy open-coded implementations of savesegment | and loadsegment. after some more bisection of this patch itself, it turns out that what makes the difference are the savesegment() changes to __switch_to(). Taking a look at this portion of arch/x86/kernel/process_64.o revealed this crutial difference: | good: 99c: 8c e0 mov %fs,%eax | 99e: 89 45 cc mov %eax,-0x34(%rbp) | | bad: 99c: 8c 65 cc mov %fs,-0x34(%rbp) which is due to: | unsigned fsindex; | - asm volatile("movl %%fs,%0" : "=r" (fsindex)); | + savesegment(fs, fsindex); savesegment() is implemented as: #define savesegment(seg, value) \ asm("mov %%" #seg ",%0":"=rm" (value) : : "memory") note the "m" modifier - it allows GCC to generate the segment move into a memory operand as well. But regarding segment operands there's a subtle detail in the x86 instruction set: the above 16-bit moves are zero-extend, but only if it goes to a register. If it goes to a memory operand, -0x34(%rbp) in the above case, there's no zero-extend to 32-bit and the instruction will only save 16 bits instead of the intended 32-bit. The other 16 bits is random data - which can cause problems when that value is used later on. The solution is to only allow segment operands to go to registers. This fix allows my test-system to boot up without crashing. Signed-off-by: Ingo Molnar commit 0533400b7813df6c22a171499434d30bd57e799c Author: Stoyan Gaydarov Date: Mon Jul 7 07:45:59 2008 -0500 [JFFS2] Use .unlocked_ioctl This changes the .ioctl to the .unlocked_ioctl version. Signed-off-by: Stoyan Gaydarov Signed-off-by: David Woodhouse commit 36560d255b017dbcaefbf0f8fee7ad4dd1f0fe0a Author: David Howells Date: Tue Jul 8 17:09:03 2008 +0100 [MTD] Fix const assignment in the MTD command line partitioning driver Fix const to non-const pointer assignment in the MTD command line partitioning driver. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 3a3688b6af103e2c86a7cfc2050988655e184ecc Author: Jean Delvare Date: Thu Jul 10 13:37:08 2008 +0200 [MTD] [NOR] gen_probe: No debug message when debugging is disabled Use pr_debug(...) instead of printk(KERN_DEBUG ...) so that the message is only printed when debugging is enabled. Signed-off-by: Jean Delvare Tested-by: John stoffel Signed-off-by: David Woodhouse commit f63af11ddb508ce7b2a270515244d145248cad7f Author: Milton Miller Date: Thu Jul 10 16:14:18 2008 -0500 [MTD] [NAND] remove __PPC__ hardcoded address from DiskOnChip drivers Such a hardcoded address can cause a checkstop or machine check if the driver is in the kernel but the address is not acknowledged. Both drivers allow an address to be specified as either a module parameter or config option. Any future powerpc board should either use one of these methods or find the address in the device tree. Signed-off-by: Milton Miller Signed-off-by: David Woodhouse commit 6f40470e745693ee4ad85edb441b0aad5cae3f00 Author: Ben Dooks Date: Wed Jul 9 14:09:20 2008 +0100 [MTD] [MAPS] Remove the bast-flash driver. Remove the Simtec BAST flash driver as this has been replaced by using the platform flash driver. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 0acf944c6853813ed19cdf46d4042a77dd878ab5 Author: Anton Vorontsov Date: Fri Jun 27 23:04:20 2008 +0400 [MTD] [NAND] fsl_elbc_nand: ecclayout cleanups This patch deletes oobavail assignments, they're calculated by the nand core code in nand_scan_tail, plus current oobavail values are wrong for the LP NANDs. Also remove mtd->ecclayout and mtd->oobavail assignments, mtd core handles this all by itself. Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit ec6e0ea3bdf82ee9761d324c011c3627821f7410 Author: Anton Vorontsov Date: Fri Jun 27 23:04:13 2008 +0400 [MTD] [NAND] fsl_elbc_nand: implement support for flash-based BBT This patch implements support for flash-based BBT for chips working through ELBC NAND controller, so that NAND core will not have to re-scan for bad blocks on every boot. Because ELBC controller may provide HW-generated ECCs we should adjust bbt pattern and bbt version positions in the OOB free area. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: David Woodhouse commit 452db2724351ff3d9416a183a7955e00ab4e6ab4 Author: Anton Vorontsov Date: Fri Jun 27 23:04:04 2008 +0400 [MTD] [NAND] fsl_elbc_nand: fix OOB workability for large page NAND chips For large page chips, nand_bbt is looking into OOB area, and checking for "0xff 0xff" pattern at OOB offset 0. That is, two bytes should be reserved for bbt means. But ELBC driver is specifying ecclayout so that oobfree area starts at offset 1, so only one byte left for the bbt purposes. This causes problems with any OOB users, namely JFFS2: after first mount JFFS2 will fill all OOBs with "erased marker", so OOBs will contain: OOB Data: ff 19 85 20 03 00 ff ff ff 00 00 08 ff ff ff ff OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff And on the next boot, NAND core will rescan for bad blocks, then will see "0xff 0x19" pattern, and will mark all blocks as bad ones. To fix the issue we should implement our own bad block pattern: just one byte at OOB start. Though, this will work only for x8 chips. For x16 chips two bytes must be checked. Since ELBC driver does not support x16 NANDs (yet), we're safe for now. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: David Woodhouse commit d591b0a3ae25f587d0c4da1e1d1a425143590790 Author: Joerg Roedel Date: Fri Jul 11 17:14:35 2008 +0200 x86, AMD IOMMU: replace DEVID macro with a function This patch replaces the DEVID macro with a function and uses them where apropriate (also in the core code). Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 83f5aac18ccd02170f4a61e7289ceabd5101c1a0 Author: Joerg Roedel Date: Fri Jul 11 17:14:34 2008 +0200 x86, AMD IOMMU: fix device table entry size A device table entry is actually only 256 *bits* large. Not 256 bytes. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 0906372e6cf372f3162481f24a0b8ccae0eff4d7 Author: Joerg Roedel Date: Fri Jul 11 17:14:33 2008 +0200 x86, AMD IOMMU: replace self made size parsing with memparse call This patch replaces the self-made parsing of the amd_iommu_size option with the generic memparse function call. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 5dc8bff0f6d0dfeb1f1c6e694294ba7c33d099f1 Author: Joerg Roedel Date: Fri Jul 11 17:14:32 2008 +0200 x86, AMD IOMMU: replace memset with __GFP_ZERO for table allocation This patch removes the memset from the data structure initialization code and allocate the structures with the __GFP_ZERO flag. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 2e22847fbe05f2543ccebd0c2df94d9cf3c52aa5 Author: Joerg Roedel Date: Fri Jul 11 17:14:31 2008 +0200 x86, AMD IOMMU: do runtime list initialization at compile time This patch changes the list initialization for the iommu list and the unity map list from runtime to compile time. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 58a3bee567b588a84cdde05fecc45439b396362c Author: Joerg Roedel Date: Fri Jul 11 17:14:30 2008 +0200 x86, AMD IOMMU: use true/false instead of 0/1 for bool value This patch replaces the integer values used for the bool variable in ACPI scanning code with true and false. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit d0312b2142ac7665031755c1cc3dba827d4eb711 Author: Joerg Roedel Date: Fri Jul 11 17:14:29 2008 +0200 x86, AMD IOMMU: remove unneeded initializations from command buffer allocation This patch removes an unneeded initialization from the alloc_command_buffer function and replaces a memset with __GFP_ZERO. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit d64495366ff78fdbd5bd3176a7ada2f0c2cbfba6 Author: Joerg Roedel Date: Fri Jul 11 17:14:28 2008 +0200 x86, AMD IOMMU: rename struct command to iommu_cmd This patch gives the struct command a more descriptive and not so generic name. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 136f78a19cf94d469f31a4009c7c0ac2301fbbf0 Author: Joerg Roedel Date: Fri Jul 11 17:14:27 2008 +0200 x86, AMD IOMMU: add an emergency exit to the completion wait loop To make the loop waiting for the completion wait command not wait forever this patch adds a limit of cycles that loop. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 9a836de0c9944c42d006ec241712c72e74737c73 Author: Joerg Roedel Date: Fri Jul 11 17:14:26 2008 +0200 x86, AMD IOMMU: remove unnecessary free checks from init code This patch removes unnecessary checks before memory is released. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit c571484e53f3e1d90bc5374528580c7419d28d4c Author: Joerg Roedel Date: Fri Jul 11 17:14:25 2008 +0200 x86, AMD IOMMU: replace TBL_SIZE macro with a function This patch converts the TBL_SIZE macro in the init code to a function. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 208ec8c94d818a3def0b424958493728871716d1 Author: Joerg Roedel Date: Fri Jul 11 17:14:24 2008 +0200 x86, AMD IOMMU: replace UPDATE_LAST_BDF macro with a function This patch replaces the UPDATE_LAST_BDF macro in the init code with the update_last_devid function. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 8ea80d783efd0c50577ec8d69757ae54c408eacd Author: Joerg Roedel Date: Fri Jul 11 17:14:23 2008 +0200 x86, AMD IOMMU: replace HIGH_U32 macro with upper_32_bits function Removes a driver specific macro and replaces it with a generic function already available in Linux. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 431b2a2015337533f1a9e39a840266a8a2c93144 Author: Joerg Roedel Date: Fri Jul 11 17:14:22 2008 +0200 x86, AMD IOMMU: add comments to core code This patch adds comments about how the AMD IOMMU core code works for the DMA remapping functionality. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit b65233a9c1da587bf19ee161982f4f0ec59941c0 Author: Joerg Roedel Date: Fri Jul 11 17:14:21 2008 +0200 x86, AMD IOMMU: add comments to the initialization code This patch adds some comments to the AMD IOMMU initialization code to increase its readability. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit 5694703f14b1f6219fce42a27229b0c7d2c23edd Author: Joerg Roedel Date: Fri Jul 11 17:14:20 2008 +0200 x86, AMD IOMMU: add comments to amd_iommu_types.h Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Signed-off-by: Ingo Molnar commit b2613e370dbeb69edbff989382fa54f2395aa471 Author: Ingo Molnar Date: Fri Jul 11 16:44:27 2008 +0200 ftrace: build fix for ftraced_suspend fix: kernel/trace/ftrace.c:1615: error: 'ftraced_suspend' undeclared (first use in this function) kernel/trace/ftrace.c:1615: error: (Each undeclared identifier is reported only once kernel/trace/ftrace.c:1615: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit 9076689ab07974a6f5d230fc241448f7a77e9078 Author: Krzysztof Halasa Date: Wed Jul 9 13:10:32 2008 +0200 ARM: IXP4xx Ethernet NAPI fix This patch removes some weirdness from IXP4xx Ethernet driver. Signed-off-by: Krzysztof HaÅ‚asa Signed-off-by: Jeff Garzik commit c300ba252829e9325e08f0af60687add94445b25 Author: Steven Rostedt Date: Wed Jul 9 00:15:33 2008 -0400 sched_clock: and multiplier for TSC to gtod drift The sched_clock code currently tries to keep all CPU clocks of all CPUS somewhat in sync. At every clock tick it records the gtod clock and uses that and jiffies and the TSC to calculate a CPU clock that tries to stay in sync with all the other CPUs. ftrace depends heavily on this timer and it detects when this timer "jumps". One problem is that the TSC and the gtod also drift. When the TSC is 0.1% faster or slower than the gtod it is very noticeable in ftrace. To help compensate for this, I've added a multiplier that tries to keep the CPU clock updating at the same rate as the gtod. I've tried various ways to get it to be in sync and this ended up being the most reliable. At every scheduler tick we calculate the new multiplier: multi = delta_gtod / delta_TSC This means we perform a 64 bit divide at the tick (once a HZ). A shift is used to handle the accuracy. Other methods that failed due to dynamic HZ are: (not used) multi += (gtod - tsc) / delta_gtod (not used) multi += (gtod - (last_tsc + delta_tsc)) / delta_gtod as well as other variants. This code still allows for a slight drift between TSC and gtod, but it keeps the damage down to a minimum. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: john stultz Signed-off-by: Ingo Molnar commit a83bc47c33ab182f1e48977fd5a04024d713c75e Author: Steven Rostedt Date: Wed Jul 9 00:15:32 2008 -0400 sched_clock: record TSC after gtod To read the gtod we need to grab the xtime lock for read. Reading the gtod before the TSC can cause a bigger gab if the xtime lock is contended. This patch simply reverses the order to read the TSC after the gtod. The locking in the reading of the gtod handles any barriers one might think is needed. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: john stultz Signed-off-by: Ingo Molnar commit c0c87734f125d2fa8ebc70310f3257fa6209f2b6 Author: Steven Rostedt Date: Wed Jul 9 00:15:31 2008 -0400 sched_clock: only update deltas with local reads. Reading the CPU clock should try to stay accurate within the CPU. By reading the CPU clock from another CPU and updating the deltas can cause unneeded jumps when reading from the local CPU. This patch changes the code to update the last read TSC only when read from the local CPU. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: john stultz Signed-off-by: Ingo Molnar commit 2b8a0cf4890d7537a77b51caa8f508e4a05a0e67 Author: Steven Rostedt Date: Mon Jul 7 19:49:41 2008 -0400 sched_clock: fix calculation of other CPU The algorithm to calculate the 'now' of another CPU is not correct. At each scheduler tick, each CPU records the last sched_clock and gtod (tick_raw and tick_gtod respectively). If the TSC is somewhat the same in speed between two clocks the algorithm would be: tick_gtod1 + (now1 - tick_raw1) = tick_gtod2 + (now2 - tick_raw2) To calculate now2 we would have: now2 = (tick_gtod1 - tick_gtod2) + (tick_raw2 - tick_raw1) + now1 Currently the algorithm is: now2 = (tick_gtod1 - tick_gtod2) + (tick_raw1 - tick_raw2) + now1 This solves most of the rest of the issues I've had with timestamps in ftace. Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: john stultz Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit af52a90a14cdaa54ecbfb6e6982abb13466a4b56 Author: Steven Rostedt Date: Mon Jul 7 14:16:52 2008 -0400 sched_clock: stop maximum check on NO HZ Working with ftrace I would get large jumps of 11 millisecs or more with the clock tracer. This killed the latencing timings of ftrace and also caused the irqoff self tests to fail. What was happening is with NO_HZ the idle would stop the jiffy counter and before the jiffy counter was updated the sched_clock would have a bad delta jiffies to compare with the gtod with the maximum. The jiffies would stop and the last sched_tick would record the last gtod. On wakeup, the sched clock update would compare the gtod + delta jiffies (which would be zero) and compare it to the TSC. The TSC would have correctly (with a stable TSC) moved forward several jiffies. But because the jiffies has not been updated yet the clock would be prevented from moving forward because it would appear that the TSC jumped too far ahead. The clock would then virtually stop, until the jiffies are updated. Then the next sched clock update would see that the clock was very much behind since the delta jiffies is now correct. This would then jump the clock forward by several jiffies. This caused ftrace to report several milliseconds of interrupts off latency at every resume from NO_HZ idle. This patch adds hooks into the nohz code to disable the checking of the maximum clock update when nohz is in effect. It resumes the max check when nohz has updated the jiffies again. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit f7cce27f5605b9e137b829a47949cb2d3c7e1cab Author: Steven Rostedt Date: Mon Jul 7 14:16:51 2008 -0400 sched_clock: widen the max and min time With keeping the max and min sched time within one jiffy of the gtod clock was too tight. Just before a schedule tick the max could easily be hit, as well as just after a schedule_tick the min could be hit. This caused the clock to jump around by a jiffy. This patch widens the minimum to last gtod + (delta_jiffies ? delta_jiffies - 1 : 0) * TICK_NSECS and the maximum to last gtod + (2 + delta_jiffies) * TICK_NSECS This keeps the minum to gtod or if one jiffy less than delta jiffies and the maxim 2 jiffies ahead of gtod. This may cause unstable TSCs to be a bit more sporadic, but it helps keep a clock with a stable TSC working well. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 62c43dd9864dbd52ff158922d1d08c75f20335af Author: Steven Rostedt Date: Mon Jul 7 14:16:50 2008 -0400 sched_clock: record from last tick The sched_clock code tries to keep within the gtod time by one tick (jiffy). The current code mistakenly keeps track of the delta jiffies between updates of the clock, where the the delta is used to compare with the number of jiffies that have past since an update of the gtod. The gtod is updated at each schedule tick not each sched_clock update. After one jiffy passes the clock is updated fine. But the delta is taken from the last update so if the next update happens before the next tick the delta jiffies used will be incorrect. This patch changes the code to check the delta of jiffies between ticks and not updates to match the comparison of the updates with the gtod. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit bd5a43822b438f297f4088f1cfd3514e32e56328 Author: David Brownell Date: Thu Jul 3 23:40:19 2008 -0700 [MTD] [NAND] atmel_nand can be modular There's no reason to prevent the Atmel NAND driver from building as a module. Signed-off-by: David Brownell Signed-off-by: HÃ¥vard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit d6248fddf717041f25781050e6392cc76525272d Author: Haavard Skinnemoen Date: Thu Jul 3 23:40:18 2008 -0700 [MTD] [NAND] atmel_nand: Work around AT32AP7000 ECC erratum The ALE signal isn't correctly wired up to the ECC controller on the AP7000, so it starts calculating ECC during the address cycles. Work around this by resetting the ECC controller between the address and data cycles. Signed-off-by: HÃ¥vard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 23a346ca4a5a6f50f81062456af955155f68e313 Author: David Brownell Date: Thu Jul 3 23:40:16 2008 -0700 [MTD] [NAND] atmel_nand speedup via {read,write}s{b,w}() This uses __raw_{read,write}s{b,w}() primitives to access data on NAND chips for more efficient I/O. On an arm926 with memory clocked at 100 MHz, this reduced the elapsed time for a 64 MiB read by 16%. ("dd" /dev/mtd0 to /dev/null, with an 8-bit NAND using hardware ECC and 128KiB blocksize.) Also some minor section tweaks: - Use platform_driver_probe() so no pointer to probe() lingers after that code has been removed at run-time. - Use __exit and __exit_p so the remove() code will normally be removed by the linker. Since these buffer read/write calls are new, this increases the runtime code footprint (by 88 bytes on my build, after the section tweaks). [haavard.skinnemoen@atmel.com: rebase onto atmel_nand rename] Signed-off-by: David Brownell Signed-off-by: HÃ¥vard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 60bc080090e3bf6afa29c62cb25f913706551010 Author: Steven Rostedt Date: Thu Jul 10 20:58:16 2008 -0400 ftrace: separate out the function enabled variable Currently the function tracer uses the global tracer_enabled variable that is used to keep track if the tracer is enabled or not. The function tracing startup needs to be separated out, otherwise the internal happenings of the tracer startup is also recorded. This patch creates a ftrace_function_enabled variable to all the starting of the function traces to happen after everything has been started. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit a2bb6a3d85ef3124cd336403a95abc0540d3fbe2 Author: Steven Rostedt Date: Thu Jul 10 20:58:15 2008 -0400 ftrace: add ftrace_kill_atomic It has been suggested that I add a way to disable the function tracer on an oops. This code adds a ftrace_kill_atomic. It is not meant to be used in normal situations. It will disable the ftrace tracer, but will not perform the nice shutdown that requires scheduling. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 26bc83f4cb911a0b4dabfe23b700aaf3235f2955 Author: Steven Rostedt Date: Thu Jul 10 20:58:14 2008 -0400 ftrace: use current CPU for function startup This is more of a clean up. Currently the function tracer initializes the tracer with which ever CPU was last used for tracing. This value isn't realy useful for function tracing, but at least it should be something other than a random number. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit ad591240ceadcaf41b2a88855ca5f1c77c5a0298 Author: Steven Rostedt Date: Thu Jul 10 20:58:13 2008 -0400 ftrace: start wakeup tracing after setting function tracer Enabling the wakeup tracer before enabling the function tracing causes some strange results due to the dynamic enabling of the functions. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit b5c21b4514b38f450848feb432f7120376d01ffe Author: Steven Rostedt Date: Thu Jul 10 20:58:12 2008 -0400 ftrace: check proper config for preempt type There is no CONFIG_PREEMPT_DESKTOP. Use the proper entry CONFIG_PREEMPT. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 1e16c0a081f6c93f04c6af784d6a160955269f91 Author: Steven Rostedt Date: Thu Jul 10 20:58:11 2008 -0400 ftrace: trace schedule After the sched_clock code has been removed from sched.c we can now trace the scheduler. The scheduler has a lot of functions that would be worth tracing. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 001b6767b1d0c89e458e5ddb039245b268f569fb Author: Steven Rostedt Date: Thu Jul 10 20:58:10 2008 -0400 ftrace: define function trace nop When CONFIG_FTRACE is not enabled, the tracing_start_functon_trace and tracing_stop_function_trace should be nops. Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 007c05d4d2ce42fabd58cb54ed98e0a1714d9d86 Author: Steven Rostedt Date: Thu Jul 10 20:58:09 2008 -0400 ftrace: move sched_switch enable after markers We have two markers now that are enabled on sched_switch. One that records the context switching and the other that records task wake ups. Currently we enable the tracing first and then set the markers. This causes some confusing traces: # tracer: sched_switch # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | trace-cmd-3973 [00] 115.834817: 3973:120:R + 3: 0:S trace-cmd-3973 [01] 115.834910: 3973:120:R + 6: 0:S trace-cmd-3973 [02] 115.834910: 3973:120:R + 9: 0:S trace-cmd-3973 [03] 115.834910: 3973:120:R + 12: 0:S trace-cmd-3973 [02] 115.834910: 3973:120:R + 9: 0:S -0 [02] 115.834910: 0:140:R ==> 3973:120:R Here we see that trace-cmd with PID 3973 wakes up task 9 but the next line shows the idle task doing a context switch to task 3973. Enabling the tracing to _after_ the markers are set creates a much saner output: # tracer: sched_switch # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | -0 [02] 7922.634225: 0:140:R ==> 4790:120:R trace-cmd-4789 [03] 7922.634225: 0:140:R + 4790:120:R Signed-off-by: Steven Rostedt Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 175428b2b3eeacf90dcc171d5915d6b4dc86e917 Author: Harvey Harrison Date: Thu Jul 3 23:40:14 2008 -0700 [MTD] mtdchar.c remove shadowed variable warnings Use einfo, oinfo for the inner erase_info and otp_info structs used in individual case statements. drivers/mtd/mtdchar.c:582:26: warning: symbol 'info' shadows an earlier one drivers/mtd/mtdchar.c:380:23: originally declared here drivers/mtd/mtdchar.c:596:26: warning: symbol 'info' shadows an earlier one drivers/mtd/mtdchar.c:380:23: originally declared here drivers/mtd/mtdchar.c:704:19: warning: symbol 'info' shadows an earlier one drivers/mtd/mtdchar.c:380:23: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 5f6928378b165c4b0d57a711e1c1eb925ad33846 Author: Harvey Harrison Date: Thu Jul 3 23:40:13 2008 -0700 [MTD] mtdchar.c silence sparse warning The copy_to_user was casting away the address space to get the offset of the length member. Use offsetof() instead and add it to the void __user *argp. drivers/mtd/mtdchar.c:527:23: warning: cast removes address space of expression drivers/mtd/mtdchar.c:527:23: warning: incorrect type in argument 1 (different address spaces) drivers/mtd/mtdchar.c:527:23: expected void [noderef] *to drivers/mtd/mtdchar.c:527:23: got unsigned int * Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit b6ad92d4faade38619e89acc509ca1416b81a0bd Author: Jeremy Fitzhardinge Date: Thu Jul 10 18:13:36 2008 -0700 x86_64: vdso32 cleanup using feature flags Use the X86_FEATURE_SYSENTER32 to remove hard-coded CPU vendor check. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8d28aab59fe939be40efae870ced0b05caa259fb Author: Jeremy Fitzhardinge Date: Thu Jul 10 16:22:56 2008 -0700 x86_64: add pseudo-features for 32-bit compat syscall Add pseudo-feature bits to describe whether the CPU supports sysenter and/or syscall from ia32-compat userspace. This removes a hardcoded test in vdso32-setup. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 72289824423655e67993c25c91a7a86a34917209 Author: Michael Hennerich Date: Thu Jul 3 23:54:42 2008 -0700 [MTD] m25p80: fix bug - ATmel spi flash fails to be copied to Atmel serial flash tends to power up with the protection status bits set. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=4089 [michael.hennerich@analog.com: remove duplicate code] Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit a8931ef380c92d121ae74ecfb03b2d63f72eea6f Merge: 90574d0... e5a5816... Author: David Woodhouse Date: Fri Jul 11 14:36:25 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 4abaca17e758e3326c96ced88b2cd9b7b84922f6 Author: David Howells Date: Fri Jul 11 14:39:56 2008 +0100 [GFS2] Fix GFS2's use of do_div() in its quota calculations Fix GFS2's need_sync()'s use of do_div() on an s64 by using div_s64() instead. This does assume that gt_quota_scale_den can be cast to an s32. This was introduced by patch b3b94faa5fe5968827ba0640ee9fba4b3e7f736e. Signed-off-by: David Howells Signed-off-by: Steven Whitehouse commit 3d0decc4f49e8645cd6369b02ed076bebd3d61ad Author: Ingo Molnar Date: Fri Jul 11 15:09:15 2008 +0200 x86: fix tsc unification buglet with ftrace and stackprotector Yinghai Lu reported crashes on 64-bit x86: BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 IP: [] hrtick_start_fair+0x89/0x173 [...] And with a long session of debugging and a lot of difficulty, tracked it down to this commit: ---------------> 8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2 is first bad commit commit 8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2 Author: Alok Kataria Date: Tue Jul 1 11:43:34 2008 -0700 x86: merge tsc_init and clocksource code <-------------- The problem is that the TSC unification missed these Makefile rules in arch/x86/kernel/Makefile: # Do not profile debug and lowlevel utilities CFLAGS_REMOVE_tsc_64.o = -pg CFLAGS_REMOVE_tsc_32.o = -pg ... CFLAGS_tsc_64.o := $(nostackp) ... which rules make sure that various instrumentation and debugging facilities are disabled for code that might end up in a VDSO - such as the TSC code. Reported-and-bisected-by: Yinghai Lu Signed-off-by: Ingo Molnar Conflicts: Signed-off-by: Ingo Molnar commit 7e93a89251d4ed7bd4475db62616ccd03ddfd01a Author: Andre Noll Date: Fri Jul 11 22:02:23 2008 +1000 md: Remove some unused macros. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 0f420358e3a2abc028320ace7783e2e38cae77bf Author: Andre Noll Date: Fri Jul 11 22:02:23 2008 +1000 md: Turn rdev->sb_offset into a sector-based quantity. Rename it to sb_start to make sure all users have been converted. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit b73df2d3d629aefa187a0a3574fd81455e026bc8 Author: Andre Noll Date: Fri Jul 11 22:02:23 2008 +1000 md: Make calc_dev_sboffset() return a sector count. As BLOCK_SIZE_BITS is 10 and MD_NEW_SIZE_SECTORS(2 * x) = 2 * NEW_SIZE_BLOCKS(x), the return value of calc_dev_sboffset() doubles. Fix up all three callers accordingly. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit e7debaa4951b37d6c9ace4c6b984cd4805c5bfbb Author: Andre Noll Date: Fri Jul 11 22:02:23 2008 +1000 md: Replace calc_dev_size() by calc_num_sectors(). Number of sectors is the preferred unit for sizes of raid devices, so change calc_dev_size() so that it returns this unit instead of the number of 1K blocks. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit d71f9f88d74166dcdef743a057f9222d64d2d509 Author: Andre Noll Date: Fri Jul 11 22:02:22 2008 +1000 md: Make update_size() take the number of sectors. Changing the internal representations of sizes of raid devices from 1K blocks to sector counts (512B units) is desirable because it allows to get rid of many divisions/multiplications and unnecessary casts that are present in the current code. This patch is a first step in this direction. It replaces the old 1K-based "size" argument of update_size() by "num_sectors" and fixes up its two callers. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit df5b20cf68f9c90204c5fd36b7b090635cee3cdf Author: Neil Brown Date: Fri Jul 11 22:02:22 2008 +1000 md: Better control of when do_md_stop is allowed to stop the array. do_md_stop check the number of active users before allowing the array to be stopped. Two problems: 1/ it assumes the request is coming through an open file descriptor (via ioctl) so it allows for that. This is not always the case. 2/ it doesn't do the check it the array hasn't been activated. This is not good for cases when we use an inactive array to hold some devices in a container. Signed-off-by: Neil Brown commit 26ef379f53993b1da3c19b63257cd47e1d9cd672 Author: Andre Noll Date: Fri Jul 11 22:02:21 2008 +1000 md: get_disk_info(): Don't convert between signed and unsigned and back. The current code copies a signed int from user space, converts it to unsigned and passes the unsigned value to find_rdev_nr() which expects a signed value. Simply pass the signed value from user space directly. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 80fab1d77b2852711917baa437e4fdab31c21fef Author: Andre Noll Date: Fri Jul 11 22:02:21 2008 +1000 md: Simplify restart_array(). Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit ebc243372842a81dddbe00bd047a25b8ee7d8b87 Author: Andre Noll Date: Fri Jul 11 22:02:20 2008 +1000 md: alloc_disk_sb(): Return proper error value. If alloc_page() fails, ENOMEM is a more suitable error value than EINVAL. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit ce0c8e05f8ef93d991d665aade8c4bf35806ea1a Author: Andre Noll Date: Fri Jul 11 22:02:20 2008 +1000 md: Simplify sb_equal(). The only caller of sb_equal() tests the return value against zero, so it's OK to return the negated return value of memcmp(). Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 05710466c9ef2e3ee55166934c801a2393c32f80 Author: Andre Noll Date: Fri Jul 11 22:02:20 2008 +1000 md: Simplify uuid_equal(). Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 0306d5efbf897c7d410fd30b89fc7d97372aa501 Merge: f9f278f... e5a5816... Author: Neil Brown Date: Fri Jul 11 21:57:40 2008 +1000 Merge branch 'master' into for-next commit 857f3fd7a496ddf4329345af65a4a2b16dd25fe8 Author: Heiko Carstens Date: Fri Jul 11 11:09:22 2008 +0200 nohz: don't stop idle tick if softirqs are pending. In case a cpu goes idle but softirqs are pending only an error message is printed to the console. It may take a very long time until the pending softirqs will finally be executed. Worst case would be a hanging system. With this patch the timer tick just continues and the softirqs will be executed after the next interrupt. Still a delay but better than a hanging system. Currently we have at least two device drivers on s390 which under certain circumstances schedule a tasklet from process context. This is a reason why we can end up with pending softirqs when going idle. Fixing these drivers seems to be non-trivial. However there is no question that the drivers should be fixed. This patch shouldn't be considered as a bug fix. It just is intended to keep a system running even if device drivers are buggy. Signed-off-by: Heiko Carstens Cc: Jan Glauber Cc: Stefan Weinhuber Cc: Andrew Morton Signed-off-by: Ingo Molnar commit be54f9d1c8df93c4998e134a306652caaa58f67f Author: FUJITA Tomonori Date: Fri Jul 11 10:23:45 2008 +0900 x86: remove ifdef CONFIG_SWIOTLB in pci-dma.c As other IOMMUs do, this puts dummy pci_swiotlb_init() in swiotlb.h and remove ifdef CONFIG_SWIOTLB in pci-dma.c. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Signed-off-by: Ingo Molnar commit b8b48326f312026af12799917383c54c25d05482 Author: FUJITA Tomonori Date: Fri Jul 11 10:23:44 2008 +0900 x86: remove ifdef CONFIG_CALGARY_IOMMU in pci-dma.c asm-x86/calgary.h has dummy calgary_iommu_init() and detect_calgary() in !CONFIG_CALGARY_IOMMU case. So we don't need ifdef CONFIG_CALGARY_IOMMU in pci-dma.c. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Cc: Alexis Bruemmer Signed-off-by: Ingo Molnar commit ac7ded2adb2e43152fe7385ddd53bf45f5c92285 Author: FUJITA Tomonori Date: Fri Jul 11 10:23:43 2008 +0900 x86: remove ifdef CONFIG_GART_IOMMU in pci-dma.c Our way to handle gart_* functions for CONFIG_GART_IOMMU and !CONFIG_GART_IOMMU cases is inconsistent. We have some dummy gart_* functions in !CONFIG_GART_IOMMU case and also use ifdef CONFIG_GART_IOMMU tricks in pci-dma.c to call some gart_* functions in only CONFIG_GART_IOMMU case. This patch removes ifdef CONFIG_GART_IOMMU in pci-dma.c and always use dummy gart_* functions in iommu.h. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Signed-off-by: Ingo Molnar commit 46a7fa270afbe5fddc6042a598cfe22977b0e989 Author: FUJITA Tomonori Date: Fri Jul 11 10:23:42 2008 +0900 x86: make only GART code include gart.h gart.h has only GART-specific stuff. Only GART code needs it. Other IOMMU stuff should include iommu.h instead of gart.h. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Signed-off-by: Ingo Molnar commit 0c81b2a1448bc6a2a9b2d6469fb0669fb4b25e5b Merge: 0729fbf... 70ff055... Author: Ingo Molnar Date: Fri Jul 11 10:46:50 2008 +0200 Merge branch 'linus' into core/rcu Conflicts: include/linux/rculist.h kernel/rcupreempt.c Signed-off-by: Ingo Molnar commit f361a450bf1ad14e2b003217dbf3958638631265 Author: Yinghai Lu Date: Thu Jul 10 20:38:26 2008 -0700 x86: introduce max_low_pfn_mapped for 64-bit when more than 4g memory is installed, don't map the big hole below 4g. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit f302a5bbe5eb95f3d4227d5bd0e9b92b1b125f4f Author: Yinghai Lu Date: Thu Jul 10 20:36:37 2008 -0700 x86: reserve SLIT save the SLIT, in case we are using fixmap to read it, and that fixmap could be cleared by others. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 69a7704d7a80b2563278a0c55c2ca6d6202280dc Author: Yinghai Lu Date: Thu Jul 10 04:17:00 2008 -0700 x86: e820: user-defined memory maps: remove the range instead of update it to reserved also let mem= to print out modified e820 map too Signed-off-by: Yinghai Lu Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit 67fbbe1551b24d1bcab8478407f9b8c713d5596e Author: Ralf Baechle Date: Wed Jul 9 12:38:43 2008 +0100 SAA9730: Remove driver The only user of the board, the extremly dated and rare MIPS Atlas board, has been removed, so this driver can go, too. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit e9911c2c8f87cfda47109c42e399fa487117095c Author: Takashi Iwai Date: Mon Jul 7 16:51:45 2008 +0200 Fix missing exports for net/phy/mdio-bitbang.c {alloc,free}_mdio_bitbang() are not exported while they are used in mdio-ofgpio driver. Signed-off-by: Takashi Iwai Signed-off-by: Jeff Garzik commit 9439f749441f3a7c2c8ef9e32b698cfe9ed60f48 Author: Karen Xie Date: Tue Jul 8 09:32:34 2008 -0700 cxgb3 - Add iscsi support Add iSCSI (S3xx) support. Signed-off-by: Karen Xie Signed-off-by: Jeff Garzik commit 5e4fe5c45ac6dda534c362e29bd4eb39f4d9cba8 Author: Mark McLoughlin Date: Tue Jul 8 17:10:42 2008 +1000 virtio_net: Set VIRTIO_NET_F_GUEST_CSUM feature We can handle receiving partial csums, so set the appropriate feature bit. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit 6eb5a7f1dbd56883680290f6a0bd2d8d15f8ff58 Author: Alexander Duyck Date: Tue Jul 8 15:14:44 2008 -0700 igb: Improve multiqueue AIM support Improve multiqueue performance Change itr_val to reflect ITR timer value instead of ints/sec Cleaned up AIM algorithms in general Based on work by Mitch Williams Signed-off-by: Alexander Duyck Acked-by: Mitch Williams Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 9280fa5201d7f69b20af4b7efadb5fe8f2f67277 Author: Alexander Duyck Date: Tue Jul 8 15:14:04 2008 -0700 igb: unused variable warning in igb remove Wrap hw variable declaration in DCA flags to prevent unused variable warning during compilation. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit a88f10ec7a5b3d87cb9372481055340018652389 Author: Alexander Duyck Date: Tue Jul 8 15:13:38 2008 -0700 igb: update suspend resume Updates the suspend and resume to better handle the possibility of MSIX vector changes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit d8156534040996f6a93a24d3592d5d587f2587e5 Author: Alexander Duyck Date: Tue Jul 8 15:13:05 2008 -0700 net: add netif_napi_del function to allow for removal of napistructs Adds netif_napi_del function which is used to remove the napi struct from the netdev napi_list in cases where CONFIG_NETPOLL was enabled. The motivation for adding this is to handle the case in which the number of queues on a device changes due to a configuration change. Previously the napi structs for each queue would be left in the list until the netdev was freed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit d3352520273426e4c16e91d189aa8aa7ee5e96c5 Author: Alexander Duyck Date: Tue Jul 8 15:12:13 2008 -0700 igb: add support for in kernel LRO This patch adds support for the use of the inet_lro module to provide software LRO support. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit bf36c1a0040cc6ccd63cdd1cec25d2085f2df964 Author: Alexander Duyck Date: Tue Jul 8 15:11:40 2008 -0700 igb: add page recycling support This patch adds support for page recycling by splitting the page into two usable portions and tracking the reference count. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 7dfc16fab1186769d7d0086830ab3fbc8fddfcba Author: Alexander Duyck Date: Tue Jul 8 15:10:46 2008 -0700 igb: Add support for quad port WOL and feature flags Change igb from using a series of boolean operators to using a single flags value that contains a number of different bit flags for all the different features of the adapter. This patch also adds WOL support for quad port adapters. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2d064c06fecadadcb81a452acd373af00dfb1fec Author: Alexander Duyck Date: Tue Jul 8 15:10:12 2008 -0700 igb: add 82576 MAC support Signed-off-by: Alexander Duyck Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 0024fd00cd404b418b6e6a7408700814cfe7b3dd Author: Auke Kok Date: Tue Jul 8 15:09:37 2008 -0700 igb: Increment driver version Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 87cb7e8cc59c89ccdcf243671c932179bb651a71 Author: Auke Kok Date: Tue Jul 8 15:08:29 2008 -0700 igb: reenable CRC stripping in hardware We can remove a clunky workaround for not having the hardware strip the CRC. 82575 silicon as well as the older PCI Express e1000e hardware all work OK in this respect. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit fe4506b6a2f9716ef62583020581ae2032573fed Author: Jeb Cramer Date: Tue Jul 8 15:07:55 2008 -0700 igb: add DCA support Add DCA support in the similar method that it was added to the ixgbe driver recently. DCA allows the network device to put data in the CPU cache and notify the chipset of that event. This reduces cache misses during receives. Signed-off-by: Jeb Cramer Signed-off-by: Mitch Williams Signed-off-by: Auke Kok Signed-off-by: Shannon Nelson Signed-off-by: Jeff Garzik commit e21ed3538f1946ea623caf28f1c44ede50224275 Author: Alexander Duyck Date: Tue Jul 8 15:07:24 2008 -0700 igb: update ethtool stats to support multiqueue Addesses problems seen earlier with igb driver not correctly reporting rx and tx stats. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 661086df6cf35f62d0aec09ccb9164eb2baaaecd Author: Peter P Waskiewicz Jr Date: Tue Jul 8 15:06:51 2008 -0700 igb: Introduce multiple TX queues with infrastructure This code adds multiple Tx queue infrastructure much like we previously did in ixgbe. The MSI-X vector mapping is the bulk of the change. IAM can now be safely enabled and we've verified that it does work correctly. We can also eliminate the tx ring lock. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Mitch Williams Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f731a9ef82c6728559b34743bca19d231e5e1b63 Author: Jesse Brandeburg Date: Tue Jul 8 15:53:09 2008 -0700 ixgb: update copyright dates and versions Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 6d37ab282e246f3cb5b4b975ecc5e8303ba5da82 Author: Jesse Brandeburg Date: Tue Jul 8 15:53:04 2008 -0700 ixgb: make NAPI the only option and the default network maintainers suggest NAPI only drivers are the only way to go. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2c21fc6e3a1150a1fa8c09b0f8ae0b796fb5039f Author: Jesse Brandeburg Date: Tue Jul 8 15:52:58 2008 -0700 ixgb: cleanup header cleaned up some spacing in defines Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c21993401479635025a8053aff1f5cfdbfee5fd9 Author: Jesse Brandeburg Date: Tue Jul 8 15:52:53 2008 -0700 ixgb: audit use of dev_kfree_skb_any calls to kfree_skb_any are only required when calling kfree from interrupt context. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 9e7bd330702bd8d2a87bf8fee027e90c6c90a401 Author: Jesse Brandeburg Date: Tue Jul 8 15:52:48 2008 -0700 ixgb: clean up assignments inside if statements Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit fc2d14e36c69a8d44a2f5230835b54e95025363e Author: Jesse Brandeburg Date: Tue Jul 8 15:52:43 2008 -0700 ixgb: rx cleanup performance improvements rx cleanup should look more like our other drivers that have evolved to nicer performance levels over time. Changes consist of refilling tx buffers to hardware more often, some minor assignment cleanups. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 8441dab26c0fb3d9c8cb8e9d2114a8f266a0b299 Author: Jesse Brandeburg Date: Tue Jul 8 15:52:38 2008 -0700 ixgb: cleanup checkpatch suggestions that are relevant Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 1459336da45b214a59f0825777549fb0cb60ed7d Author: Jesse Brandeburg Date: Tue Jul 8 15:52:33 2008 -0700 ixgb: trivial fix space after for Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 52035bdbe8229c6bffae0be3444924ffbccf6506 Author: Jesse Brandeburg Date: Tue Jul 8 15:52:28 2008 -0700 ixgb: fix spelling errors Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 0060c07230ee6a5b070388ae55855c594a3d9132 Author: Jesse Brandeburg Date: Tue Jul 8 15:52:23 2008 -0700 ixgb: whitespace fixups Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 9a432992870b4a528bf36dd0327a45c23ddb6f94 Author: Jesse Brandeburg Date: Tue Jul 8 15:52:18 2008 -0700 ixgb: cleanup space after while Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 03f83041d836022a17258c2731f6221f248bedcb Author: Jesse Brandeburg Date: Tue Jul 8 15:52:13 2008 -0700 ixgb: format all if( to be if ( this patch is trivial but because I want to have everything be nice and tidy I'm updating it. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 7490d71a9245fd59e6cd5732cba4d6b744db581a Author: Jesse Brandeburg Date: Tue Jul 8 15:52:08 2008 -0700 ixgb: clean up un-necessary declarations Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit d9fed18bf9090bd0682f3c611c40261a98a2842d Author: Jesse Brandeburg Date: Tue Jul 8 15:52:02 2008 -0700 ixgb: add copybreak parameter copybreak code was already in the driver, allow the user to turn it off if they don't like it. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2115a6432911b669bec037686066c7bbc70cc68e Author: Jesse Brandeburg Date: Tue Jul 8 15:51:57 2008 -0700 ixgb: update readme text Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit db58294416d5d1446cbf6962a21ad077919d564e Author: Jesse Brandeburg Date: Tue Jul 8 15:51:52 2008 -0700 ixgb: remove lltx support and update tx routine a) kernel developers suggest LLTX is broken and unsafe to use, remove it. b) remember to pre-stop the queue if we won't have room c) removing lltx means we can remove our tx lock Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 1257969724e7d5f878ac05067388ac5c012eb29b Author: Jesse Brandeburg Date: Tue Jul 8 15:51:47 2008 -0700 ixgb: fix unload race with timers ixgb needs to call flush scheduled work to flush any timers before unregistering the netdev. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit b5ca88eb335580dc48ef5ebb3b86719bdb5a4113 Author: Jesse Brandeburg Date: Tue Jul 8 15:51:42 2008 -0700 ixgb: fix race on rx_buffer_len in mtu change some random coverage testing found that when changing mtu under heavy traffic load, NAPI would use the rx_buffer_len variable after it had been changed by change_mtu. Similar to e1000 bugs found long ago. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 34336635467c5102777ea8acf34fc8bf391f98c0 Author: Jesse Brandeburg Date: Tue Jul 8 15:51:37 2008 -0700 ixgb: move time stamp set before setting dma pointer a user pointed out that setting variables out of order with respect to the checks we make for tx timeout handling could result in a race where ->dma was set but ->time_stamp was set to the old value. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit a65a604a01f710defe01f2322e108f4d8c20f6ce Author: Jesse Brandeburg Date: Tue Jul 8 15:51:32 2008 -0700 ixgb: don't allow too small MTU Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 72ab51954d108e4999b3c958ae21da731d2d789a Author: Jesse Brandeburg Date: Tue Jul 8 15:51:27 2008 -0700 ixgb: check down state before enable irq in order to prevent the case where poll_disable is waiting on our device to permanently, check the flag to make sure we're not down or closing down before re-enabling interrupts. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit a3dc3da02a7c29237ca4ce3ec17f0e1f87ff0a06 Author: Jesse Brandeburg Date: Tue Jul 8 15:51:22 2008 -0700 ixgb: leave room for extra hardware memory usage ixgb hardware (not ixgbe) has a problem where it might dma past the end of a buffer in certain cases. leave 8 bytes extra room. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 4360386f7d849f521e8ef042f90dbca73e07509c Author: Jesse Brandeburg Date: Tue Jul 8 15:51:17 2008 -0700 ixgb: fix bug in descriptor ring due to prefetch corruption there was one more bug hidden in the prefetch routines in ixgb hardware that force us to remove it completely. Writebacks were being done on descriptors with stale data due to internal hardware fifo corruption. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit e539e4667e3c8125641f5916eb0b7d087d3e0844 Author: Jesse Brandeburg Date: Tue Jul 8 15:51:12 2008 -0700 ixgb: repeat 32 bit ioremap cleanup this patch has been made to many other drivers in kernel to fix the storage of 64 bit resources in 32 bit variables. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 0f8ecbadae4bd9f085e605c08347ed3077a6146f Author: Jesse Brandeburg Date: Tue Jul 8 15:51:07 2008 -0700 ixgb: maybe stop tx port missed a piece back when maybe stop tx was added to the ixgb driver some mistakes were made and the driver a) didn't remove the tx lock, which is now un-necessary b) didn't change the restart code to be compliant with maybe_stop Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 1a342d224afb03196e3df28a271f3ddf3787e8f4 Author: Francois Romieu Date: Fri Jul 11 00:34:40 2008 +0200 ucc_geth: delete non NAPI code from the driver. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 0aa1538f4e4bab366023f4c414555e4ed25994e6 Author: Francois Romieu Date: Fri Jul 11 00:33:52 2008 +0200 gianfar: delete non NAPI code from the driver. Compile-tested only. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 32b0f53e5bc80b87fd20d4d78a0e0cb602c9157a Author: Francois Romieu Date: Fri Jul 11 00:30:14 2008 +0200 via-rhine: delete non NAPI code from the driver. Compile-tested only. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 4422b00390749f8b877b2838a99ef2948ae08a58 Author: Francois Romieu Date: Fri Jul 11 00:29:19 2008 +0200 cxgb: delete non NAPI code from the driver. Compile-tested only. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 29d0a2b0f7b5f53c79095a5539ee3884afb354b6 Author: Sreenivasa Honnur Date: Wed Jul 9 23:50:13 2008 -0400 S2io: Version update for IOMMU overflow checking and enable msi-x link interrupts patches. - Updated version number Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 01e16faa0691c57fd8f9bac46b1953ff7692ab8a Author: Sreenivasa Honnur Date: Wed Jul 9 23:49:21 2008 -0400 S2io: Enable msi-x link interrupts. - Enable msi-x link interrupts because the timer based scheduler was getting cancelled causing the link state to be lost with repetitive card up/downs when changing the mtu. - Unmask mac_rmac_link interrupts only for Xframe I and prevent a spurious link interrupt in Xframe II. - Stop the tx queue and indicate link down when card is down Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 3f78d88575d99e17218a5bb2d79e251a781d16ad Author: Sreenivasa Honnur Date: Wed Jul 9 23:47:46 2008 -0400 S2io: Fix IOMMU overflow checking. - Fix IOMMU overflow checking. As reported by Andi Kleen removed check for zero dma address. Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 9088d9a4267ff098d5edc3dad8359c92741b7a6a Author: Francois Romieu Date: Fri Jul 11 00:05:57 2008 +0200 via-velocity: add velocity_set_rxbufsize helper It removes a dependancy from velocity_init_rd_ring to dev->mtu. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 28133176082d9bcafb5958b8fac80943e51d5eda Author: Francois Romieu Date: Fri Jul 11 00:05:17 2008 +0200 via-velocity: move residual free rx descriptors count register update Updates of the RBRDU have two different meanings depending on their context: 1. the receiving process has not started - the value which is written into the RBRDU register is supposed to be the free rx descriptors count (rounded to a multiple of 4) 2. the receiving process is running - the value increments the count above (sic) The update is currently issued deep inside the rx replenish chain (see velocity_give_many_rx_descs). Let's propagate enough information to the caller so that the rx replenish functions do not depend on hardware any more. It is needed to perform the Rx/Tx buffers housekeeping when MTU changes. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 8ac53afccf7ab383fd97db8910117ae7892c72a7 Author: Francois Romieu Date: Fri Jul 11 00:04:33 2008 +0200 via-velocity: lean and clean velocity_init_rings - PCI consistent areas need no memset - use dev_err instead of plain printk - avoid a few casts Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 580a690208321ed45addef5ef12e25b87f9f5dec Author: Francois Romieu Date: Fri Jul 11 00:03:44 2008 +0200 via-velocity: remove the bounce buffers Executive summary: the bounce buffers are in my way - they use something like a 64 * 1500 bytes area of PCI consistent area - they are not resized when the MTU changes - they are used - to hand-pad undersized packets. skb_pad anyone ? - to linearize fragmented skbs whose fragment count goes beyond the 7 fragments hardware limit in order to claim scatter-gather support Actually the SG code is commented out and I wonder if it could not be implemented (ab-)using the large send feature of the chipset since the latter should support some multi-descriptor packet transmitting. Signed-off-by: Francois Romieu Fixed-by: Séguier Régis Signed-off-by: Jeff Garzik commit 27cb0a75ba252ea7294d67232c4bbbac3f2b2656 Author: Jeremy Fitzhardinge Date: Thu Jul 10 12:52:52 2008 -0700 x86: fix compile error in current tip.git Gas 2.15 complains about 32-bit registers being used in lea. AS arch/x86/lib/copy_user_64.o /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S: Assembler messages: /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:188: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:257: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression AS arch/x86/lib/copy_user_nocache_64.o /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S: Assembler messages: /local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S:107: Error: `(%edx,%ecx,8)' is not a valid 64 bit base/index expression Signed-off-by: Jeremy Fitzhardinge Cc: Vitaly Mayatskikh Signed-off-by: Ingo Molnar commit ac2536109849217a71510b6ded813e91629e88f6 Author: Ian Molton Date: Thu Jul 10 20:17:27 2008 +0100 Support for LCD on e740 e750 e400 and e800 e-series PDAs Signed-off-by: Ian Molton commit 32584c86b26e503dcd7228ab1c67a1e4ce9b48c4 Author: Ian Molton Date: Thu Jul 10 20:16:35 2008 +0100 E-series UDC support Signed-off-by: IAn Molton commit 8fb105f5cc7f31ff37755945378a668f4c21590e Author: Ian Molton Date: Wed Jun 25 22:34:51 2008 +0100 PXA UDC - allow use of inverted GPIO for pullup Signed-off-by: Ian Molton commit b3d354b8d8d676c97794a5b984613d51ad683f17 Author: Ian Molton Date: Wed Jun 25 22:39:31 2008 +0100 Add e350 support Signed-off-by: Ian Molton commit 877e03d4aeabb88018c533eeb7386cf8c3aec689 Author: Ian Molton Date: Wed Jun 25 22:22:49 2008 +0100 Fix broken e-series build Signed-off-by: Ian Molton commit c316f101a10f2681618ffb537ecba6084d5a137e Author: Ian Molton Date: Thu Jul 10 20:01:07 2008 +0100 E-series GPIO / IRQ definitions. commit 67f5cd0f6ad86f8faacd0c00ffd0d38f228bad8e Merge: 79c410d... 14d1012... d4b19c4... Author: Russell King Date: Thu Jul 10 19:50:38 2008 +0100 Merge branches 'pxa-ezx', 'pxa-magician' and 'pxa-palm' into pxa commit 39415a440ecceb0a5bd3c23686f18f83bb8368c6 Author: Ingo Molnar Date: Thu Jul 10 20:06:30 2008 +0200 x86, VisWS: fix pci_direct_conf1 dependency fix: arch/x86/pci/built-in.o: In function `pci_subsys_init': visws.c:(.init.text+0xfc5): undefined reference to `pci_direct_conf1' Signed-off-by: Ingo Molnar commit c47277d2f842d6c50d1991579307625540b26eac Author: Ingo Molnar Date: Thu Jul 10 19:47:49 2008 +0200 x86, VisWS: build fix fix: arch/x86/kernel/built-in.o: In function `visws_early_detect': : undefined reference to `mach_get_smp_config_quirk' arch/x86/kernel/built-in.o: In function `visws_early_detect': : undefined reference to `mach_find_smp_config_quirk' Signed-off-by: Ingo Molnar commit e54afe38630e3b577968428f48ed8ef1e13a2a15 Author: Glauber Costa Date: Thu Jul 10 14:01:47 2008 -0300 x86: remove duplicate call to use_tsc_delay Integration generated a duplicate call to use_tsc_delay. Particularly, the one that is done before we check for general tsc usability seems wrong. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f78cb9b1cfe618e8b4cc0c118f187f54ed102f45 Author: Ingo Molnar Date: Thu Jul 10 19:39:55 2008 +0200 x86, VisWS: build fix fix: arch/x86/kernel/visws_quirks.c: In function ‘visws_early_detect’: arch/x86/kernel/visws_quirks.c:293: error: ‘no_broadcast’ undeclared (first use in this function) arch/x86/kernel/visws_quirks.c:293: error: (Each undeclared identifier is reported only once arch/x86/kernel/visws_quirks.c:293: error: for each function it appears in.) make[1]: *** [arch/x86/kernel/visws_quirks.o] Error 1 make: *** [arch/x86/kernel/visws_quirks.o] Error 2 Signed-off-by: Ingo Molnar commit b6770c83b4b88dd832cc77916b1935b0311c64e0 Author: Ingo Molnar Date: Thu Jul 10 19:37:44 2008 +0200 x86, VisWS: do not allow VisWS for Voyager Signed-off-by: Ingo Molnar commit 8a55a00aad9f5c4e9bb97729b42a7ceea2a3b6fb Author: Ingo Molnar Date: Thu Jul 10 19:35:33 2008 +0200 x86, VisWS: turn into generic arch, update include file change Signed-off-by: Ingo Molnar commit 3a62ed73ccb76b3d573c2ceb52ee01081fa89f3d Author: Robert Richter Date: Thu Jul 10 18:58:25 2008 +0200 x86/pci: fix warnings in subsys_initcall functions Signed-off-by: Robert Richter Cc: Robert Richter Signed-off-by: Ingo Molnar commit 3f68f7d945e37e4d4bf1da445a285c59a6185815 Author: Robert Richter Date: Thu Jul 10 18:58:24 2008 +0200 x86/pci merge: fixing numaq initialization Patch d49c4288 (tip/x86/mpparse) introduced some changes in calling subsys_init calls if CONFIG_X86_NUMAQ option is set. This patch updates subsystem initalization according to this changes. Signed-off-by: Robert Richter Cc: Robert Richter Signed-off-by: Ingo Molnar commit 15e551d25e5a600c76cb92171357d4cbe2d1bf7a Author: Ingo Molnar Date: Thu Jul 10 17:02:10 2008 +0200 x86, VisWS: turn into generic arch, eliminate Kconfig specials remove leftover traces of various VISWS related Kconfig specials. Signed-off-by: Ingo Molnar commit 62fa572f6933038b3d79558812de88702bda176f Author: Ingo Molnar Date: Thu Jul 10 16:45:50 2008 +0200 x86, VisWS: turn into generic arch, remove leftover files remove leftover arch/x86/mach-visws/* files. Signed-off-by: Ingo Molnar commit 26dd9fcfc2abc298e3c60597bbe6405826aabf91 Author: Ingo Molnar Date: Thu Jul 10 16:21:38 2008 +0200 x86, VisWS: turn into generic arch, clean up merge traps_visws.c and apic_visws.c into visws_quirks.c. (no code changed) Signed-off-by: Ingo Molnar commit 0cecf92db84694cfed08329271e8ae6316e811eb Author: Ingo Molnar Date: Thu Jul 10 16:20:32 2008 +0200 x86, VisWS: turn into generic arch, clean up rename setup_visws.c to visws_quirks.c. Signed-off-by: Ingo Molnar commit 54ce7f99065cadcbb627f47f2321b76f099fda28 Author: Ingo Molnar Date: Thu Jul 10 16:14:56 2008 +0200 x86, VisWS: turn into generic arch, IO-APIC setup fix skip IO-APIC setup on a VISWS if it's enabled. Signed-off-by: Ingo Molnar commit efefa6f63fe6f08c16fa28dc9391bd1b89df5274 Author: Ingo Molnar Date: Thu Jul 10 16:09:50 2008 +0200 x86, VisWS: turn into generic arch, clean up remove VISWS Kconfig complications, now that it's supported by the generic architecture. Signed-off-by: Ingo Molnar commit 1b84e1c81f56e13c7d81b47c85eda15d94624e43 Author: Ingo Molnar Date: Thu Jul 10 15:55:27 2008 +0200 x86, VisWS: turn into generic arch, flip over VISWS to generic arch this is the big move: flip over VISWS to generic arch support. From this commit on CONFIG_X86_VISWS is just another (default-disabled) option that turns on certain quirks - no other complications. Signed-off-by: Ingo Molnar commit 652536367b727251bfeba72189a17a040accbc2d Author: Ingo Molnar Date: Thu Jul 10 15:50:37 2008 +0200 x86, VisWS: turn into generic arch, copy visws files copy arch/x86/mach-visws/setup_visws.c, apic_visws.c and traps_visws.c files to arch/x86/kernel/, in preparation of the switchover to a non-subarch setup for VISWS. Signed-off-by: Ingo Molnar commit 078c0bba55b3dc751881d40cf170c002eafc048d Author: Ingo Molnar Date: Thu Jul 10 15:48:48 2008 +0200 x86, VisWS: turn into generic arch, add early quirks to default architectures add early quirk support to the generic architecture code. this allows VISWS to be supported by the generic code and allows us to remove the VISWS subarch. Signed-off-by: Ingo Molnar commit 8bfaba873f0cc81c1747d6787f2721926192a3dc Author: Ingo Molnar Date: Thu Jul 10 15:42:50 2008 +0200 x86, VisWS: turn into generic arch, add NR_IRQS quirk NR_IRQS: let VISWS be just a sub-case of the generic code. This can create a somewhat larger irq_desc[] array if NR_CPUS is high but that should not worry VisWS which has 4 CPUs at most. Signed-off-by: Ingo Molnar commit 4191894b68a85bd8da935fb9ac4c882a1fa8651c Author: Ingo Molnar Date: Thu Jul 10 15:33:49 2008 +0200 x86, VisWS: turn into generic arch, eliminate include/asm-x86/mach-visws/setup_arch.h use the generic version of setup_arch.h - it's the same. Signed-off-by: Ingo Molnar commit efd746b8892d1d40c43c3d518b3bde9e56238ce8 Author: Ingo Molnar Date: Thu Jul 10 15:31:35 2008 +0200 x86, VisWS: turn into generic arch, move definitions move the SGIVW definitions from setup_arch.h into its own header file. preparation for turning VISWS into a generic PC architecture. Signed-off-by: Ingo Molnar commit b4b86416712d79a77cdc53756751b3b91fbb7a3d Author: Ingo Molnar Date: Thu Jul 10 15:25:21 2008 +0200 x86, VisWS: turn into generic arch, create include/asm-x86/visws/ move the include/asm-x86/mach-visws/ VISWS specific hardware details include files into include/asm-x86/visws, to be used from generic code. No code changed. Signed-off-by: Ingo Molnar commit 18c413e27e1585358cedc22e450847e3240006ff Author: Ingo Molnar Date: Thu Jul 10 15:13:41 2008 +0200 x86, VisWS: turn into generic arch, eliminate asm-x86/mach-visws/mach_apicdef.h Signed-off-by: Ingo Molnar commit b70d9c2473ffbe327f5d7364bfbf67e94c440af8 Author: Ingo Molnar Date: Thu Jul 10 15:12:05 2008 +0200 x86, VisWS: turn into generic arch, update asm-x86/mach-visws/mach_apicdef.h update asm-x86/mach-visws/mach_apicdef.h to the generic version. This should work fine as VISWS has a standard local APIC and thus its mach_apicdef.h copy is just an ancient version of the generic code. Signed-off-by: Ingo Molnar commit 6649ababd52014afaca62a12aed37d797f9f865c Author: Ingo Molnar Date: Thu Jul 10 15:10:29 2008 +0200 x86, VisWS: turn into generic arch, eliminate include/asm-x86/mach-visws/smpboot_hooks.h now that include/asm-x86/mach-visws/smpboot_hooks.h equals to the default file in ../mach-default/smpboot_hooks.h, simply include it instead of maintaining a copy. Signed-off-by: Ingo Molnar commit 244a5e2ee0ba204d66dfe4273df91c6bc65a310a Author: Ingo Molnar Date: Thu Jul 10 15:06:07 2008 +0200 x86, VisWS: turn into generic arch, update include/asm-x86/mach-visws/smpboot_hooks.h update include/asm-x86/mach-visws/smpboot_hooks.h to include/asm-x86/mach-default/smpboot_hooks.h (the generic version). this _should_ work, because VISWS sets skip_ioapic_setup, but it should be tested on a real VISWS to make sure. Signed-off-by: Ingo Molnar commit 6a64b5da9bbe561fd189361812f5ed205bb55345 Author: Ingo Molnar Date: Thu Jul 10 15:09:04 2008 +0200 x86, VisWS: turn into generic arch, enhance include/asm-x86/mach-default/smpboot_hooks.h Allow the generic smpboot quirks code to be built with ONFIG_X86_IO_APIC disabled. This way VISWS will be able to use it as-is. Signed-off-by: Ingo Molnar commit d8d1bc73f0ccb60f4d6056333b8fcb3140772c21 Author: Ingo Molnar Date: Thu Jul 10 15:04:13 2008 +0200 x86, VisWS: turn into generic arch, eliminate include/asm-x86/mach-visws/mach_apic.h now that include/asm-x86/mach-visws/mach_apic.h equals to include/asm-x86/mach-default/mach_apic.h, simply start using the generic one. Signed-off-by: Ingo Molnar commit 808fc878d373c338f138529c284df5f86ab3cc55 Author: Ingo Molnar Date: Thu Jul 10 15:01:54 2008 +0200 x86, VisWS: turn into generic arch, update asm-x86/mach-visws/mach_apic.h update asm-x86/mach-visws/mach_apic.h to the generic version. Signed-off-by: Ingo Molnar commit 5548ed1135842d1993a4ba699377a8a3c65dd568 Author: Ingo Molnar Date: Thu Jul 10 16:53:21 2008 +0200 x86, VisWS: turn into generic arch, install proper PCI quirk Signed-off-by: Ingo Molnar commit 5ab74722a4656612d1f3b087b1afd91133ec0eeb Author: Ingo Molnar Date: Thu Jul 10 14:42:03 2008 +0200 x86, VisWS: turn into generic arch, use generic mpparse code Signed-off-by: Ingo Molnar commit 31ac409a7921da39cc998f2432afa13e77fd8705 Author: Ingo Molnar Date: Thu Jul 10 13:31:04 2008 +0200 x86, VisWS: turn into generic arch, add early init quirks add early init quirks for VisWS. This gradually turns the VISWS subarch into a generic PC architecture. Signed-off-by: Ingo Molnar commit 22d5c67c5b0476e463ce4b632ba9ec3953d33a5f Author: Ingo Molnar Date: Thu Jul 10 16:29:28 2008 +0200 x86, VisWS: turn into generic arch, make VisWS boot on a regular PC first step: make the VISWS subarch boot on a regular PC. We take various shortcuts for that. We copy the generic arch setup file over into the VISWS setup file. This is the only step that is not expected to boot on a real VISWS. Signed-off-by: Ingo Molnar commit 3b33553badcde952adcf3b3ba5faae38d7d85071 Author: Ingo Molnar Date: Thu Jul 10 17:30:40 2008 +0200 x86: add early quirk support Add early quirks support. In preparation of enabling the generic architecture to boot on a VISWS. This will allow us to remove the VISWS subarch and all its complications. Signed-off-by: Ingo Molnar commit 520b9617ab4aea764ddfc5d58cae21c16b3318e1 Merge: f57e916... f87f38e... Author: Ingo Molnar Date: Thu Jul 10 18:55:17 2008 +0200 Merge branch 'x86/core' into x86/generalize-visws commit f87f38ec5a5157aa39f44f6018dc58ea62f8e0e2 Merge: a6784ad... 8dd779b... Author: Ingo Molnar Date: Thu Jul 10 18:47:29 2008 +0200 Merge branch 'x86/unify-pci' into x86/core commit 54b238469bce3a1b5012b2f0ebf261cf1c53e664 Author: Mark Brown Date: Thu Jun 19 03:11:49 2008 +0100 [ARM] 5113/1: PXA SSP: Additional register definitions for PXA3xx SSP Also add some white space for a little clarity. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit d6c47417a4ddf500a106fc8718c0f6107c7d5211 Author: Mark Brown Date: Thu Jun 19 03:11:50 2008 +0100 [ARM] 5112/1: PXA SSP: Strip in-code changelog It's not been updated in quite some time and we now have git for history. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit 919dcb2111dea341a8281a3dc893967c7dccd93f Author: Mark Brown Date: Thu Jun 19 02:55:52 2008 +0100 [ARM] 5110/1: PXA SSP: Remember the platform device on probe() pdev is used later on by dev_printk() so must be set. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit bbae02035a87a3ef45f751032ec8d2bb6f3ed496 Author: Mark Brown Date: Thu Jun 19 03:18:09 2008 +0100 [ARM] 5108/2: PXA SSP: Don't unconditionally free interrupt Callers may stop the SSP core requesting the interrupt so it can't be freed unconditionally. Also use NO_IRQ like we should. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit f0006314d37639714da9658cf4ff3f1f9f420764 Merge: a177ba3... 1bd55a4... Author: Russell King Date: Thu Jul 10 16:41:50 2008 +0100 Merge branch 'imx' into devel Conflicts: arch/arm/mm/Kconfig commit a177ba3b7a08beef3f0fe74efa0f90701891945a Merge: 66ee156... 3ef8191... 150c917... 0c5d5b7... 63f385c... 7e36e2f... f7def13... 188237e... 88b8ba9... 341eb78... bedd78c... 7ba06b1... Author: Russell King Date: Thu Jul 10 16:38:50 2008 +0100 Merge branches 'at91', 'dyntick', 'ep93xx', 'iop', 'ixp', 'misc', 'orion', 'omap-reviewed', 'rpc', 'rtc' and 's3c' into devel commit a93a6ce24215c69126c88f9c488afa50a168e0ca Author: Li Xiaodong Date: Mon Jul 7 18:04:09 2008 +0800 [GFS2] Remove unused declaration The implementation of gfs2_inode_attr_in is removed. So remove its declaration. Signed-off-by: Li Xiaodong Signed-off-by: Steven Whitehouse commit c9f6a6bbc284ba87337876086f7e2e6e0b0d50dd Author: Steven Whitehouse Date: Thu Jul 10 16:09:29 2008 +0100 [GFS2] Remove support for unused and pointless flag The ability to mark files for direct i/o access when opened normally is both unused and pointless, so this patch removes support for that feature. Signed-off-by: Steven Whitehouse commit 9cabcdbd4638cf884839ee4cd15780800c223b90 Author: Steven Whitehouse Date: Thu Jul 10 15:54:12 2008 +0100 [GFS2] Replace rgrp "recent list" with mru list This patch removes the "recent list" which is used during allocation and replaces it with the (already existing) mru list used during deletion. The "recent list" was not a true mru list leading to a number of inefficiencies including a "next" function which made scanning the list an order N^2 operation wrt to the number of list elements. This should increase allocation performance with large numbers of rgrps. Its also a useful preparation and cleanup before some further changes which are planned in this area. Signed-off-by: Steven Whitehouse commit 0c5d5b70449eddb7e2c8a5fdaf71b6108c1a9afc Author: Dmitry Baryshkov Date: Thu Jul 10 14:44:23 2008 +0100 [ARM] 5171/1: ep93xx: fix compilation of modules using clocks Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 547d8bb7ddf7f5d9f53741086a394c8318e15f16 Author: David Woodhouse Date: Wed Jun 11 16:57:21 2008 +0100 ip2: use request_firmware() Converted with help from Jaswinder Singh Signed-off-by: David Woodhouse Acked-by: Alan Cox commit 27d202fff1555f5b0eb16a5aedc452566f9ab8bb Author: David Woodhouse Date: Thu Jun 5 12:59:51 2008 +0100 firmware: convert Ambassador ATM driver to request_firmware() Since it had various regions to be loaded to separate addresses, and it wanted to do them in fairly small chunks anyway, switch it to use the new ihex code. Encode the start address in the first record. Signed-off-by: David Woodhouse Acked-by: Chas Williams commit ec6752f5afce659025962e25fb2f42b3911254a1 Author: David Woodhouse Date: Sat May 31 01:35:29 2008 +0300 whiteheat: use request_firmware() Signed-off-by: David Woodhouse commit 5f24e2d6b40f0c74ce5bfaddfdb89f9bfae4b594 Author: David Woodhouse Date: Fri May 30 18:49:51 2008 +0300 ti_usb_3410_5052: use request_firmware() Signed-off-by: David Woodhouse commit b8e24bfabb03527d1c876fcaf24cccb05e1cbc65 Author: David Woodhouse Date: Fri May 30 17:35:47 2008 +0300 emi62: use request_firmware() Signed-off-by: David Woodhouse commit ae93a55bf948753de0bb8e43fa9c027f786abb05 Author: David Woodhouse Date: Fri May 30 16:19:39 2008 +0300 emi26: use request_firmware() Signed-off-by: David Woodhouse commit 3edbf98b863391bdd7ad2bf47b7db1689afac886 Author: David Woodhouse Date: Fri May 30 15:15:13 2008 +0300 keyspan_pda: use request_firmware() Signed-off-by: David Woodhouse commit 2971c579f93bcff26744672ea98c13bef71ded97 Author: David Woodhouse Date: Fri May 30 14:04:03 2008 +0300 keyspan: use request_firmware() Signed-off-by: David Woodhouse commit 0a2a736afa91e8a0402c9dbdaf2ee28481a50bd3 Author: David Woodhouse Date: Thu May 29 19:50:06 2008 +0300 ttusb-budget: use request_firmware() Signed-off-by: David Woodhouse Acked-by: Mauro Carvalho Chehab commit 79682499d9f3eaea4e6a970d8aa0b9bc1ac2a97f Author: David Woodhouse Date: Thu May 29 17:17:17 2008 +0300 kaweth: use request_firmware() Signed-off-by: David Woodhouse commit 0f805b86c9492c294c710de8539a8be68b521a86 Author: David Woodhouse Date: Thu May 29 16:39:16 2008 +0300 smctr: use request_firmware() Signed-off-by: David Woodhouse commit 18ee6dfae89d9c131e3c9952939633ba8fa86247 Author: David Woodhouse Date: Thu May 29 15:07:34 2008 +0300 firmware: convert ymfpci driver to use firmware loader exclusively Signed-off-by: David Woodhouse commit a292f404fabb342716a9d96e8155b7fb7b651dc1 Author: David Woodhouse Date: Thu May 29 14:48:34 2008 +0300 firmware: convert maestro3 driver to use firmware loader exclusively Signed-off-by: David Woodhouse commit 76770664dcbc008300c2ac8747671efcc4f78c2d Author: David Woodhouse Date: Mon May 26 23:01:27 2008 +0100 firmware: convert korg1212 driver to use firmware loader exclusively Signed-off-by: David Woodhouse commit 59890f74e51abffd0dd017785d89f8a8475d489d Author: David Woodhouse Date: Thu Jun 26 13:55:30 2008 +0100 ihex: Add support for long records to ihex2fw.c Some drivers could do with using records like Intel HEX, but with each record being larger than 256 bytes. This has been possible in the binary representation (struct ihex_binrec) in the kernel since the beginning -- at least of the the current version of history. But we haven't been able to represent that in the .HEX files which get converted to .fw files. This adds a '-w' option to ihex2fw to make it interpret the first _two_ bytes of each line as the record length, instead of only one byte. And adds makefile rules for %.H16->%.fw which use that. Signed-off-by: David Woodhouse commit 8bd6b2229bf98761465020467ec33547d05bff46 Author: David Woodhouse Date: Sat May 31 15:07:18 2008 +0300 ihex: add ihex2fw tool for converting HEX files into firmware images Not the straight conversion to binary which objcopy can do for us, but actually representing each record with its original {addr, length}, because some drivers need that information preserved. Fix up 'firmware_install' to be able to build $(hostprogs-y) too. Signed-off-by: David Woodhouse commit f1485f3deb89e6ae10c4d34662ec9e692855ab5d Author: David Woodhouse Date: Sat May 31 15:20:37 2008 +0300 ihex: request_ihex_firmware() function to load and validate firmware Provide a helper to load the file and validate it in one call, to simplify error handling in the drivers which are going to use it. Signed-off-by: David Woodhouse commit bacfe09dd7545467965e8d8f1eab20bc62dce00d Author: David Woodhouse Date: Fri May 30 13:57:27 2008 +0300 ihex.h: binary representation of ihex records Some devices need their firmware as a set of {address, len, data...} records in some specific order rather than a simple blob. The normal way of doing this kind of thing is 'ihex', which is a text format and not entirely suitable for use in the kernel. This provides a binary representation which is very similar, but much more compact -- and a helper routine to skip to the next record, because the alignment constraints mean that everybody will screw it up for themselves otherwise. Also a helper function which can verify that a 'struct firmware' contains a valid set of ihex records, and that following them won't run off the end of the loaded data. Signed-off-by: David Woodhouse commit 88ecf814c47f577248751ddbe9626d98aeef5783 Author: David Woodhouse Date: Thu May 29 11:01:51 2008 +0300 firmware: Add firmware installation to modules_install, add firmware_install For 'make modules_install', install any firmware required by the modules which are being installed. Also add a 'make firmware_install' target which doesn't depend on the configuration, but installs _all_ available in-kernel-tree firmware into $(INSTALL_FW_PATH), which defaults to /lib/firmware. This is intended for distributors to make arch-independent (and config-independent) packages containing firmware. Signed-off-by: David Woodhouse commit d172e7f5c67f2d41f453c7aa83d3bdb405ef8ba5 Author: David Woodhouse Date: Wed Jun 25 13:56:07 2008 +0100 firmware: Add CONFIG_FIRMWARE_IN_KERNEL option. This will control whether we build firmware into the kernel image for _every_ driver which we convert to request_firmware(), to avoid a proliferation of 'CONFIG_XXX_FIRMWARE' options for each one. Default to 'y' for now, which is the wrong thing to do but people seem to be insisting on it and refusing to even review patches until it's done. And it does preserve the existing behaviour for built-in drivers. Signed-off-by: David Woodhouse commit 79c410db6680e8393314003739233b1df0a338fe Author: Stefan Schmidt Date: Thu Jul 10 14:32:54 2008 +0100 [ARM] 5169/1: Defconfig for the EZX machines This defconfig enables all currently available features. It also builds one zImage which runs on all machines. Signed-off-by: Antonio Ospite Signed-off-by: Stefan Schmidt Signed-off-by: Russell King commit 4d2acfbfdf68257e846aaa355edd10fc35ba0feb Author: David Woodhouse Date: Fri May 23 13:58:12 2008 +0100 firmware: Add CONFIG_EXTRA_FIRMWARE option This allows arbitrary firmware files to be included in the static kernel where the firmware loader can find them without requiring userspace to be alive. (Updated and CONFIG_EXTRA_FIRMWARE_DIR added with lots of help from Johannes Berg). Signed-off-by: David Woodhouse Signed-off-by: Johannes Berg commit 5658c769443d543728b6c5c673dffc2df8676317 Author: David Woodhouse Date: Fri May 23 13:52:42 2008 +0100 firmware: allow firmware files to be built into kernel image Some drivers have their own hacks to bypass the kernel's firmware loader and build their firmware into the kernel; this renders those unnecessary. Other drivers don't use the firmware loader at all, because they always want the firmware to be available. This allows them to start using the firmware loader. A third set of drivers already use the firmware loader, but can't be used without help from userspace, which sometimes requires an initrd. This allows them to work in a static kernel. Signed-off-by: David Woodhouse commit b7a39bd0afc4021e8ad2b1189e884551e147427f Author: David Woodhouse Date: Fri May 23 18:38:49 2008 +0100 firmware: make fw->data const In preparation for supporting firmware files linked into the static kernel, make fw->data const to ensure that users aren't modifying it (so that we can pass a pointer to the original in-kernel copy, rather than having to copy it). Signed-off-by: David Woodhouse commit fd4f80de4612cc5255c108a8c13df88f89c46654 Author: David Howells Date: Tue Jul 8 17:43:01 2008 +0100 Fix a const pointer usage warning in the Digigram miXart soundcard driver Fix a const pointer usage warning in the Digigram miXart soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier is part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 67852dc08c0782735d48ce1e2a6eb44cd02a6ff7 Author: David Howells Date: Tue Jul 8 17:45:58 2008 +0100 Fix a const pointer usage warning in the Digigram pcxhr soundcard driver Fix a const pointer usage warning in the Digigram pcxhr compatible soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier is part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 9b8a3e4cb1361cf4b4a50916876e72f07a9037e9 Author: David Howells Date: Tue Jul 8 17:38:56 2008 +0100 Fix a const pointer error in the Conexant cx23418 MPEG encoder driver Fix a const pointer to non-const pointer assignment error in the Conexant cx23418 MPEG encoder driver. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit 2bca76e89bc43f86136080536858048ebffab3e3 Author: David Howells Date: Tue Jul 8 17:37:15 2008 +0100 Fix a const assignment in moxa_load_fw() Fix an assignment of a const pointer to a non-const pointer in moxa_load_fw(). Signed-off-by: David Howells Signed-off-by: David Woodhouse commit b561c74ae2832d32cc189ecd82863d31151cdcb5 Author: David Howells Date: Tue Jul 8 17:36:45 2008 +0100 Fix a const pointer usage warning in the Digigram VX soundcard driver Fix a const pointer usage warning in the Digigram VX soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier will be part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit ed5a2825feb79c424882c9d0f483172a91c93b54 Author: gregkh@suse.de Date: Thu May 29 10:17:38 2008 -0700 isight: treat firmware data as const Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit a13b04af713bfa60d44cbac956ab00d3a5793de7 Author: Greg Kroah-Hartman Date: Thu May 29 10:05:08 2008 -0700 x86 microcode: firmware data is const Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit c6c1c94e8225c833d4c175622f8c2e70c7347a7d Author: Greg Kroah-Hartman Date: Thu May 29 10:05:08 2008 -0700 dell_rbu: firmware data is const Signed-off-by: Greg Kroah-Hartman Signed-off-by: David Woodhouse commit b82a82d0a90af74847ae3e873a241dedf3786fd5 Author: David Woodhouse Date: Thu May 29 14:40:00 2008 +0300 ymfpci: treat firmware data as const Standardise both in-kernel and loaded firmware to be stored as little-endian instead of host-endian. Signed-off-by: David Woodhouse commit fa6e1cb66e2f9d2d4703e7bd7dd50839bb10e4c3 Author: David Woodhouse Date: Thu May 29 11:58:27 2008 +0300 maestro3: treat firmware data as const The maestro3 driver is byte-swapping its firmware to be host-endian in advance, when it doesn't seem to be necessary -- we could just use le16_to_cpu() as we load it. Doing that means that we need to switch the in-tree firmware to be little-endian too. Take the least intrusive way of doing this, which is to switch the existing snd_m3_convert_from_le() function to convert _to_ little-endian instead, and use it on the in-tree firmware instead of the loaded firmware. It's a bit suboptimal but doesn't matter much right now because we're about to remove the special cases for the in-tree version anyway. Signed-off-by: David Woodhouse commit c63e87e90abb5d3ecd05d6c6eba94163bf8c1760 Author: David Woodhouse Date: Sat May 24 00:13:34 2008 +0100 tuners: treat firmware data as const Signed-off-by: David Woodhouse commit 3a9282cacdb13466b9c745518237938434dbde0b Author: David Woodhouse Date: Sat May 24 00:13:08 2008 +0100 gp8psk: treat firmware data as const Signed-off-by: David Woodhouse commit e62f89f2aebd57f48687f139c20cf6375693b622 Author: David Woodhouse Date: Sat May 24 00:12:42 2008 +0100 cxusb: treat firmware data as const ...which means allocating our own copy when we want to modify it. (stupid thinko fixed by mkrufky) Signed-off-by: David Woodhouse Signed-off-by: Michael Krufky commit bc179153ae2334efe28cf4f3300e024da7d83753 Author: David Woodhouse Date: Sat May 24 00:12:23 2008 +0100 dvb frontends: treat firmware data as const Signed-off-by: David Woodhouse commit 99b6e4f511e38ea7beae35ee1b46b440151ce727 Author: David Woodhouse Date: Sat May 24 00:12:00 2008 +0100 ttusb-dec: treat firmware data as const Signed-off-by: David Woodhouse commit 4f2a0c3cdbead635f8aae729f550fcabcb73d1a5 Author: David Woodhouse Date: Sat May 24 00:11:44 2008 +0100 bt8xx: treat firmware data as const Signed-off-by: David Woodhouse commit 2c733a16784021c7c6a0c10e800937f0645d0a36 Author: David Woodhouse Date: Sat May 24 00:10:55 2008 +0100 cxgb3: treat firmware data as const Signed-off-by: David Woodhouse commit afd636e94d3cd99697f7291dbf957f0ca8a7544e Author: David Woodhouse Date: Sat May 24 00:10:26 2008 +0100 irda-usb: treat firmware data as const Signed-off-by: David Woodhouse commit 2f26e8afb22d79f655def146894595a39aeea1f8 Author: David Woodhouse Date: Sat May 24 00:09:29 2008 +0100 atmel: treat firmware data as const Signed-off-by: David Woodhouse commit 8b72eb4333aba692a16339acf8a74d84b10d3568 Author: David Woodhouse Date: Sat May 24 00:08:55 2008 +0100 p54: treat firmware data as const Signed-off-by: David Woodhouse commit f160ebcbeb6c9b79a770f22e14398158dac3de00 Author: David Woodhouse Date: Sat May 24 00:08:39 2008 +0100 rt2x00: treat firmware data as const Signed-off-by: David Woodhouse commit 45ef0bdb18a37bcf102e2a18c757227f8b192a36 Author: David Woodhouse Date: Sat May 24 00:08:19 2008 +0100 zd1201: treat firmware data as const Signed-off-by: David Woodhouse commit 0bc202e0fd84b8c8d042bdf9f0995e1e47bdbf59 Author: David Woodhouse Date: Sat May 24 00:05:45 2008 +0100 aic94xx: treat firmware data as const Signed-off-by: David Woodhouse commit 3b216d186c6df2642b397dbb67fbb7884ead0d88 Author: David Woodhouse Date: Sat May 24 00:05:28 2008 +0100 cxacru: treat firmware data as const Signed-off-by: David Woodhouse commit aafcd2f7d6790490bd921f04390bc210b386ecfa Author: David Woodhouse Date: Sat May 24 00:05:10 2008 +0100 ueagle-atm: treat firmware data as const Signed-off-by: David Woodhouse commit 2f0600b639777cbc1c0ae3f7bbbc982b0838e706 Author: David Woodhouse Date: Sat May 24 00:02:49 2008 +0100 vx: treat firmware data as const Signed-off-by: David Woodhouse commit b8d21807a1a479e0214a03069a88e3e93492b72d Author: David Woodhouse Date: Sat May 24 00:02:28 2008 +0100 pcxhr: treat firmware data as const Signed-off-by: David Woodhouse commit 93a9c901c88ba2b1bae9dd55e6243896b8a580f1 Author: David Woodhouse Date: Sat May 24 00:02:03 2008 +0100 riptide: treat firmware data as const Signed-off-by: David Woodhouse commit c2ba47d776bf9a45e15f28fc73ad44877437bef9 Author: David Woodhouse Date: Sat May 24 00:01:40 2008 +0100 vx222: treat firmware data as const Signed-off-by: David Woodhouse commit b0d31d6b28c7ca2ed78ce16ec649c0aac383a3fe Author: David Woodhouse Date: Sat May 24 00:00:07 2008 +0100 myri10ge: treat firmware data as const ... which means allocating our own buffer for reading it back. Signed-off-by: David Woodhouse commit 9ad46a6ac5422882d9f9a7f0d77ca0766f56bb6e Author: David Woodhouse Date: Fri May 23 23:58:24 2008 +0100 cx25840: treat firmware data as const Signed-off-by: David Woodhouse Acked-by: Hans Verkuil Acked-by: Tyler Trafford Acked-by: Mike Isely commit f61e761e2128c7ca0d044651b18928991ab03be2 Author: David Woodhouse Date: Fri May 23 23:57:19 2008 +0100 cyclades: treat firmware data as const Signed-off-by: David Woodhouse commit 8187b4fb9c17ea8e2a71c0563434f3ee08aad0d7 Author: David Woodhouse Date: Fri May 23 23:56:51 2008 +0100 bluetooth: treat firmware data as const Signed-off-by: David Woodhouse commit 6dfff895fa33b8576f82a38cee8abe5f73561e24 Author: David Woodhouse Date: Fri May 23 18:37:51 2008 +0100 libertas: treat firmware data as const Signed-off-by: David Woodhouse commit 34ec8a0ae138c2787a550b930d29a9cce4900cee Author: Jaroslav Kysela Date: Thu Jul 10 14:49:19 2008 +0200 ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model As reported and tested by an RedHat customer, HP dc7600 with pci sub IDs 0x103c/0x3011 works with the hp-3013 model and not with the hp only model. Signed-off-by: Jaroslav Kysela commit 9ab24e4ef0b4e0a7eb8ea897c6178139aab3b260 Author: Stefan Schmidt Date: Wed Jul 9 08:08:17 2008 +0100 [ARM] 5162/1: Common code for the Motorola EZX GSM phones Common code for the different EZX GSM phones. Functions to control framebuffer, backlight power, OHCI and UART init. Signed-off-by: Stefan Schmidt Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Russell King commit a5f426bda73a743fd105274fe299d446d50e692e Author: Stefan Schmidt Date: Wed Jul 9 08:08:50 2008 +0100 [ARM] 5161/1: Maintainer entries for the Motorola EZX GSM mobile phones Maintainer entries for the Motorola EZX GSM mobile phones. Signed-off-by: Stefan Schmidt Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Russell King commit 390d452fa1d912b6e76744a34777d7390ab1fa1c Author: Stefan Schmidt Date: Wed Jul 9 08:07:29 2008 +0100 [ARM] 5163/1: pxa27x_udc: Allow choosing the bits in UP2OCR_SEOS Allow choosing the bits in UP2OCR_SEOS. Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Russell King commit c1450f156fda8921a55e3f4fe596274278010f31 Author: Stefan Schmidt Date: Wed Jul 9 08:06:32 2008 +0100 [ARM] 5164/1: pxafb: Support for RGB666, RGBT666, RGB888 and RGBT888 Add the .depth field to pxafb_mode_info and use it to set pixel data format as 18(RGB666), 19(RGBT666), 24(RGB888) or 25(RGBT888) Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Russell King commit 00249adc0ebf9bc5e1b7b53dee37601fd7291396 Author: Stefan Schmidt Date: Wed Jul 9 08:05:42 2008 +0100 [ARM] 5165/1: pxafb: More LCCR3 depth defines Add missing depth definitions to LCCR3. Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Russell King commit 3952f17ed63434cc2154c3765ff97e1d4adab042 Author: Lee Nipper Date: Thu Jul 10 18:29:18 2008 +0800 crypto: talitos - Add support for sha256 and md5 variants This patch adds support for: authenc(hmac(sha256),cbc(aes)), authenc(hmac(sha256),cbc(des3_ede)), authenc(hmac(md5),cbc(aes)), authenc(hmac(md5),cbc(des3_ede)). Some constant usage was changed to use aes, des, and sha include files. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit 18e33e6d5cc0495826f5245777cd267732815e01 Author: Herbert Xu Date: Thu Jul 10 16:01:22 2008 +0800 crypto: hash - Move ahash functions into crypto/hash.h All new crypto interfaces should go into individual files as much as possible in order to ensure that crypto.h does not collapse under its own weight. This patch moves the ahash code into crypto/hash.h and crypto/internal/hash.h respectively. Signed-off-by: Herbert Xu commit 5773a3e6e396d5fd9de58372abe6a86b7e258e3e Author: Herbert Xu Date: Tue Jul 8 20:54:28 2008 +0800 crypto: crc32c - Add ahash implementation This patch reimplements crc32c using the ahash interface. This allows one tfm to be used by an unlimited number of users provided that they all use the same key (which all current crc32c users do). Signed-off-by: Herbert Xu commit 20036252fc61c624a49770fb89684ea5cfdfa05e Author: Herbert Xu Date: Mon Jul 7 22:19:53 2008 +0800 crypto: hash - Added scatter list walking helper This patch adds the walking helpers for hash algorithms akin to those of block ciphers. This is a necessary step before we can reimplement existing hash algorithms using the new ahash interface. Signed-off-by: Herbert Xu commit b8454eebe380677789735fd6bad368af2e6b2d1e Author: Neil Horman Date: Mon Jul 7 22:41:31 2008 +0800 crypto: prng - Deterministic CPRNG This patch adds a cryptographic pseudo-random number generator based on CTR(AES-128). 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 166247f46a9c866e6f7f7d2212be875fb82212a1 Author: Herbert Xu Date: Mon Jul 7 20:54:35 2008 +0800 crypto: hash - Removed vestigial ahash fields The base field in ahash_tfm appears to have been cut-n-pasted from ablkcipher. It isn't needed here at all. Similarly, the info field in ahash_request also appears to have originated from its cipher counter-part and is vestigial. Signed-off-by: Herbert Xu commit ca786dc738f4f583b57b1bba7a335b5e8233f4b0 Author: Herbert Xu Date: Mon Jul 7 20:23:56 2008 +0800 crypto: hash - Fixed digest size check The digest size check on hash algorithms is incorrect. It's perfectly valid for hash algorithms to have a digest length longer than their block size. For example crc32c has a block size of 1 and a digest size of 4. Rather than having it lie about its block size, this patch fixes the checks to do what they really should which is to bound the digest size so that code placing the digest on the stack continue to work. HMAC however still needs to check this as it's only defined for such algorithms. Signed-off-by: Herbert Xu commit caee16883a235b1b042282276859e7d5901fad21 Author: Harvey Harrison Date: Fri Jul 4 19:48:58 2008 +0800 crypto: rmd - sparse annotations Similar to the rmd128.c annotations, significantly cuts down on the noise. Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit b2b6a1720db65c97885ab9fc51fa23be47573bf4 Author: Harvey Harrison Date: Fri Jul 4 19:45:57 2008 +0800 crypto: rmd128 - sparse annotations Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit bd699f2df6dbc2f4cba528fe598bd63a4d3702c5 Author: Harvey Harrison Date: Fri Jul 4 19:42:24 2008 +0800 crypto: camellia - Use kernel-provided bitops, unaligned access helpers Remove the private implementation of 32-bit rotation and unaligned access with byteswapping. As a bonus, fixes sparse warnings: crypto/camellia.c:602:2: warning: cast to restricted __be32 crypto/camellia.c:603:2: warning: cast to restricted __be32 crypto/camellia.c:604:2: warning: cast to restricted __be32 crypto/camellia.c:605:2: warning: cast to restricted __be32 crypto/camellia.c:710:2: warning: cast to restricted __be32 crypto/camellia.c:711:2: warning: cast to restricted __be32 crypto/camellia.c:712:2: warning: cast to restricted __be32 crypto/camellia.c:713:2: warning: cast to restricted __be32 crypto/camellia.c:714:2: warning: cast to restricted __be32 crypto/camellia.c:715:2: warning: cast to restricted __be32 crypto/camellia.c:716:2: warning: cast to restricted __be32 crypto/camellia.c:717:2: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit ebbcf3369224ae7d23bfee06d8c5ea87a9541db5 Author: Herbert Xu Date: Thu Jul 3 19:14:02 2008 +0800 crypto: talitos - Use proper form for algorithm driver names The name authenc(hmac(sha1-talitos),cbc(aes-talitos)) is potentially ambiguous since it could also mean using the generic authenc template on hmac(sha1-talitos) and cbc(aes-talitos). In general, parentheses should be reserved for templates that spawn algorithms. This patches changes it to the form authenc-hmac-sha1-cbc-aes-talitos. Signed-off-by: Herbert Xu commit 70bcaca75389a6c011ddc866eb1743b070a838b0 Author: Lee Nipper Date: Thu Jul 3 19:08:46 2008 +0800 crypto: talitos - Add support for 3des This patch adds support for authenc(hmac(sha1),cbc(des3_ede)) to the talitos crypto driver for the Freescale Security Engine. Some adjustments were made to the scatterlist to link table conversion to make 3des work for ping -s 1439..1446. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit b43e726b32b85713c7c56b6545cf71c2b02b5e1a Author: Jeremy Katz Date: Thu Jul 3 19:03:31 2008 +0800 crypto: padlock - Make module loading quieter when hardware isn't available When loading aes or sha256 via the module aliases, the padlock modules also try to get loaded. Make the error message for them not being present only be a NOTICE rather than an ERROR so that use of 'quiet' will suppress the messages Signed-off-by: Jeremy Katz Signed-off-by: Herbert Xu commit 4b22f0ddb6564210c9ded7ba25b2a1007733e784 Author: Herbert Xu Date: Thu Jul 3 14:57:30 2008 +0800 crypto: tcrpyt - Remove unnecessary kmap/kunmap calls Noticed by Neil Horman: we are doing unnecessary kmap/kunmap calls on kmalloced memory. This patch removes them. For the purposes of testing SG construction, the underlying crypto code already does plenty of kmap/kunmap calls anyway. Signed-off-by: Herbert Xu commit 81bef0150074d677d8cbd4e971a8ce6c9746a1fc Author: Christian Hohnstaedt Date: Wed Jun 25 14:38:47 2008 +0800 crypto: ixp4xx - Hardware crypto support for IXP4xx CPUs Add support for the hardware crypto engine provided by the NPE C of the Intel IXP4xx networking processor series. Supported ciphers: des, des3, aes and a combination of them with md5 and sha1 hmac Signed-off-by: Christian Hohnstaedt Signed-off-by: Herbert Xu commit 9c4a79653b35efc9d6790c295e22f79f4b361125 Author: Kim Phillips Date: Mon Jun 23 19:50:15 2008 +0800 crypto: talitos - Freescale integrated security engine (SEC) driver Add support for the SEC available on a wide range of PowerQUICC devices, e.g. MPC8349E, MPC8548E. This initial version supports authenc(hmac(sha1),cbc(aes)) for use with IPsec. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit d729de23e86bbbb28adf6c3ded3651ea4ad8c539 Author: Neil Horman Date: Tue Jun 3 20:00:16 2008 +1000 [CRYPTO] tcrypt: Add self test for des3_ebe cipher operating in cbc mode Patch to add checking of DES3 test vectors using CBC mode. FIPS-140-2 compliance mandates that any supported mode of operation must include a self test. This satisfies that requirement for cbc(des3_ede). The included test vector was generated by me using openssl. Key/IV was generated with the following command: openssl enc -des_ede_cbc -P input and output values were generated by repeating the string "Too many secrets" a few times over, truncating it to 128 bytes, and encrypting it with openssl using the aformentioned key. Tested successfully by myself Signed-off-by: Neil Horman Acked-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 5cdcc22f25b0766fe16d5dd8e3b2efc91fa4da6e Author: Herbert Xu Date: Mon Jun 2 21:30:38 2008 +1000 [CRYPTO] rmd: Use pointer form of endian swapping operations This patch converts the relevant code in the rmd implementations to use the pointer form of the endian swapping operations. This allows certain architectures to generate more optimised code. For example, on sparc64 this more than halves the CPU cycles on a typical hashing operation. Based on a patch by David Miller. Signed-off-by: Herbert Xu commit 0936a944068ef68f8b19f437e03f4654c29f2423 Author: Robert P. J. Day Date: Mon May 26 21:21:07 2008 +1000 [CRYPTO] hifn: Simplify code using ARRAY_SIZE() macro Signed-off-by: Robert P. J. Day Signed-off-by: Herbert Xu commit feedfdaa7bc02694c122d2d5246184248fb04513 Author: Adrian-Ken Rueegsegger Date: Mon May 26 20:54:34 2008 +1000 [CRYPTO] rmd320: Fix endian issues This patch fixes endian issues making rmd320 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 2952ff1a598ce300c911d00d82872d00ca8b61ca Author: Adrian-Ken Rueegsegger Date: Mon May 26 20:33:44 2008 +1000 [CRYPTO] rmd256: Fix endian issues This patch fixes endian issues making rmd256 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit c928a0cddd070720268013fd012508059aa3de5a Author: Adrian-Ken Rueegsegger Date: Mon May 26 20:32:52 2008 +1000 [CRYPTO] rmd160: Fix endian issues This patch fixes endian issues making rmd160 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 0f923a2aab7baa94c5fef498384151af1cd72cba Author: Adrian-Ken Rueegsegger Date: Tue May 20 11:41:48 2008 +0800 [CRYPTO] rmd128: Fix endian problems This patch is based on Sebastian Siewior's patch and fixes endian issues making rmd128 work properly on big-endian machines. Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 0bea3dc1e2d85deb9e0bc523949d5c812f65b556 Author: Huang Weiyi Date: Thu May 15 14:29:46 2008 +0800 [CRYPTO] hifn: Remove duplicated include Removed duplicated include file . Signed-off-by: Huang Weiyi Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit cde0e2c819aad91ed1e1c2e8aa64c16e7774c769 Author: Loc Ho Date: Wed May 14 21:24:51 2008 +0800 [CRYPTO] tcrypt: Use asynchronous hash interface This patch changes tcrypt to use the new asynchronous hash interface for testing hash algorithm correctness. The speed tests will continue to use the existing interface for now. Signed-off-by: Loc Ho Signed-off-by: Herbert Xu commit b8a28251c2066a2ac6481fc49ced5eb7f078e49b Author: Loc Ho Date: Wed May 14 21:23:00 2008 +0800 [CRYPTO] cryptd: Add asynchronous hash support This patch adds asynchronous hash support to crypto daemon. Signed-off-by: Loc Ho Signed-off-by: Herbert Xu commit 004a403c2e954734090a69aedc7f4f822bdcc142 Author: Loc Ho Date: Wed May 14 20:41:47 2008 +0800 [CRYPTO] hash: Add asynchronous hash support This patch adds asynchronous hash and digest support. Signed-off-by: Loc Ho Signed-off-by: Herbert Xu commit 534fe2c1c3ffbbc3db66dba0783c82d3b345fd33 Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:30:27 2008 +0800 [CRYPTO] ripemd: Add Kconfig entries for extended RIPEMD hash algorithms This patch adds Kconfig entries for RIPEMD-256 and RIPEMD-320. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 2998db37b5c62890ff1a0d48abd76ada13ebc554 Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:29:35 2008 +0800 [CRYPTO] tcrypt: Add test vectors for RIPEMD-256 and RIPEMD-320 This patch adds test vectors for RIPEMD-256 and RIPEMD-320 hash algorithms. The test vectors are taken from Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit c555c28d9da517579085a00fc80e725b0b5d9fce Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:27:02 2008 +0800 [CRYPTO] ripemd: Add support for RIPEMD-256 and RIPEMD-320 This patch adds support for the extended RIPEMD hash algorithms RIPEMD-256 and RIPEMD-320. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit ba6b0398721524ec817f74ea3492b48fa79de52f Author: Adrian-Ken Rueegsegger Date: Fri May 9 21:25:42 2008 +0800 [CRYPTO] ripemd: Put all common RIPEMD values in header file This patch puts all common RIPEMD values in the appropriate header file. Initial values and constants are the same for all variants of RIPEMD. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit a558f1d4f8730f055b004b4c8ca1605aeb957daa Author: Patrick McHardy Date: Thu May 8 19:27:47 2008 +0800 [CRYPTO] tcrypt: Catch cipher destination memory corruption Check whether the destination buffer is written to beyond the last byte contained in the scatterlist. Also change IDX1 of the cross-page access offsets to a multiple of 4. This triggers a corruption in the HIFN driver and doesn't seem to negatively impact other testcases. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 692af5da779e018fc6a3b480b67adb33e3c6e1f0 Author: Patrick McHardy Date: Wed May 7 22:37:29 2008 +0800 [HIFN]: Have HW invalidate src and dest descriptors after processing The descriptors need to be invalidated after processing for ring cleanup to work properly and to avoid using an old destination descriptor when the src and cmd descriptors are already set up and the dst descriptor isn't. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 85e7e60b856141cc9831e11cdfc8e9265886abac Author: Patrick McHardy Date: Wed May 7 22:36:54 2008 +0800 [HIFN]: Move command descriptor setup to seperate function Move command descriptor setup to seperate function as preparation for the following DMA setup fixes. Note 1: also fix a harmless typo while moving it: sa_idx is initialized to dma->resi instead of dma->cmdi. Note 2: errors from command descriptor setup are not propagated back, anymore, they can't be handled anyway and all conditions leading to errors should be checked earlier. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 6cd3d674ddd1706226d4c395440ef1997fd72381 Author: Patrick McHardy Date: Wed May 7 22:36:17 2008 +0800 [HIFN]: Fix max queue length value All but the last element of the command and result descriptor rings can be used for crypto requests, fix HIFN_QUEUE_LENGTH. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 4b804b53ef5a3c1a49c11bfff2754e0334cc932e Author: Patrick McHardy Date: Wed May 7 22:35:47 2008 +0800 [HIFN]: Properly initialize ivsize for CBC modes For combined modes like cbc(aes) the driver is responsible for initializing ivsize. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 281d6bd45385c689e7c03c9ff2434c143971682d Author: Patrick McHardy Date: Wed May 7 22:35:07 2008 +0800 [HIFN]: Use unique driver names for different algos When the CryptoAPI instantiates a new algorithm, it performs a lookup by driver name. Since hifn uses the same name for all modes of one algorithm, the lookup may return an incorrect algorithm. Change the name to use -- to provide unique names for the different combinations and devices. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 136f702f51a4bfa38003660768e7153823fff8a1 Author: Patrick McHardy Date: Wed May 7 22:34:27 2008 +0800 [HIFN]: Properly handle requests for less than the full scatterlist The scatterlist may contain more data than the crypto request, causing an underflow of the remaining byte count while walking the list. Use the minimum of the scatterlist element size and the remaining byte count specified in the crypto request to avoid this. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit d069033b42b392662320f71e319296a14d57ff3a Author: Patrick McHardy Date: Wed May 7 22:33:37 2008 +0800 [HIFN]: Fix data alignment checks The check for misalignment of the scatterlist data has two bugs: - the source buffer doesn't need to be aligned at all - the destination buffer and its size needs to be aligned to a multiple of 4, not to the crypto alg blocksize Introduce symbolic constant for destination buffer alignment requirements, use it instead of the crypto alg blocksize and remove the unnecessary checks for source buffer alignment and change cra_alignmask to zero. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 94eaa1bd7ca67e8f57919da96cbb41c215ef20cb Author: Patrick McHardy Date: Wed May 7 22:32:28 2008 +0800 [HIFN]: Handle ablkcipher_walk errors ablkcipher_walk may return a negative error value, handle this properly instead of treating it as a huge number of scatter-gather elements. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 9e70a408ad66846bc98dc026efe0384ef68373fc Author: Patrick McHardy Date: Wed May 7 22:31:35 2008 +0800 [HIFN]: Indicate asynchronous processing to crypto API hifn_setup_crypto() needs to return -EINPROGRESS on success to indicate asynchronous processing to the crypto API. This also means it must not return the errno code returned by hifn_process_queue(), if any. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 7808f0738f9ac5cff05bd89ee457334b9a029b5c Author: Patrick McHardy Date: Wed May 7 22:29:42 2008 +0800 [HIFN]: Remove printk_ratelimit() for debugging printk Without debugging this spams the log with "printk: N messages surpressed" without any actual messages on error. With debugging its more useful to always see the message. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 3c42cbc2e01238778db92e16873a6e6f015a00af Author: Patrick McHardy Date: Wed May 7 22:28:27 2008 +0800 [HIFN]: Endianess fixes HIFN uses little-endian by default, move cpu_to_le32 conversion to hifn_write_0/ hifn_write_1, add sparse annotations and fix an invalid endian conversion in hifn_setup_src_desc. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit b10c170638c1f75bf582a75442fcdf27057ff537 Author: Herbert Xu Date: Wed May 7 22:19:38 2008 +0800 [CRYPTO] tcrpyt: Get rid of change log in source Change logs should be kept in source control systems, not the source. This patch removes the change log from tcrpyt to stop people from extending it any more. Signed-off-by: Herbert Xu commit 82798f90fb13fd934a15ed56fee227fe808dcbe8 Author: Adrian-Ken Rueegsegger Date: Wed May 7 22:17:37 2008 +0800 [CRYPTO] ripemd: Add Kconfig entries for RIPEMD hash algorithms This patch adds Kconfig entries for RIPEMD-128 and RIPEMD-160. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit fd4adf1a0b1923f6126835e1097b2997eb0d27e2 Author: Adrian-Ken Rueegsegger Date: Wed May 7 22:16:36 2008 +0800 [CRYPTO] tcrypt: Add test vectors for RIPEMD-128 and RIPEMD-160 This patch adds test vectors for RIPEMD-128 and RIPEMD-160 hash algorithms and digests (HMAC). The test vectors are taken from ISO:IEC 10118-3 (2004) and RFC2286. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit c6580eb8b17d64f0d6ad25c86a034adbda5ab4e1 Author: Adrian-Ken Rueegsegger Date: Wed May 7 22:14:10 2008 +0800 [CRYPTO] ripemd: Add support for RIPEMD hash algorithms This patch adds support for RIPEMD-128 and RIPEMD-160 hash algorithms. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 93aa7f8a12d1b229bcee12a1100a6df4945f5432 Author: Herbert Xu Date: Wed May 7 21:10:13 2008 +0800 [CRYPTO] cryptd: Fix EINPROGRESS notification context The EINPROGRESS notifications should be done just like the final call-backs, i.e., with BH off. This patch fixes the call in cryptd since previously it was called with BH on. Signed-off-by: Herbert Xu commit d4b19c42ca558273ab99a1093621f267d9d073fc Author: Marek VaÅ¡ut Date: Mon Jul 7 17:31:58 2008 +0100 [ARM] 5155/1: PalmTX battery monitor This patch adds battery monitoring driver for PalmTX. It can read voltage from the battery and temperature. It also monitors charging/discharging status. Signed-off-by: Marek Vasut Signed-off-by: Russell King commit 359784084f3da86e2c7621fd9266e04b50287834 Author: Marek VaÅ¡ut Date: Mon Jul 7 17:28:59 2008 +0100 [ARM] 5154/1: PalmTX PCMCIA This patch adds PCMCIA support for PalmTX handheld computer. There is one chip hard-soldered to slot0, another slot is not in use and not accessible. Signed-off-by: Marek Vasut Signed-off-by: Russell King commit b5e4ad57eeffef0ac274413f83be4ef903719ea4 Author: Marek VaÅ¡ut Date: Mon Jul 7 17:25:46 2008 +0100 [ARM] 5153/1: Add support for PalmTX handheld computer PalmTX is PXA27x based device with wifi, bluetooth, touchscreen, sdio slot, irda, keypad, nand flash, pxa framebuffer, serial and usb gadget interface. Supported by this patch is pxafb, touchscreen, irda, keypad and sdio slot. Signed-off-by: Marek Vasut Signed-off-by: Russell King commit 3ef8191f43cfd936ea00b7483ea0acf2f0303a23 Author: sedji gaouaou Date: Thu Jul 10 10:12:14 2008 +0100 [ARM] 5133/2: at91sam9g20 defconfig file at91sam9g20 defconfig file Signed-off-by: Sedji Gaouaou Signed-off-by: Justin Waters Acked-by: Andrew Victor Signed-off-by: Russell King commit 613526677a74c2b3d1b1696ea7334b2cf35155b3 Author: sedji gaouaou Date: Thu Jul 10 10:15:35 2008 +0100 [ARM] 5130/4: Support for the at91sam9g20 Support for the at91sam9g20 : Atmel 400Mhz ARM 926ej-s SOC. AT91sam9g20 is an evolution of the at91sam9260 with a faster clock speed. We created a new board for this device but based the chip support directly on 9260 files with little updates. Here is the chip page on Atmel wabsite: http://atmel.com/dyn/products/product_card.asp?part_id=4337 Signed-off-by: Sedji Gaouaou Signed-off-by: Justin Waters Acked-by: Andrew Victor Signed-off-by: Russell King commit 42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c Author: Ingo Molnar Date: Thu Jul 10 12:35:46 2008 +0200 x86, visws: use mach-default/entry_arch.h mach-default/entry_arch.h is exactly the same file as mach-visws/entry_arch.h, so include the first from the second, so that updates to the generic one get picked up by VISWS as well. Signed-off-by: Ingo Molnar commit ca201c8230de336c3684aa3f3422d0c3f02bcef9 Author: Ingo Molnar Date: Thu Jul 10 12:33:20 2008 +0200 x86, visws: fix generic-ipi build fix: arch/x86/kernel/built-in.o: In function `smp_intr_init': (.init.text+0x49e2): undefined reference to `call_function_single_interrupt' Caused by include/asm-x86/mach-visws/entry_arch.h getting out of sync with the include/asm-x86/mach-default/entry_arch.h file it derives from. Copy the default file over - next step will be to simply include the default file. Signed-off-by: Ingo Molnar commit a6784ad7eafa74a085c8458909eda0699a8fcf57 Author: Ingo Molnar Date: Thu Jul 10 12:21:58 2008 +0200 x86: fix visws and vsmp build these two sub-architectures want PCI to be default-on, not default-off. Reported-by: Robert Richter Signed-off-by: Ingo Molnar commit ec1bb60bbff0386c3ec25360e7a8c72f467a6ff1 Merge: 5373fdb... 37f5d73... Author: Ingo Molnar Date: Thu Jul 10 11:43:08 2008 +0200 Merge branch 'tracing/sysprof' into auto-ftrace-next commit 5373fdbdc1dba69aa956098650f71b731d471885 Merge: bac0c91... 4d51c75... Author: Ingo Molnar Date: Thu Jul 10 11:43:06 2008 +0200 Merge branch 'tracing/mmiotrace' into auto-ftrace-next commit bac0c9103b31c3dd83ad9d731dd9834e2ba75e4f Merge: 6329d30... 98a05ed... Author: Ingo Molnar Date: Thu Jul 10 11:43:00 2008 +0200 Merge branch 'tracing/ftrace' into auto-ftrace-next commit 13f7558237ed841b19f11e0920c01c4d6d50fcc5 Author: Ian Molton Date: Tue Jul 8 10:32:50 2008 +0100 Clocklib: Fix SA1111 clock name mess. This patch uses the ability of PXA's clocklib to alias clock to resolve the problem caused by sharing the SA1111 IO controller between PXA and SA1100 architectures, which have differing GPIO numbering. Signed-off-by: Ian Molton commit ed847782f6459a5c94aa0c9f93679f6a4176a47a Author: Ian Molton Date: Tue Jul 8 10:32:08 2008 +0100 Clocklib: Provide for GPIO 12 clock on PXA Signed-off-by: Ian Molton commit aa9ae8eb1a917c8794bceef0a8e6ff1f4d7c46de Author: Ian Molton Date: Wed Jun 25 22:17:16 2008 +0100 Fix serial broken-ness on PXA250 PXA255 and 26x are the only PXA CPUs with HWUART. This patch prevents bogus initialisation on other models. Signed-off-by: Ian Molton commit 83a1a3974f33d45d6631363738db737624a32e82 Author: Clemens Ladisch Date: Thu Jul 10 11:05:42 2008 +0200 ALSA: usb-audio: add some Yamaha USB MIDI quirks Add quirk entries for four Yamaha USB MIDI devices. Signed-off-by: Clemens Ladisch commit 0b9f4f49e2abe787673de8f1f56f053fb30fec24 Author: Maciej W. Rozycki Date: Tue Jul 1 01:19:31 2008 +0100 x86: I/O APIC: Add a 64-bit variation of replace_pin_at_irq() When an interrupt is rerouted to a different I/O APIC pin the relevant entry of the irq_2_pin list should get updated accordingly so that operations are performed on the correct redirection entry. This is already done by the 32-bit variation of the code and here is a complementing 64-bit implementation. Should make someone's decision less tough when merging the two. ;) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit c85ceac97487580e39daaf57858513246e425647 Author: Clemens Ladisch Date: Thu Jul 10 11:01:06 2008 +0200 ALSA: usb-audio: fix Yamaha KX quirk We have to restrict the quirk to interface 0 because the second interface is not MIDI but HID. Additionally, this product ID is used by all four KX models, so it is better to read the product name from the device. Signed-off-by: Clemens Ladisch commit c9076b63191ec799ba6848ce5603fff109da57d2 Author: Ingo Molnar Date: Thu Jul 10 11:00:50 2008 +0200 Revert "x86: fix IO APIC breakage on HP nx6325" This reverts commit 90221a61a71b7ad659d8741cf1e404506b174982. This too was just temporary diagnostics - not needed now that we've got the final fix via: | commit e2079c43861f71b2deb78ee20e247ad954fdd67e | Author: Rafael J. Wysocki | Date: Tue Jul 8 16:12:26 2008 +0200 | | x86: fix C1E && nx6325 stability problem Signed-off-by: Ingo Molnar commit 2179bab7d431ab8ed539e19e029b1f6a231f4ed3 Author: Ingo Molnar Date: Thu Jul 10 10:59:59 2008 +0200 Revert "x86: fix IO APIC breakage on HP nx6325, v2" This reverts commit a74a1cc3df0be89658bc735c8aed80c8392e2c15. This was just temporary diagnostics commit - not needed now that we've got the final fix. Signed-off-by: Ingo Molnar commit 18b743dc948aaddc46258b73f17bdec2ee4019ee Author: FUJITA Tomonori Date: Thu Jul 10 09:50:50 2008 +0900 x86, AMD IOMMU: clean up Kconfig entry AMD_IOMMU should depend on IOMMU_HELPER since they are the IOMMU helper functions. SWIOTLB requires IOMMU_HELPER so declaring that AMD_IOMMU depends on SWIOTLB properly fixes the problems. Signed-off-by: Ingo Molnar commit e93be88d7ec9d183c1cca51eabe040c051cdb687 Author: FUJITA Tomonori Date: Thu Jul 10 08:27:49 2008 +0900 x86: clean up iommu.h and gart.h This remove lots of duplications in iommu.h and gart.h. The end result of this patch is: - iommu.h is a header file for everyone related with IOMMUs. - gart.h is the private header file. Only pci-gart_64.c and its friends include it. Signed-off-by: FUJITA Tomonori Cc: fujita.tomonori@lab.ntt.co.jp Signed-off-by: Ingo Molnar commit 849567b9363dc8b90c369fff8acc245a1b47d94d Merge: 3d43ecd... 8cbfd4f4... Author: Ingo Molnar Date: Thu Jul 10 10:43:11 2008 +0200 Merge branch 'x86/gart' into x86/core commit 4a161d235b68eb7234f40106560c488a1bdb3851 Author: Manuel Lauss Date: Wed Jul 9 16:27:56 2008 +0200 ALSA: ASoC: Au12x0/Au1550 PSC Audio support Audio for Au12x0/Au1550 PSCs in AC97 and I2S mode, for ASoC v1 framework. - DBDMA, AC97 and I2S drivers - sample AC97 machine code (Db1200) Signed-off-by: Manuel Lauss Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bf41534506a0572c06c8f34d12aa489be4c8780e Author: Richard Chan Date: Wed Jul 9 19:39:07 2008 +0200 ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h This patch is for the Yamaha USB MIDI controller KX49. http://www.yamahasynth.com/products/kx/index.html It has a 3-port MIDI interface and an HID interface (it has a tiny keyboard subset). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a84534dc179d3e9f501e5a12598cc5271cd28f5b Author: Dmitry Baryshkov Date: Tue Jul 8 19:45:42 2008 +0400 ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration Signed-off-by: Dmitry Baryshkov Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 76d39d0a1947fee4c29976e507fb93188eaa2b38 Author: Dmitry Baryshkov Date: Tue Jul 8 19:45:20 2008 +0400 ALSA: tosa: fix compilation with new DAPM API Signed-off-by: Dmitry Baryshkov Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit af13452820d075cb7153fe155ca796e64038d7e5 Author: Takashi Iwai Date: Wed Jul 9 19:13:30 2008 +0200 ALSA: wavefront - add const Fix const to non-const pointer cast warning in wavefront_synth.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee2da99782d717b264d5c309a2084ca85e9a64ff Author: Johannes Berg Date: Wed Jul 9 10:28:41 2008 +0200 ALSA: remove CONFIG_KMOD from sound A bunch of things in alsa depend on CONFIG_KMOD, use CONFIG_MODULES instead where the dependency is needed at all. Signed-off-by: Johannes Berg Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7fc077fba5f8896c6fed3b35c5a10e7fdae82bbe Author: David Howells Date: Tue Jul 8 17:52:10 2008 +0100 ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver Fix a const to non-const pointer assignment warning in the Digigram VXpocket sound driver. This may be due to patch 0aa4937648b91e9e6d3879b2cbeaa5f0c9863ac0. Signed-off-by: David Howells Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bd5d06eb8f0b9e0eb117b9c45c254d577ec2e273 Author: David Howells Date: Tue Jul 8 17:30:30 2008 +0100 ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver Fix a const pointer usage warning in the Digigram VX soundcard driver. A const pointer is being passed to copy_from_user() to load the firmware into. This is okay in this case because the function has allocated the firmware struct itself, but the const qualifier is part of the firmware struct - so the patch casts the const away. Signed-off-by: David Howells Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6f48413dd0f28d81a20fba2e264dd1b9f205893e Author: Liam Girdwood Date: Tue Jul 8 13:21:52 2008 +0100 ALSA: asoc: at32 - DAI struct merge and enable_pin() change. This adds support for the recent DAI struct merge and new DAPM pin API. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ac8615baf279f9bcb90c8ae017321d63a94e1762 Author: Liam Girdwood Date: Tue Jul 8 13:20:39 2008 +0100 ALSA: asoc: n810 - fix build error. This patch adds a missing " that was recently introduced (removed) in the DAI struct merge patch series. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 64105cfd65df74fdf82c1d053b2c9953304a94ea Author: Liam Girdwood Date: Tue Jul 8 13:19:18 2008 +0100 ALSA: asoc: machines - add Digital Audio Interface (DAI) control functions. This patch adds several functions for DAI control and config and replaces the current method of calling function pointers within the DAI struct within the machine drivers. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c6529dbf881303920a415c2d14a500218661949 Author: Liam Girdwood Date: Tue Jul 8 13:19:13 2008 +0100 ALSA: asoc: core - add Digital Audio Interface (DAI) control functions. This patch adds several functions for DAI control and config and replaces the current method of calling function pointers within the DAI struct. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7e2574050e6af203f0c94915c98c53ce1fc48044 Author: Matthew Ranostay Date: Tue Jul 8 11:50:09 2008 +0200 ALSA: hda - removed redundant gpio_mask An gpio_mask value was defined twice needlessly. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3fccd8b1bf716f1314c76689a3554ea37ad282b6 Author: Mark Brown Date: Mon Jul 7 19:26:04 2008 +0100 ALSA: ASoC: Dump DAPM state for non-stream changes Explicit DAPM syncs are likely to cause DAPM state updates, as are mixer and mux configuration changes, so display the DAPM status after them too. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c1286b8671135006eeb66b0267fa2895561b78e4 Author: Mark Brown Date: Mon Jul 7 19:26:03 2008 +0100 ALSA: ASoC: Switch DAPM to use of standard DEBUG macro DAPM contains debug output controlled by a DAPM_DEBUG macro. Change this to be controlled by the standard DEBUG, dropping the custom dbg() macro as we go. Also fix the error printed when configuring an unknown pin to be an unconditionally displayed error rather than debug output. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 53640650ffe07f6201ecae0b0dca078b97327247 Author: Liam Girdwood Date: Mon Jul 7 16:08:29 2008 +0100 ALSA: asoc: sh - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the SuperH platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1992a6fbd929196aebe95e0e7b04c4da66c3bfec Author: Liam Girdwood Date: Mon Jul 7 16:08:24 2008 +0100 ALSA: asoc: s3c24xx - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the S3C24xx platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 917f93ac80a1c007d4a3ce269a3712f93a75728f Author: Liam Girdwood Date: Mon Jul 7 16:08:11 2008 +0100 ALSA: asoc: pxa - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the PXA platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8687eb8bded8c3c5842a85bd0c30e43fc5a3e0e0 Author: Liam Girdwood Date: Mon Jul 7 16:08:07 2008 +0100 ALSA: asoc: omap - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the Omap platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8cf7b2b393b26b9ba1ccbeeb271a88e51d58f3e3 Author: Liam Girdwood Date: Mon Jul 7 16:08:00 2008 +0100 ALSA: asoc: fsl - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the Freescale PPC platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e550e17ffeb8cf8db27724eaf2ad05f77388afb9 Author: Liam Girdwood Date: Mon Jul 7 16:07:52 2008 +0100 ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the codec drivers. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9cb132d743cf39b3bbe4288e9035217e7237a0bb Author: Liam Girdwood Date: Mon Jul 7 16:07:42 2008 +0100 ALSA: asoc: davinci - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the DaVinci platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d37ae539a1d76da8fe5a939ce8b6d818501c8716 Author: Liam Girdwood Date: Mon Jul 7 16:07:37 2008 +0100 ALSA: asoc: at91 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for the AT91 platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 453ba20b2800bc07a3eaf220010dc0127cc552fd Author: Liam Girdwood Date: Mon Jul 7 16:07:29 2008 +0100 ALSA: asoc: at32 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch series merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai for AT32 platform. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3c4b266fe642bcaebe2b95edb56c3f8802924ff9 Author: Liam Girdwood Date: Mon Jul 7 16:07:17 2008 +0100 ALSA: asoc: core - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. This patch series merges struct snd_soc_codec_dai and struct snd_soc_cpu_dai into struct snd_soc_dai in preparation for further ASoC v2 patches. This merger removes duplication in both DAI structures and simplifies the API for other users. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a5302181e5321664047f75715242aac4e0bbd17c Author: Liam Girdwood Date: Mon Jul 7 13:35:17 2008 +0100 ALSA: asoc: core - refactored DAPM pin control API. Refactored snd_soc_dapm_set_endpoint() to snd_soc_dapm_enable_pin() and snd_soc_dapm_disable_pin(). Renamed snd_soc_dapm_sync_endpoints() to snd_soc_dapm_sync(). Renamed snd_soc_dapm_get_endpoint_status() to snd_soc_dapm_get_pin_status(). Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit be321a890c25272965129ffe4b3b59a519fcf583 Author: Takashi Iwai Date: Mon Jul 7 16:04:04 2008 +0200 ALSA: hda - Add support for Lenovo 3000 N200 Added the model entry (model=lenovo) for Lenovo N3000 N200 laptop with ALC861-VD. Reference below: https://bugzilla.novell.com/show_bug.cgi?id=406425 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 73ead4855d98e330f2840523e1648575b9f2aae9 Author: Mark Brown Date: Fri Jul 4 16:01:14 2008 +0100 ALSA: ASoC: Fix warning from strict_strtoul() Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3f775987030cf7ff922765c18ddd0d311b4b46ef Author: Manuel Lauss Date: Thu Jul 3 09:33:10 2008 +0200 ALSA: ASoC: AC97 codec PM Simple suspend/resume for AC97 ASoC codec. Signed-off-by: Manuel Lauss Acked-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15e4c72f520d1db9adc38ba157547a7c1fca45b2 Author: Mark Brown Date: Wed Jul 2 11:51:20 2008 +0100 ALSA: ASoC: Make pop/click debug wait times dynamically configurable DAPM supports adding a compile time configurable delay to the widget power sequences, aiding diagnosis of problems with pops and clicks being generated during them. This patch converts this to be configurable at run time via a sysfs file. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5415552d21150dbfbff012de2b59e685ea232b1e Author: Mark Brown Date: Wed Jul 2 11:51:19 2008 +0100 ALSA: ASoC: Advertise 16000Hz rate for WM9713 PCM interface Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 25552e87aa4102f048f1a8a8ddc87c96593c304e Author: Mike Rapoport Date: Wed Jul 2 13:19:23 2008 +0300 ALSA: ac97 - fix patch_ucb1400 for proper resume Replace 'snd_ac97_write' with snd_ac97_write_cache' in pacth_ucb1400 to allow proper codec wakeup. Signed-off-by: Mike Rapoport Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6a9dccd61253f361760802d8d19c28fa83ea83f5 Author: Takashi Iwai Date: Tue Jul 1 14:52:05 2008 +0200 ALSA: ALSA: hda - Fix speaker output on Toshiba P105 Toshiba Satellite P105 with cx5045 has no HP pin but only a speaker pin and does the speaker-muting on hardware. Thus the matching model is laptop-micsense. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 470eaf6be78424fc499a5039e5d5fe58bace2bc3 Author: Takashi Iwai Date: Mon Jun 30 16:40:10 2008 +0200 ALSA: hda - Add missing Thinkpad Z60m support Added the missing SSID of Thinkpad Z60m for model=thinkpad with AD1981HD. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0701e0640f4a1de2b509cfee508216275f81d812 Author: Takashi Iwai Date: Fri Jun 27 16:30:57 2008 +0200 ALSA: ALSA: hda - Fix ALC883 medion model ALC883 medion model doesn't unmute the proper amps so no output can be heard. Replaced the mute switches to behave just like other models. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4d20f70a787e03530786152ea27a6ed157205cdc Author: Jarkko Nikula Date: Fri Jun 27 14:07:57 2008 +0300 ALSA: ASoC: TLV320AIC3X: Add mixer control for ADC highpass filter Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6cabf6b0694951288520512e0b68c78523acc9fd Author: Takashi Iwai Date: Fri Jun 27 11:55:20 2008 +0200 ALSA: Fix AC97 power down Some laptops don't like PR3 powerdown. Do PR3 powerdown only for the real power-saving. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 942fd1ebf6072fdaa07ae6d77a4f58b39c1bfdf9 Author: Walter Sheets Date: Fri Jun 27 11:53:31 2008 +0200 ALSA: via82xx - Add VIA audio device #1841 to ac97_quirk list Signed-off-by: Walter Sheets Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3d43ecd286e442792f2e899e6e06eb23ab3d99f6 Author: Yinghai Lu Date: Wed Jul 9 20:17:50 2008 -0700 x86: make e820_end return end_of_ram again for 64bit even on 64bit systems with less than 4G RAM, we can now use fixmap to handle acpi SIT near end of ram. change e820_end to e820_end_of_ram again? or e820_ram_pfn? Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit f34fa82b19581affffb14f8ad9bdad9b5ab4daf5 Author: Yinghai Lu Date: Wed Jul 9 20:16:36 2008 -0700 x86, acpi: merge __acpi_map_table and let 64-bit to fall back to use fixmap too. Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit f9f278fefdbbbf198bb4111b3fba47d9043dae59 Merge: 35020f1... 7a1fc53... Author: Neil Brown Date: Thu Jul 10 16:51:26 2008 +1000 Merge branch 'for-2.6.26' into for-next Conflicts: drivers/md/raid5.c commit 7b16eb8930d1e2a7ce5c7f35c87d62252ecc91f2 Author: Yinghai Lu Date: Wed Jul 9 20:15:02 2008 -0700 x86: overmapped fix when 4K pages on tail, 64-bit fix phys_pmd_init to make sure not to return bigger value than end. also print out range split:1G/2M/4K in init_memory_mapping(). Signed-off-by: Yinghai Lu Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 9e4144abf8a30ae221311368bbb10690ebdb4b76 Merge: e17ba73... 6329d30... Author: Ingo Molnar Date: Thu Jul 10 08:17:14 2008 +0200 Merge branch 'linus' into core/printk Conflicts: kernel/printk.c Signed-off-by: Ingo Molnar commit 4fb3dc2729c22ed1b023475fe28b720460251de1 Author: Ingo Molnar Date: Wed Jul 9 13:07:23 2008 +0200 x86: build fix for "x86: fix C1E && nx6325 stability problem" fix: arch/x86/kernel/built-in.o: In function `dmi_ignore_irq0_timer_override': boot.c:(.init.text+0x3ea4): undefined reference to `force_mask_ioapic_irq_2' Signed-off-by: Ingo Molnar commit 6b148507d3d042a3c11f4c3f6c0f649c6a89220d Author: Thomas Gleixner Date: Wed May 21 21:14:58 2008 +0200 pmtmr: allow command line override of ioport Stupid BIOSes do not tell us about the PMTimer, but we might know where it is. Signed-off-by: Thomas Gleixner commit 48627d8d23c34106c1365563604739a50343edaf Author: Thomas Gleixner Date: Thu Jul 10 07:01:13 2008 +0200 genirq: remove extraneous checks in manage.c In http://bugzilla.kernel.org/show_bug.cgi?id=9580 it was pointed out that the desc->chip checks are extraneous. In fact these are left overs from early development and can be removed safely. Signed-off-by: Thomas Gleixner commit 63f385cd1f649b3f4f2d59fc609e051981215fd7 Author: Arnaud Patard Date: Tue Jul 8 23:07:48 2008 +0100 [ARM] 5160/1: IOP3XX: gpio/gpiolib support This patch brings support for gpio/gpiolib framework to Intel IOP3xx platforms. Signed-off-by: Arnaud Patard Acked-by: Dan Williams Signed-off-by: Russell King commit 16074b669ea97e2bef494ec7cceb475566f763e3 Author: Patrice Vilchez Date: Wed Jul 9 22:16:00 2008 +0100 [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits. New timings are based on application note "NAND Flash Support on AT91SAM9 Microcontrollers" available at http://atmel.com/dyn/resources/prod_documents/doc6255.pdf). Signed-off-by: Patrice Vilchez Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 20072fd0c93349e19527dd2fa9588b4335960e62 Author: Eric Miao Date: Fri Jun 6 16:34:03 2008 +0800 [ARM] pxa: add support for L2 outer cache on XScale3 The initial patch from Lothar, and Lennert make it into a cleaner one, modified and tested on PXA320 by Eric Miao. This patch moves the L2 cache operations out of proc-xsc3.S into dedicated outer cache support code. CACHE_XSC3L2 can be deselected so no L2 cache specific code will be linked in, and that L2 enable bit will not be set, this applies to the following cases: a. _only_ PXA300/PXA310 support included and no L2 cache wanted b. PXA320 support included, but want L2 be disabled So the enabling of L2 depends on two things: - CACHE_XSC3L2 is selected - and L2 cache is present Where the latter is only a safeguard (previous testing shows it works OK even when this bit is turned on). IXP series of processors with XScale3 cannot disable L2 cache for the moment since they depend on the L2 cache for its coherent memory, so IXP may always select CACHE_XSC3L2. Other L2 relevant bits are always turned on (i.e. the original code enclosed by #if L2_CACHE_ENABLED .. #endif), as they showed no side effects. Specifically, these bits are: - OC bits in TTBASE register (table walk outer cache attributes) - LLR Outer Cache Attributes (OC) in Auxiliary Control Register Signed-off-by: Lothar WaÃ<9f>mann Signed-off-by: Lennert Buytenhek Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5c9f50e90e8056fb5a8bdd479ab0591d5dad79a0 Author: Eric Miao Date: Tue Jun 17 19:03:54 2008 +0800 [ARM] pxa: add simple gpio debug LEDs support for zylonite Signed-off-by: Eric Miao Signed-off-by: Russell King commit a1f7fc48c143537e2bf70affee7e8932f5be9bb4 Author: Eric Miao Date: Wed May 28 10:44:16 2008 +0800 [ARM] pxa: add GPIO expander (PCA9539) support for zylonite And also reserve 32 IRQs for the two GPIO expanders. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 9c1db1a1333197bc04dfd0c71d15f8ed43eb844d Author: Eric Miao Date: Mon Jun 2 15:42:14 2008 +0800 [ARM] pxa: add pxa3xx NAND support for littleton Signed-off-by: Eric Miao Cc: Sergey Podstavin Signed-off-by: Russell King commit 481b55262e396930e6e35b8a6d41e7c146e10241 Author: Eric Miao Date: Mon Jun 2 15:37:20 2008 +0800 [ARM] pxa: add pxa3xx NAND support for zylonite Signed-off-by: Eric Miao Cc: Sergey Podstavin Signed-off-by: Russell King commit 9ae819a819b4dfc60ac13dd1f1e1a7eaa3d4a6cb Author: Eric Miao Date: Mon Jun 2 15:22:03 2008 +0800 [ARM] pxa: add pxa3xx NAND device and clock sources A pxa3xx_set_nand_info() is also introduced to set the PXA3xx NAND driver specific platform_data structure pointer. Signed-off-by: Eric Miao Cc: Sergey Podstavin Signed-off-by: Russell King commit 7c3ada4f7cc76fa3912683da83eccf7886fca1b1 Author: Eric Miao Date: Mon May 12 09:25:37 2008 +0800 [ARM] pxa: move pxa310 specific MMC3 clk out of generic pxa3xx.c Signed-off-by: Eric Miao Signed-off-by: Russell King commit 7a2c5cb0e2cafd5c3d07df1db8de183283a3b1ac Author: eric miao Date: Tue Feb 19 11:13:31 2008 +0800 [ARM] pxa: make PXA3xx_CK() and PXA3xx_CKEN() public in clock.h So processor specific clock sources can be defined in pxa300.c and pxa320.c. Signed-off-by: eric miao Signed-off-by: Russell King commit 566b450c33ea43f339d54d445f4ea1ab2e021909 Author: Eric Miao Date: Mon Jun 16 09:47:47 2008 +0800 [ARM] pxa: add pxa2xx_mfp_set_lpm() to facilitate low power state change Some boards want to change low power state of pins on-the-fly, this function helps to facilitate that operation instead of switching back-n-forth between two configurations with pxa2xx_mfp_config(). Signed-off-by: Eric Miao Tested-by: Robert Jarzmik Signed-off-by: Russell King commit 0fedb0cad6ebc00af01013b5bbe52dd596853c63 Author: Eric Miao Date: Mon Jun 16 09:38:27 2008 +0800 [ARM] pxa: introduce dedicated __mfp_validate() to check PXA2xx MFP Signed-off-by: Eric Miao Tested-by: Robert Jarzmik Signed-off-by: Russell King commit d4a678080e83ff96e3933fa1e631cef3cda04bef Author: Eric Miao Date: Thu Jun 12 18:49:08 2008 +0800 [ARM] pxa: embed body of pxa320_init_mfp() pxa320_init_mfp() is simple enough to be embedded into pxa320_init() to simplify the code a bit. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 6d3dfe4a3141476a3cf59ce6d2d1c25f9b5cfae8 Author: Eric Miao Date: Mon Jun 2 15:58:03 2008 +0800 [ARM] pxa: allow display of uncompress message through STUART Some boards use UART other than FFUART for the console, E.g. Marvell PXA3xx Form Factor Platform (aka Littleton) uses STUART. This patch modifies the uncompress.h so that display of the uncompress message is routed to the STUART. Signed-off-by: Eric Miao Signed-off-by: Russell King commit b18773d545e65fe442479e3f9853c8ebb8ec45d6 Author: Eric Miao Date: Mon Jun 2 17:41:42 2008 +0800 [ARM] pxa: remove WAKEUP_ON_LEVEL_HIGH from keypad direct keys Setting PKWR bits on those pins will make the resuming from low power state to fail. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 36caeb4ec147dacb04e723080816e78f288f47cc Author: Eric Miao Date: Mon Jun 2 13:32:42 2008 +0800 [ARM] pxa: fix typo of CONFIG_*_MODULE The correct macro name when a driver is built as a module is CONFIG_*_MODULE instead of CONFIG_*_MODULES. This patch fixes this in several places. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 8a6e88736066fddec77aa33a18ffa0c5f8eb2def Author: Eric Miao Date: Mon Jun 2 13:30:24 2008 +0800 [ARM] pxa: use IORESOURCE_IRQ_* instead of IRQF_* for IRQ resource Signed-off-by: Eric Miao Signed-off-by: Russell King commit 043dd64e5d82ba6147b0034e1bfdd27d38d2f6c7 Author: Eric Miao Date: Thu May 22 15:07:05 2008 +0800 [ARM] pxa: add codename zylonite for PXA3xx Development Platform Signed-off-by: Eric Miao Signed-off-by: Russell King commit f974a8ec96571535ee07880a023bcce0e3f2c76b Merge: c0b8556... 4ed4789... Author: Russell King Date: Wed Jul 9 21:34:25 2008 +0100 Merge branch 'machtypes' into pxa-palm commit 03fe6692135842d992fe3e599e62bbe72ce08fef Author: Mike Rapoport Date: Tue Jun 17 09:50:06 2008 +0100 [ARM] 5107/1: Add maintainer entries for the CompuLab CM-X270/EM-X270 machines Add maintainer entries for the CompuLab CM-X270/EM-X270 machines Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit 839257c9a818c81a802fdd705602589355571662 Author: Mike Rapoport Date: Tue Jun 17 09:49:27 2008 +0100 [ARM] 5106/1: CM-X270: remove unneeded cm-x270.h The include/asm-arm/arch-pxa/cm-x270.h is not used anymore. Remove it. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 70eb33d67ab6982d0f9571621efb3c035b945684 Author: Mike Rapoport Date: Tue Jun 17 09:48:46 2008 +0100 [ARM] 5105/1: CM-X270: update NAND flash driver to use gpio_lib Update CM-X270 NAND flash driver to use gpio_lib. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 779c545d945eeb7778c27c531bae58df7767229d Author: Mike Rapoport Date: Tue Jun 17 09:48:03 2008 +0100 [ARM] 5104/1: CM-X270: PCMCIA updates Convert to use gpio_lib interface. Remove support for second PCMCIA slot to avoid run-time conflicts with MMC/SD because of shared GPIO Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 2f01a973729712c373ccc8acde4d218c38f3029a Author: Mike Rapoport Date: Tue Jun 17 12:29:58 2008 +0100 [ARM] 5103/2: CM-X270: update core platform support Convert CM-X270 pin configuration to use MFP tables. Make device initialization dependent on respective driver CONFIG_ value (like in zylonite). Cleanup includes Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit 3c85bce6f820258b49bb74c53d2f47c058199f1b Author: Mike Rapoport Date: Mon Jun 16 08:16:46 2008 +0100 [ARM] 5101/2: EM-X270 updates Convert EM-X270 pin configuration to use MFP tables and gpio library Make device initialization dependent on respective driver CONFIG_ value (like in zylonite) Add keypad and gpio_key devices Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 14d1012db8462bbb7139ac4622f92e541d3019d1 Author: Philipp Zabel Date: Mon Jun 30 18:11:55 2008 +0100 [ARM] 5138/1: magician: set pwm-backlight .id = -1 There will always be only one pwm-backlight on this device. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit d0f7f1dff01698d228dc108895fbb9b13af37dab Author: Philipp Zabel Date: Mon Jun 30 18:11:35 2008 +0100 [ARM] 5137/1: magician: MACH_MAGICIAN doesn't need to depend on ARCH_PXA It is only defined inside an "if ARCH_PXA ... endif" block, so the depends on is not needed. Signed-off-by: Philipp Zabel ? Acked-by: Eric Miao Signed-off-by: Russell King commit e277479aba3d35745c822540e9c3d941aabb4e98 Author: Philipp Zabel Date: Thu Jun 26 21:04:31 2008 +0100 [ARM] 5126/1: magician: remove superfluous mtd includes These were only needed for hardcoded flash partition tables, which were never submitted. It is better to have the bootloader pass the partition table to the kernel instead. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 7a97010eb4f47c9d2d66bfb838a8638a8d02d9ef Author: Philipp Zabel Date: Thu Jun 26 21:03:54 2008 +0100 [ARM] 5125/1: magician: move gpio pin configuration into __initdata section The pin configuration array is only used during board init. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit e181191acdfde5b1f9690c74a2459dd0a3331c62 Author: Philipp Zabel Date: Sun Jun 22 13:00:55 2008 +0100 [ARM] 5119/1: magician: include linux/gpio.h instead of asm/gpio.h Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit ff279202781c473545862918a8ef1f4ef7712e47 Author: Philipp Zabel Date: Thu May 22 10:14:21 2008 +0100 [ARM] 5042/1: magician: request GPIOs for pda_power Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 6a566fbbcc902df6c9c4dc151bf399018083fb10 Author: Guennadi Liakhovetski Date: Mon Jun 16 08:16:46 2008 +0100 [ARM] 5095/2: pcm990: switch from pxa_gpio_mode to pxa2xx_mfp_config pxa_gpio_mode() is deprecated, use the new pxa2xx_mfp_config() function to configure GPIOs in pcm990 platform code. Convert "array, ARRAY_SIZE(array)" to "ARRAY_AND_SIZE(array)" while at it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit c0b8556f2f8146bd38324b14b1ce00f249ba8ed9 Author: Dmitry Baryshkov Date: Wed Jul 2 13:50:09 2008 +0100 [ARM] 5143/1: pxa: further cleanup PXA Kconfig by removing one unnecessary menu level Signed-off-by: Dmitry Baryshkov Acked-by: Eric Miao Signed-off-by: Russell King commit c7b4f5ba07a16d2c84ac6cc312488cc6cc0db518 Author: Dmitry Baryshkov Date: Tue Jul 1 15:45:10 2008 +0100 [ARM] 5142/1: pxa: move move zaurus declarations to proper place Signed-off-by: Dmitry Baryshkov Acked-by: Eric Miao Signed-off-by: Russell King commit e172274ccc55d20536fbdceb6131f38e288541e0 Author: Guennadi Liakhovetski Date: Fri Jun 13 09:17:31 2008 +0100 [ARM] 5088/3: pxa2xx: add pxa2xx_set_spi_info to register pxa2xx-spi platform devices Add a function to dynamically allocate and register pxa2xx-spi platform devices, to be used by PXA2xx and PXA3xx based systems. Switch pcm027 and lubbock to use it. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Russell King commit cabb352a6455c3550f157909196845f533b0f374 Author: Mark Brown Date: Tue Jun 10 10:48:25 2008 +0100 [ARM] 5084/1: zylonite: Register AC97 device The Zylonite has an AC97 subsystem on it so register the AC97 controller device. Signed-off-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Russell King commit 9f19d6382854d6b2d58cc364253779479e14facc Author: Mark Brown Date: Tue Jun 10 12:30:05 2008 +0100 [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model As well as moving all the device declarations to a single one in devices.c this causes all platforms to register the I/O and interrupt resources for the AC97 controller. Cc: eric miao Cc: Mike Rapoport Cc: Lennert Buytenhek Cc: Jürgen Schindele Cc: Juergen Beisert Signed-off-by: Mark Brown Signed-off-by: Russell King commit 7a8576204333d133d58cbcc59dacf49a5546e3e4 Author: Philipp Zabel Date: Sun Jun 22 23:36:39 2008 +0100 [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers The pxa2xx_udc.c driver is renamed to pxa25x_udc.c (the platform driver name changes from pxa2xx-udc to pxa25x-udc) and the platform driver name of pxa27x_udc.c is fixed to pxa27x-udc. pxa_device_udc in devices.c is split into pxa25x and pxa27x flavors and the pxa27x_device_udc is enabled in pxa27x.c. Signed-off-by: Philipp Zabel Acked-by: Nicolas Pitre Acked-by: Eric Miao Signed-off-by: Russell King Including from Ian Molton: Fixes for mistakes left over from the PXA2{5,7}X UDC split. Signed-off-by: Ian Molton Signed-off-by: Russell King commit 73d1a2c467ba4fb7420b499b6a7c66edf9626679 Author: Dmitry Baryshkov Date: Wed Jul 2 13:55:28 2008 +0100 [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting is handled in board code Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 918dbcba4ee3f0ad7d617b3969d5016481b9ceff Author: Dmitry Baryshkov Date: Wed Jul 2 13:53:45 2008 +0100 [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state Provide a set of functions to control state of pins dedicated to IrDA. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 330ff197fcdc83ba151960d78294fb37777ebe12 Author: Dmitry Baryshkov Date: Wed Jul 2 13:52:27 2008 +0100 [ARM] 5144/1: pxaficp_ir: cleanup includes Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 66a7f72d9892013e9ea663260f407758989ff510 Author: Russell King Date: Mon Jun 2 16:10:20 2008 +0100 [ARM] pxa: remove pxa_set_cken() pxa_set_cken() is now unused, remove it. Signed-off-by: Russell King commit fdc614e873bc56ed15d8f4e9fa33516cd0915fc2 Merge: bdb08cb... c0f7edb... 9fc697b... Author: Russell King Date: Wed Jul 9 20:56:05 2008 +0100 Merge branches 'pxa-misc', 'pxa-pwm' and 'pxa-multi' into pxa commit bdb08cb2d3491d441dd403dfb88d90ba90fb7232 Author: Russell King Date: Mon Jun 30 19:47:59 2008 +0100 [ARM] pxa: allow clk aliases We need to support more than one name+device for a struct clk for a small number of peripherals. We do this by re-using struct clk alias to another struct clk - IOW, if we find that the entry we're using is an alias, we return the aliased entry not the one we found. Signed-off-by: Russell King commit 2bf3016f89344d4cd8b2c96bbec2b642a2bde413 Author: Stefan Roese Date: Thu Jul 10 01:09:23 2008 +1000 powerpc: Fix problems with 32bit PPC's running with >= 4GB of RAM This patch enables 32bit PPC's (with 36bit physical address space, e.g. IBM/AMCC PPC44x) to run with >= 4GB of RAM. Mostly its just replacing types (unsigned long -> phys_addr_t). Tested on an AMCC Katmai with 4GB of DDR2. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 3fa69dd57759cb45fa48bb70a055025d25a7e4e8 Author: Josh Boyer Date: Wed Jul 9 14:05:15 2008 -0400 powerpc/44x: Update ppc44x_defconfig Add the virtex and sam440ep platforms to the multiboard defconfig Signed-off-by: Josh Boyer commit 4248652d4f3ce6be1a94c77ddbfeb937af1df800 Author: Sean MacLennan Date: Wed Jul 9 05:00:10 2008 +1000 powerpc/44x: Support NAND boot for Rev A Warp boards Allow the Rev A Warp boards to boot from NAND. Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 1bc54c03117b90716e0dedd7abb2a20405de65df Author: Benjamin Herrenschmidt Date: Tue Jul 8 15:54:40 2008 +1000 powerpc: rework 4xx PTE access and TLB miss This is some preliminary work to improve TLB management on SW loaded TLB powerpc platforms. This introduce support for non-atomic PTE operations in pgtable-ppc32.h and removes write back to the PTE from the TLB miss handlers. In addition, the DSI interrupt code no longer tries to fixup write permission, this is left to generic code, and _PAGE_HWWRITE is gone. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit beae4c03c0fe69cf7d57518aa0572ad21730b8be Merge: 0db9360... 9fde9bd... Author: Josh Boyer Date: Wed Jul 9 13:35:16 2008 -0400 Merge branch 'virtex-for-2.6.27' of git://git.secretlab.ca/git/linux-2.6-virtex into 4xx-next commit 9fde9bdd3023854f7b03cc425ff4a0ed51bd1eb3 Author: Grant Likely Date: Wed Jul 9 10:56:11 2008 -0600 powerpc/440: Convert Virtex ML507 device tree to dts-v1 Signed-off-by: Grant Likely commit 381ba74af55e58bca4c01553835a360a9f6fbb07 Author: Trond Myklebust Date: Mon Jul 7 12:18:53 2008 -0400 SUNRPC: Ensure our task is notified when an rpcbind call is done If another task is busy in rpcb_getport_async number, it is more efficient to have it wake us up when it has finished instead of arbitrarily sleeping for 5 seconds. Also ensure that rpcb_wake_rpcbind_waiters() is called regardless of whether or not rpcb_getport_done() gets called. Signed-off-by: Trond Myklebust commit f45663ce5fb30f76a3414ab3ac69f4dd320e760a Author: Chuck Lever Date: Tue Jun 24 19:28:02 2008 -0400 NFS: Allow either strict or sloppy mount option parsing The kernel's NFS client mount option parser currently doesn't allow unrecognized or incorrect mount options. This prevents misspellings or incorrectly specified mount options from possibly causing silent data corruption. However, NFS mount options are not standardized, so different operating systems can use differently spelled mount options to support similar features, or can support mount options which no other operating system supports. "Sloppy" mount option parsing, which allows the parser to ignore any option it doesn't recognize, is needed to support automounters that often use maps that are shared between heterogenous operating systems. The legacy mount command ignores the validity of the values of mount options entirely, except for the "sec=" and "proto=" options. If an incorrect value is specified, the out-of-range value is passed to the kernel; if a value is specified that contains non-numeric characters, it appears as though the legacy mount command sets that option to zero (probably incorrect behavior in general). In any case, this sets a precedent which we will partially follow for the kernel mount option parser: + if "sloppy" is not set, the parser will be strict about both unrecognized options (same as legacy) and invalid option values (stricter than legacy) + if "sloppy" is set, the parser will ignore unrecognized options and invalid option values (same as legacy) An "invalid" option value in this case means that either the type (integer, short, or string) or sign (for integer values) of the specified value is incorrect. This patch does two things: it changes the NFS client's mount option parsing loop so that it parses the whole string instead of failing at the first unrecognized option or invalid option value. An unrecognized option or an invalid option value cause the option to be skipped. Then, the patch adds a "sloppy" mount option that allows the parsing to succeed anyway if there were any problems during parsing. When parsing a set of options is complete, if there are errors and "sloppy" was specified, return success anyway. Otherwise, only return success if there are no errors. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6738b2512bdf93ffbefe108b38a9165d5a718c3f Author: Chuck Lever Date: Tue Jun 24 16:33:54 2008 -0400 NFS4: Set security flavor default for NFSv4 mounts like other defaults Set the default security flavor when we set the other mount option default values for NFSv4. This cleans up the NFSv4 mount option parsing path to look like the NFSv2/v3 one. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dd07c94750cb1ee4449fb0db06623e1865b3e26e Author: Chuck Lever Date: Tue Jun 24 16:33:46 2008 -0400 NFS: Set security flavor default for NFSv2/3 mounts like other defaults Set the default security flavor when we set the other mount option default values. After this change, only the legacy user-space mount path needs to set the NFS_MOUNT_SECFLAVOUR flag. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 01060c896e3e1ef53dcb914301c186932cd31b81 Author: Chuck Lever Date: Tue Jun 24 16:33:38 2008 -0400 NFS: Refactor logic for parsing NFS security flavor mount options Clean up: Refactor the NFS mount option parsing function to extract the security flavor parsing logic into a separate function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0e0cab744b17a70ef0f08d818d66935feade7cad Author: Chuck Lever Date: Thu Jun 26 17:47:12 2008 -0400 NFS: use documenting macro constants for initializing ac{reg, dir}{min, max} Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ed596a8adb7964cf9d2f7682f9cf2c37322a775d Author: Chuck Lever Date: Thu Jun 26 17:47:05 2008 -0400 NFS: Move the nfs_set_port() call out of nfs_parse_mount_options() The remount path does not need to set the port in the server address. Since it's not really a part of option parsing, move the nfs_set_port() call to nfs_parse_mount_options()'s callers. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 259875efed06d6936f54c9a264e868937f1bc217 Author: Trond Myklebust Date: Wed Jul 2 14:43:47 2008 -0400 NFS: set transport defaults after mount option parsing is finished Move the UDP/TCP default timeo/retrans settings for text mounts to nfs_init_timeout_values(), which was were they were always being initialised (and sanity checked) for binary mounts. Document the default timeout values using appropriate #defines. Ensure that we initialise and sanity check the transport protocols that may have been specified by the user. Signed-off-by: Trond Myklebust commit 40fef8a649e5344bfb6a67a7cc3def3e0dad6448 Author: Chuck Lever Date: Wed Jun 25 17:24:54 2008 -0400 SUNRPC: Use only rpcbind v2 for AF_INET requests Some server vendors support the higher versions of rpcbind only for AF_INET6. The kernel doesn't need to use v3 or v4 for AF_INET anyway, so change the kernel's rpcbind client to query AF_INET servers over rpcbind v2 only. This has a few interesting benefits: 1. If the rpcbind request is going over TCP, and the server doesn't support rpcbind versions 3 or 4, the client reduces by two the number of ephemeral ports left in TIME_WAIT for each rpcbind request. This will help during NFS mount storms. 2. The rpcbind interaction with servers that don't support rpcbind versions 3 or 4 will use less network traffic. Also helpful during mount storms. 3. We can eliminate the kernel build option that controls whether the kernel's rpcbind client uses rpcbind version 3 and 4 for AF_INET servers. Less complicated kernel configuration... Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8842413aa4c3220ce9313791f99808fc149ca16d Author: Chuck Lever Date: Wed Jun 25 17:24:47 2008 -0400 SUNRPC: Use GETADDR for rpcbind version 4 queries Some rpcbind servers that do support rpcbind version 4 do not support the GETVERSADDR procedure. Use GETADDR for querying rpcbind servers via rpcbind version 4 instead of GETVERSADDR. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6a774051573042cdeb57e81f77b36c25e5856739 Author: Chuck Lever Date: Wed Jun 25 17:24:39 2008 -0400 SUNRPC: Use rpcbind version 2 GETPORT Clean up: Change the version 2 procedure name to GETPORT. It's the same procedure number as GETADDR, but version 2 implementations usually refer to it as GETPORT. This also now matches the procedure name used in the version 2 procedure entry in the rpcb_next_version[] array, making it slightly less confusing. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fc200e794d723bc88c39859e8f096b717532f9c9 Author: Chuck Lever Date: Wed Jun 25 17:24:31 2008 -0400 SUNRPC: Document some naked integers in rpcbind client Clean up: Replace naked integers that represent rpcbind protocol versions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 877fcf103982e52a59a1035378b4c0b8c63fe004 Author: Chuck Lever Date: Wed Jun 25 17:24:23 2008 -0400 SUNRPC: More useful debugging output for rpcb client Clean up dprintk's in rpcb client's XDR decoder functions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5afc597c5f0bd184457e49b9a330fcb37b69db11 Author: Jeff Layton Date: Wed Jun 11 10:03:11 2008 -0400 nfs4: fix potential race with rapid nfs_callback_up/down cycle If the nfsv4 callback thread is rapidly brought up and down, it's possible that nfs_callback_svc might never get a chance to run. If this happens, the cleanup at thread exit might never occur, throwing the refcounting off and nfs_callback_info in an incorrect state. Move the clean functions into nfs_callback_down. Also change the nfs_callback_info struct to track the svc_rqst rather than svc_serv since we need to know that to call svc_exit_thread. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit ee84dfc45467fd8e5ce04fa2813d98e0aebe465c Author: Jeff Layton Date: Wed Jun 11 10:03:10 2008 -0400 nfs4: remove BKL from nfs_callback_up and nfs_callback_down The nfs_callback_mutex is sufficient protection. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 77e03677ac76d413fbb6d6caaffa1d64877a0c2a Author: Benny Halevy Date: Tue Jun 24 20:25:57 2008 +0300 nfs: initialize timeout variable in nfs4_proc_setclientid_confirm gcc (4.3.0) rightfully warns about this: /usr0/export/dev/bhalevy/git/linux-pnfs-bh-nfs41/fs/nfs/nfs4proc.c: In function ‘nfs4_proc_setclientid_confirm’: /usr0/export/dev/bhalevy/git/linux-pnfs-bh-nfs41/fs/nfs/nfs4proc.c:2936: warning: ‘timeout’ may be used uninitialized in this function nfs4_delay that's passed a pointer to 'timeout' is looking at its value and sets it up to some value in the range: NFS4_POLL_RETRY_MIN..NFS4_POLL_RETRY_MAX if (*timeout <= 0) *timeout = NFS4_POLL_RETRY_MIN; if (*timeout > NFS4_POLL_RETRY_MAX) *timeout = NFS4_POLL_RETRY_MAX; Therefore it will end up set to some sane, though rather indeterministic, value. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d8e7748ab8322171ebfd78f6155ff35e7d57ac32 Author: Chuck Lever Date: Mon Jun 23 12:37:01 2008 -0400 NFS: handle interface identifiers in incoming IPv6 addresses Add support in the kernel NFS client's address parser for interface identifiers. IPv6 link-local addresses require an additional "interface identifier", which is a network device name or an integer that indexes the array of local network interfaces. They are suffixed to the address with a '%'. For example: fe80::215:c5ff:fe3b:e1b2%2 indicates an interface index of 2. Or fe80::215:c5ff:fe3b:e1b2%eth0 indicates that requests should be routed through the eth0 device. Without the interface ID, link-local addresses are not usable for NFS. Both the kernel NFS client mount option parser and the mount.nfs command can take either form. The mount.nfs command always passes the address through getnameinfo(3), which usually re-writes interface indices as device names. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ce3b7e1906ebbe96753fe090b36de6ffb8e0e0e7 Author: Chuck Lever Date: Mon Jun 23 12:36:53 2008 -0400 NFS: Add string length argument to nfs_parse_server_address To make nfs_parse_server_address() more generally useful, allow it to accept input strings that are not terminated with '\0'. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d1aa08257312f1439c1ab7c8a18e3856f9530f46 Author: Chuck Lever Date: Mon Jun 23 12:36:45 2008 -0400 NFS: Support raw IPv6 address hostnames during NFS mount operation Traditionally the mount command has looked for a ":" to separate the server's hostname from the export path in the mounted on device name, like this: mount server:/export /mounted/on/dir The server's hostname is "server" and the export path is "/export". You can also substitute a specific IPv4 network address for the server hostname, like this: mount 192.168.0.55:/export /mounted/on/dir Raw IPv6 addresses present a problem, however, because they look something like this: fe80::200:5aff:fe00:30b Note the use of colons. To get around the presence of colons, copy the Solaris convention used for mounting IPv6 servers by address: wrap a raw IPv6 address with square brackets. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dc04589827f7e1af12714af8bb00e3f3c4c48c62 Author: Chuck Lever Date: Mon Jun 23 12:36:37 2008 -0400 NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3 To support passing a raw IPv6 address as a server hostname, we need to expand the logic that handles splitting the passed-in device name into a server hostname and export path Start by pulling device name parsing out of the mount option validation functions and into separate helper functions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cd100725620a8063fbc81bcf16d7c9e71a9583e0 Author: Trond Myklebust Date: Tue Jun 17 16:12:00 2008 -0400 NFS: Fix a dependency on CONFIG_NFS_V4 in nfs_remount Fix the 'nfs4_fs_type' undeclared error in nfs_remount when compiling sans NFSv4... Signed-off-by: Trond Myklebust Cc: Jeff Layton commit e468bae97d243fe0e1515abaa1f7d0edf1476ad0 Author: Trond Myklebust Date: Fri Jun 13 13:25:22 2008 -0400 NFS: Allow redirtying of a completed unstable write. Currently, if an unstable write completes, we cannot redirty the page in order to reflect a new change in the page data until after we've sent a COMMIT request. This patch allows a page rewrite to proceed without the unnecessary COMMIT step, putting it immediately back onto the dirty page list, undoing the VM unstable write accounting, and removing the NFS_PAGE_TAG_COMMIT tag from the NFS radix tree. Signed-off-by: Trond Myklebust commit e7d39069e387a12d4c57f4067d9f48c1d29ea900 Author: Trond Myklebust Date: Fri Jun 13 12:12:32 2008 -0400 NFS: Clean up nfs_update_request() Simplify the loop in nfs_update_request by moving into a separate function the code that attempts to update an existing cached NFS write. Signed-off-by: Trond Myklebust commit 396cee977f79590673ad51b04f1853e58bc30e7b Author: Chuck Lever Date: Thu Jun 12 12:37:49 2008 -0400 NFS: missing newline in NFS mount debugging message Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d33e4dfeab5eb0c3c1359cc1a399f2f8b49e18de Author: Chuck Lever Date: Thu Jun 12 12:37:41 2008 -0400 NFS: Treat "intr" and "nointr" options as deprecated Clean up: the "intr" and "nointr" mount options were recently retired. Document this in the NFS mount option parser. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ecbb3845dd678364148c1faad32adbc9dd833ef9 Author: Chuck Lever Date: Thu Jun 12 12:37:33 2008 -0400 NFS: Allow any value for the "retry" option The kernel NFS mount option parser should ignore the retry= mount option since it is meaningful only in user space. Today it expects a number rather than arbitrary text, so it ignores the option if the value is numeric, but chokes if there are other characters in the value. Change it to allow any text (except ",") as its value. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f41f741838480aeaa3a189cff6e210503cf9c42d Author: Trond Myklebust Date: Wed Jun 11 17:39:04 2008 -0400 NFS: Ensure we zap only the access and acl caches when setting new acls ...and ensure that we obey the NFS_INO_INVALID_ACL flag when retrieving the acls. Signed-off-by: Trond Myklebust commit 2e96d2867245668dbdb973729288cf69b9fafa66 Author: Trond Myklebust Date: Wed Jun 11 16:42:05 2008 -0400 NFS: Fix a warning in nfs4_async_handle_error We're not modifying the nfs_server when we call nfs_inc_server_stats and friends, so allow the compiler to pass 'const' pointers too. Signed-off-by: Trond Myklebust commit 34e8f92831cb5c40b3137e47a3daf4c09016ef02 Author: Chuck Lever Date: Thu Jun 12 12:32:25 2008 -0400 NFS: Move fs/nfs/iostat.h to include/linux The fs/nfs/iostat.h header has definitions that were designed to be exposed to user space. Move these definitions under include/linux so user space can use the definitions in applications that read /proc/self/mountstats. Also address a handful of coding style issues called out by checkpatch.pl in fs/nfs/iostat.h. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 46cb650c224bb8e64a749090105d74b9e8eda669 Author: Trond Myklebust Date: Wed Jun 11 16:32:46 2008 -0400 NFS: Remove the redundant file_open entry from struct nfs_rpc_ops All instances are set to nfs_open(), so we should just remove the redundant indirection. Ditto for the file_release op Signed-off-by: Trond Myklebust commit b22602a673b1743bba4b62bb404ffd3b269d2f09 Author: Chuck Lever Date: Fri Jun 6 13:22:25 2008 -0400 SUNRPC: Ensure all transports set rq_xtime consistently The RPC client uses the rq_xtime field in each RPC request to determine the round-trip time of the request. Currently, the rq_xtime field is initialized by each transport just before it starts enqueing a request to be sent. However, transports do not handle initializing this value consistently; sometimes they don't initialize it at all. To make the measurement of request round-trip time consistent for all RPC client transport capabilities, pull rq_xtime initialization into the RPC client's generic transport logic. Now all transports will get a standardized RTT measure automatically, from: xprt_transmit() to xprt_complete_rqst() This makes round-trip time calculation more accurate for the TCP transport. The socket ->sendmsg() method can return "-EAGAIN" if the socket's output buffer is full, so the TCP transport's ->send_request() method may call the ->sendmsg() method repeatedly until it gets all of the request's bytes queued in the socket's buffer. Currently, the TCP transport sets the rq_xtime field every time through that loop so the final value is the timestamp just before the *last* call to the underlying socket's ->sendmsg() method. After this patch, the rq_xtime field contains a timestamp that reflects the time just before the *first* call to ->sendmsg(). This is consequential under heavy workloads because large requests often take multiple ->sendmsg() calls to get all the bytes of a request queued. The TCP transport causes the request to sleep until the remote end of the socket has received enough bytes to clear space in the socket's local output buffer. This delay can be quite significant. The method introduced by this patch is a more accurate measure of RTT for stream transports, since the server can cause enough back pressure to delay (ie increase the latency of) requests from the client. Additionally, this patch corrects the behavior of the RDMA transport, which entirely neglected to initialize the rq_xtime field. RPC performance metrics for RDMA transports now display correct RPC request round trip times. Signed-off-by: Chuck Lever Acked-by: Tom Talpey Signed-off-by: Trond Myklebust commit 659bfcd6dd88919a5ad453f62afbeffcb3106847 Author: Trond Myklebust Date: Tue Jun 10 19:39:41 2008 -0400 NFS: Fix the ftruncate() credential problem ftruncate() access checking is supposed to be performed at open() time, just like reads and writes. Signed-off-by: Trond Myklebust commit a486aeda9b2b0d944aecce7871b3186379b898de Author: \\\"J. Bruce Fields\\\ Date: Mon Jun 9 16:51:35 2008 -0400 rpc: minor cleanup of scheduler callback code Try to make the comment here a little more clear and concise. Also, this macro definition seems unnecessary. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit d25a03cf966f2cf9990dc0bf2a921a554919ea34 Author: \\\"J. Bruce Fields\\\ Date: Mon Jun 9 16:51:34 2008 -0400 rpc: remove some unused macros There used to be a print_hexl() function that used isprint(), now gone. I don't know why NFS_NGROUPS and CA_RUN_AS_MACHINE were here. I also don't know why another #define that's actually used was marked "unused". Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 720b8f2d6f7de9e16f1217448cc7396e1604e175 Author: \\\"J. Bruce Fields\\\ Date: Mon Jun 9 16:51:33 2008 -0400 rpc: eliminate unused variable in auth_gss upcall code Also, a minor comment grammar fix in the same file. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit b6b6152c46861dd914d0e6cea9c27df057d6e235 Author: Olga Kornievskaia Date: Mon Jun 9 16:51:31 2008 -0400 rpc: bring back cl_chatty The cl_chatty flag alows us to control whether a given rpc client leaves "server X not responding, timed out" messages in the syslog. Such messages make sense for ordinary nfs clients (where an unresponsive server means applications on the mountpoint are probably hanging), but not for the callback client (which can fail more commonly, with the only result just of disabling some optimizations). Previously cl_chatty was removed, do to lack of users; reinstate it, and use it for the nfsd's callback client. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 48b605f83c920d8daa50e43fc2c7f718e04c7bfa Author: Jeff Layton Date: Tue Jun 10 15:38:39 2008 -0400 NFS: implement option checking when remounting NFS filesystems (resend) When remounting an NFS or NFS4 filesystem, the new NFS options are not respected, yet the remount will still return success. This patch adds a remount_fs sb op for NFS that checks any new nfs mount options against the existing ones and fails the mount if any have changed. This is only implemented for string-based mount options since doing this with binary options isn't really feasible. This is essentially the same as the original patch I sent out, but adds a check to see if the addr= option has changed. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit c2d946e55e1be20a7443918e3b7497b905e6b3f7 Author: Adrian Bunk Date: Tue May 20 01:08:00 2008 +0300 fs/nfs/nfsroot.c: remove CVS keyword This patch removes a CVS keyword that wasn't updated for a long time from a comment. Signed-off-by: Adrian Bunk Signed-off-by: Trond Myklebust commit cd983ef81b9d79573848dabf81277c7314220257 Author: Chuck Lever Date: Wed Jun 11 17:56:13 2008 -0400 SUNRPC: Remove obsolete messages during transport connect Recent changes to the RPC client's transport connect logic make connect status values ECONNREFUSED and ECONNRESET impossible. Clean up xprt_connect_status() to account for these changes. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 48186c7d5734a6b137f9186b37f6dc98097d0429 Author: Chuck Lever Date: Wed Jun 11 17:56:05 2008 -0400 NFS: Fix trace debugging nits in write.c Clean up: fix a few dprintk messages that still need to show the RPC task ID correctly, and be sure we use the preferred %lld or %llu instead of %Ld or %Lu. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6da24bc9cfc645c619992e39aab09747164c9f14 Author: Chuck Lever Date: Wed Jun 11 17:55:58 2008 -0400 NFS: Use NFSDBG_FILE for all fops Clean up: some fops use NFSDBG_FILE, some use NFSDBG_VFS. Let's use NFSDBG_FILE for all fops, and consistently report file names instead of inode numbers. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b7eaefaa8722fd98e5c2632640d1abd2b0c83e84 Author: Chuck Lever Date: Wed Jun 11 17:55:50 2008 -0400 NFS: Add debugging facility for NFS aops Recent work in fs/nfs/file.c neglected to add appropriate trace debugging for the NFS client's address space operations. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cc0dd2d1052aede2946ad1338a8f6f5d5c604740 Author: Chuck Lever Date: Wed Jun 11 17:55:42 2008 -0400 NFS: Make nfs_open methods consistent Clean up: Report the same debugging info and count function calls the same for files and directories in nfs_opendir() and nfs_file_open(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b84e06c58fdefdc42931f771dc295e63f4b27365 Author: Chuck Lever Date: Wed Jun 11 17:55:34 2008 -0400 NFS: Make nfs_llseek methods consistent Clean up: Report the same debugging info in nfs_llseek_dir() and nfs_llseek_file(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 549177863bac22f23663ee9f70c4e3b9fb269f2c Author: Chuck Lever Date: Tue May 27 16:29:07 2008 -0400 NFS: Make nfs_fsync methods consistent Clean up: Report the same debugging info, count function calls the same, and use similar function naming in nfs_fsync_dir() and nfs_fsync(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cb3997b5a0b21864368bd1bd1d0929f9304fb6d9 Author: Chuck Lever Date: Wed May 21 17:09:41 2008 -0400 SUNRPC: Display some debugging information as text rather than numbers In rpc_show_tasks(), display the program name, version number, procedure name and tk_action as human-readable variable-length text fields rather than columnar numbers. Doing the symbol lookup here helps in cases where we have actual debugging output from a kernel log, but don't have access to the kernel image or RPC module that generated the output. Sample output: -pid- flgs status -client- --rqstp- -timeout ---ops-- 5608 0001 -11 eeb42690 f6d93710 0 f8fa1764 nfsv3 WRITE a:call_transmit_status q:none 5609 0001 -11 eeb42690 f6d937e0 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5610 0001 -11 eeb42690 f6d93230 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5611 0001 -11 eeb42690 f6d93300 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5612 0001 -11 eeb42690 f6d93090 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5613 0001 -11 eeb42690 f6d933d0 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5614 0001 -11 eeb42690 f6d93cc0 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5615 0001 -11 eeb42690 f6d93a50 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5616 0001 -11 eeb42690 f6d93640 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5617 0001 -11 eeb42690 f6d93b20 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending 5618 0001 -11 eeb42690 f6d93160 0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 38e886e0c18975543938519254fc9bf0829c75a3 Author: Chuck Lever Date: Wed May 21 17:09:33 2008 -0400 SUNRPC: Refactor rpc_show_tasks Clean up: move the logic that displays each task to its own function. This removes indentation and makes future changes easier. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 68a23ee94e3a06819f5a39d64f2e1f3131bab12d Author: Chuck Lever Date: Wed May 21 17:09:26 2008 -0400 SUNRPC: Don't display the rpc_show_tasks header if there are no tasks Clean up: don't display the rpc_show_tasks column header unless there is at least one task to display. As far as I can tell, it is safe to let the list_for_each_entry macro decide that each list is empty. scripts/checkpatch.pl also wants a KERN_FOO at the start of any newly added printk() calls, so this and subsequent patches will also add KERN_INFO. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b0e1c57ea00302c3ac541ffd37e7db07d13cd674 Author: Chuck Lever Date: Wed May 21 17:09:19 2008 -0400 SUNRPC: Rename "call_" functions that are no longer FSM states The RPC client uses a finite state machine to move RPC tasks through each step of an RPC request. Each state is contained in a function in net/sunrpc/clnt.c, and named call_foo. Some of the functions named call_foo have changed over the past few years and are no longer states in the FSM. These include: call_encode, call_header, and call_verify. As a clean up, rename the functions that have changed. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3748f1e447ac1dbf45f33ee7491a008a8bb5cdf0 Author: Chuck Lever Date: Wed May 21 17:09:12 2008 -0400 SUNRPC: Add a function to display the name of an RPC procedure Improve debugging messages in call_start() and call_verify() by having them show the RPC procedure name instead of the procedure number. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6fb1bc10303c0d88f635d014324432ab6ee49d1b Author: Chuck Lever Date: Wed May 21 17:09:04 2008 -0400 NFS: Update help text for CONFIG_NFS_FS Clean up: refresh the help text for Kconfig items related to the NFS client. Remove obsolete URLs, and make the language consistent among the options. Also move the ROOT_NFS config option next to the options related to the NFS client. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b5418383ef13f70528281546d02c15edc03d8567 Author: Trond Myklebust Date: Tue Jun 10 18:31:02 2008 -0400 NFS: do_setlk(): don't flush caches when we have a delegation Signed-off-by: Trond Myklebust commit 0f38b873aeaae698c3693748438547c8493165fb Author: Trond Myklebust Date: Tue Jun 10 18:31:01 2008 -0400 SUNRPC: Use GFP_NOFS when allocating credentials Since the credentials may be allocated during the call to rpc_new_task(), which again may be called by a memory allocator... Signed-off-by: Trond Myklebust commit 7e5f6146609eb9134fac7d1b6bfee43df1732188 Author: Trond Myklebust Date: Sun May 25 12:59:19 2008 -0400 NFS: Revert commit 44dd151d Revert commit 44dd151d "NFS: Don't mark a written page as uptodate until it is on disk". While it is true that the write may fail, that is always the case. There is no reason why we should treat data on pages that are not already marked as PG_uptodate as being special. The only thing we gain is a noticeable slowdown when re-reading these pages. Signed-off-by: Trond Myklebust commit efc91ed0191e3fc62bb1c556ac93fc4e661214d2 Author: Trond Myklebust Date: Tue Jun 10 18:31:00 2008 -0400 NFS: Optimise append writes with holes If a file is being extended, and we're creating a hole, we might as well declare the entire page to be up to date. This patch significantly improves the write performance for sparse files in the case where lseek(SEEK_END) is used to append several non-contiguous writes at intervals of < PAGE_SIZE. Signed-off-by: Trond Myklebust commit b390c2b55c830eb3b64633fa8d8b8837e073e458 Author: Trond Myklebust Date: Tue Jun 10 18:30:11 2008 -0400 SUNRPC: An ENOMEM error from call_encode is always fatal The special 'ENOMEM' case that was previously flagged as non-fatal is bogus: auth_gss always returns EAGAIN for non-fatal errors, and may in fact return ENOMEM in the special case where xdr_buf_read_netobj runs out of preallocated buffer space (invariably a _fatal_ error, since there is no provision for preallocating larger buffers). Signed-off-by: Trond Myklebust commit 8b39f2b41033754e7ba669503d27268beb1b524a Author: Trond Myklebust Date: Wed May 14 19:48:25 2008 -0700 SUNRPC: Ensure we exit early in case of an encode error All errors from call_encode(), with exception of EAGAIN are fatal, so we should immediately return instead of proceeding to xprt_transmit(). Signed-off-by: Trond Myklebust commit 2116271a347d1181b5497602c2bfada1de8fd53b Author: Trond Myklebust Date: Tue May 20 19:34:39 2008 -0400 NFS: Add correct bounds checking to NFSv2 locks NFSv2 file locking currently fails the Connectathon tests, because the calls to the VFS locking code do not return an EINVAL error if the struct file_lock overflows the 32-bit boundaries. The problem is due to the fact that we occasionally call helpers from fs/locks.c in order to avoid RPC calls to the server when we know that a local process holds the lock. These helpers are, of course, always 64-bit enabled, so EINVAL is not returned in cases when it would if the call had gone to the NLM code. For consistency, we therefore add support for a bounds-checking helper. Signed-off-by: Trond Myklebust commit f3d47a3a6a1484a93c8cfe1e8c8d4399c95199c7 Author: Trond Myklebust Date: Thu Jun 5 15:17:39 2008 -0400 NFS: Fix a preemption count leak in nfs_update_request The commit 2785259631697ebb0749a3782cca206e2e542939 (nfs: use GFP_NOFS preloads for radix-tree insertion) appears to have introduced a bug: We only want to call radix_tree_preload() once after creating a request. Calling it every time we loop after we created the request, will cause preemption count leaks. Signed-off-by: Trond Myklebust Cc: Nick Piggin commit 0b4aae7aad162ad175ba8a65708332f888066b26 Author: Trond Myklebust Date: Fri Jun 20 17:00:23 2008 -0400 NFS: Reduce the stack usage in NFSv3 create operations Signed-off-by: Trond Myklebust commit 57dc9a5747942f131a1a8b36d661fec6e6a5e9f6 Author: Trond Myklebust Date: Fri Jun 20 15:35:32 2008 -0400 NFS: Reduce the stack usage in NFSv4 create operations Signed-off-by: Trond Myklebust commit c356aa456e8677682aa3cdb4b81d08e814b1a379 Author: Grant Likely Date: Wed Jul 9 09:41:52 2008 -0600 powerpc/bootwrapper: Allow user to specify additional default targets It is inconvenient to add additional default targets to the bootwrapper Makefile for each new board supported which just needs a different dts file. This change allows the defconfig to specify additional build targets. Signed-off-by: Grant Likely Acked-by: Josh Boyer commit ad2fc2cd925300b8127cf682f5a1c7511ae9dd27 Author: Vitaly Mayatskikh Date: Wed Jul 2 15:53:13 2008 +0200 x86: fix copy_user on x86 Switch copy_user_generic_string(), copy_user_generic_unrolled() and __copy_user_nocache() from custom tail handlers to generic copy_user_tail_handle(). Signed-off-by: Vitaly Mayatskikh Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit 1129585a08baf58582c0da91e572cb29e3179acf Author: Vitaly Mayatskikh Date: Wed Jul 2 15:48:21 2008 +0200 x86: introduce copy_user_handle_tail() routine Introduce generic C routine for handling necessary tail operations after protection fault in copy_*_user on x86. Signed-off-by: Vitaly Mayatskikh Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit de989ef093623ab5259f885f30be699c431d4006 Merge: a737abd... 22cac16... Author: Ingo Molnar Date: Wed Jul 9 15:00:48 2008 +0200 Merge branch 'x86/unify-lib' into x86/core commit a737abd11ac4eb9f4226fa8c9f1d9b5be12a96c1 Author: Cyrill Gorcunov Date: Sat Jul 5 15:53:39 2008 +0400 x86: e820 memmap - add checking for NULL early param Signed-off-by: Cyrill Gorcunov Cc: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: andi@firstfloor.org Signed-off-by: Ingo Molnar commit 4d8cc874d7ed43eda72765e9c0e141e170fee4f3 Author: Cyrill Gorcunov Date: Sat Jul 5 15:53:38 2008 +0400 x86: smpboot maxcpus - add checking for NULL early param Signed-off-by: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: andi@firstfloor.org Signed-off-by: Ingo Molnar commit d6cd7effcc5e0047faf15ab0a54c980f1a616a07 Author: Cyrill Gorcunov Date: Sat Jul 5 15:53:37 2008 +0400 x86: io delay - add checking for NULL early param Signed-off-by: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: andi@firstfloor.org Signed-off-by: Ingo Molnar commit ab6bc3e343fbe3be4a0f67225e849d0db6b4b7ac Author: Cyrill Gorcunov Date: Sat Jul 5 15:53:36 2008 +0400 x86: idle process - add checking for NULL early param Signed-off-by: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: andi@firstfloor.org Signed-off-by: Ingo Molnar commit c22d4c1885130db9c07f6441ab461208a1ba16b2 Author: Yinghai Lu Date: Wed Jul 9 03:01:14 2008 -0700 x86: make e820_end return max ram type only for 32 bit to avoid warning from find_low_pfn_range for high pages size etc Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8dd779b19ce5972072ad2372a86c8acbae4da768 Author: Robert Richter Date: Wed Jul 2 22:50:29 2008 +0200 x86/pci: removing subsys_initcall ordering dependencies So far subsys_initcalls has been executed in this order depending on the object order in the Makefile: arch/x86/pci/visws.c:subsys_initcall(pcibios_init); arch/x86/pci/numa.c:subsys_initcall(pci_numa_init); arch/x86/pci/acpi.c:subsys_initcall(pci_acpi_init); arch/x86/pci/legacy.c:subsys_initcall(pci_legacy_init); arch/x86/pci/irq.c:subsys_initcall(pcibios_irq_init); arch/x86/pci/common.c:subsys_initcall(pcibios_init); This patch removes the ordering dependency. There is now only one subsys_initcall function that contains subsystem initialization code with a defined order. Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit ae28d70529b874f657afd0f70ca148599345ba2a Author: Robert Richter Date: Wed Jul 2 22:50:28 2008 +0200 x86/pci: visws: renaming pcibios_init() Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit f4d994b541198446fc3d5d4ec5de232e171bf6dd Author: Robert Richter Date: Wed Jul 2 22:50:27 2008 +0200 x86/pci: Makefile merge: coalescing 32 and 64 bit Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit d199a0482791bdf2f052081aa212d8c83ccef88a Author: Robert Richter Date: Wed Jul 2 22:50:26 2008 +0200 x86/pci: merge: moving mp_bus_to_node.c to amd_bus.c Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 42a4b427a8d7bff95d9622ffa2365cb56da8e7d6 Author: Robert Richter Date: Wed Jul 2 22:50:25 2008 +0200 x86/pci: mp_bus_to_node merge: moving code in amd_bus.c Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 8eefc6640311bb56408fa0abe3f2930b3037f91a Author: Robert Richter Date: Wed Jul 2 22:50:24 2008 +0200 x86/pci: Makefile merge: creating pci-y for 64 bit Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 8043c7be4b8dabaaeed8344dd0a4cbaa9a94fb71 Author: Robert Richter Date: Wed Jul 2 22:50:23 2008 +0200 x86/pci: Makefile merge: changing 64bit ordering This should be safe since mmconfig*.o and init.o do not contain *initcalls with the same level as in other files. Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit a5d4fb94f750e439a0722c0a76c9aade3a9199be Author: Robert Richter Date: Wed Jul 2 22:50:22 2008 +0200 x86/pci: Makefile merge: decoupling options for mp_bus_to_node.o Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 0b40e84ab750b4ba5fc8d6712c892502dc93b212 Author: Robert Richter Date: Wed Jul 2 22:50:21 2008 +0200 x86/pci: Makefile merge: whitespace changes only Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 7fa71c0e0e371b995fdf3a367542a014c1f37f29 Author: Robert Richter Date: Wed Jul 2 22:50:20 2008 +0200 x86/pci: Makefile merge: removing include dir flag Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit 6d8566ac131f3dc3e976de824dcb04feaea4b14c Author: Robert Richter Date: Wed Jul 2 22:50:19 2008 +0200 x86/pci: Makefile merge: Removing Makefile_* No functional nor ordering changes here. Signed-off-by: Robert Richter Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit d028203c0446c7f65ed2b22342a56f03c6c4a6c1 Merge: f57e916... 183fe06... Author: Ingo Molnar Date: Wed Jul 9 11:39:02 2008 +0200 Merge branch 'x86/core' into x86/unify-pci commit 183fe065652dbd64953afa9f389327e23e97967f Author: Ingo Molnar Date: Wed Jul 9 11:32:10 2008 +0200 x86: build fix for "x86: fix C1E && nx6325 stability problem" fix: arch/x86/kernel/acpi/boot.c: In function ‘dmi_ignore_irq0_timer_override’: arch/x86/kernel/acpi/boot.c:1443: error: implicit declaration of function ‘force_mask_ioapic_irq_2’ Signed-off-by: Ingo Molnar commit e2079c43861f71b2deb78ee20e247ad954fdd67e Author: Rafael J. Wysocki Date: Tue Jul 8 16:12:26 2008 +0200 x86: fix C1E && nx6325 stability problem The problems are that, with the ACPI vs timer overring issue _fixed_, after using the box for some time (between several seconds and 1 hour, at random) processes get very high CPU loads (once I've got X using 107% of the CPU, for example) and the system becomes unresponsive, as though there were interrupts lost or something similar. Andreas Herrman reproduced similar problems: > Ok, now I've reproduced the stability problem. > - Using tip/master, > - reverting e38502eb8aa82314d5ab0eba45f50e6790dadd88 and > - applying your patch from this posting > http://marc.info/?l=linux-kernel&m=121539354224562&w=4 > > Starting X, firefox, gimp, tuxpaint and doing some drawing in tuxpaint > results in a slow system. Drawing is almost not possible anymore -- > Selections of new colors, cursors etc. is performed with huge delay > if it's performed at all. > > BTW, the code sets up timer IRQ as Virtual Wire IRQ: > > Jul 8 14:57:58 kodscha IO-APIC (apicid-pin) 2-22, 2-23 not connected. > Jul 8 14:57:58 kodscha ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 > Jul 8 14:57:58 kodscha ...trying to set up timer as Virtual Wire IRQ... works. > > and both INT0 and INT2 of IOAPIC are masked: > > Jul 8 14:57:58 kodscha NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: > Jul 8 14:57:58 kodscha 00 000 1 0 0 0 0 0 0 00 > Jul 8 14:57:58 kodscha 01 003 0 0 0 0 0 1 1 31 > Jul 8 14:57:58 kodscha 02 003 1 0 0 0 0 0 0 30 > > I've also seen strange CPU utilization -- with syslog-ng: > > top - 15:33:06 up 35 min, 4 users, load average: 1.70, 0.68, 0.37 > Tasks: 64 total, 4 running, 60 sleeping, 0 stopped, 0 zombie > Cpu0 : 0.0%us,100.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st > Cpu1 : 6.4%us, 87.2%sy, 0.0%ni, 5.8%id, 0.0%wa, 0.6%hi, 0.0%si, 0.0%st > Mem: 895384k total, 283568k used, 611816k free, 35492k buffers > Swap: 1959920k total, 0k used, 1959920k free, 163044k cached > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 4632 root 20 0 17216 800 580 S 104 0.1 0:34.22 syslog-ng > 28505 root 20 0 205m 11m 4024 S 6 1.3 0:21.16 X > 28518 root 20 0 56292 5652 4492 S 1 0.6 0:01.80 fluxbox > 1 root 20 0 3724 608 508 S 0 0.1 0:00.36 init > > So far I have no clue why C1E-idle in conjunction with virtual wire > mode causes this strange behaviour. > > ... and I start to think about the root cause of all this. > > I've performed similar tests under X with the IRQ0/INT0 configuration and > I did not see above symptoms. So lets fall back to the IRQ0/INT0 configuration on this box. This basically restores the dont-use-the-lapic-timer exception mechanism that was unconditional on this box prior commit 8750bf5 ("x86: add C1E aware idle function"). Signed-off-by: Ingo Molnar commit 299a140dacaa514be5e567b5851c187c42ec38c4 Author: Joerg Roedel Date: Tue Jul 8 14:47:16 2008 +0200 x86, AMD IOMMU: ignore detection of GART IOMMU One of the last IOMMU updates covered a bug in the AMD IOMMU code. The early detection code does not succeed if the GART is already detected. This patch fixes this. Cc: Robert Richter Cc: Bhavna Sarathy Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: Joerg Roedel Cc: Robert Richter Cc: Bhavna Sarathy Signed-off-by: Ingo Molnar commit 8cbfd4f44d5c6cb1ba9e44f493c2f2a2c9b769d7 Author: FUJITA Tomonori Date: Wed Jul 9 16:29:41 2008 +0900 x86, iommu: replace CONFIG_IOMMU with CONFIG_GART_IOMMU in iommu.h Hmm, looks like it would be nice to have more cleanups of iommu.h and gart.h. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit c2e6d65bcea2672788f9bb58ce7606c41388387b Author: Yinghai Lu Date: Tue Jul 8 01:43:27 2008 -0700 x86: not overmap more than the end of RAM in init_memory_mapping - 64bit handle head and tail that are not aligned to big pages (2MB/1GB boundary). with this patch, on system that support gbpages, change: last_map_addr: 1080000000 end: 1078000000 to: last_map_addr: 1078000000 end: 1078000000 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2dc807b37b7b8c7df445513ad2b415df4ebcaf6d Author: Yinghai Lu Date: Tue Jul 8 18:56:38 2008 -0700 x86: make max_pfn cover acpi table below 4g When system have 4g less ram installed, and acpi table sit near end of ram, make max_pfn cover them too, so 64bit kernel don't need to mess up fixmap. Signed-off-by: Yinghai Lu Cc: "Suresh Siddha" Signed-off-by: Ingo Molnar commit 49c980df552499e5e8595b52448f612fdab0484a Author: Yinghai Lu Date: Thu Jul 3 12:29:34 2008 -0700 x86: fix vmemmap printout check Signed-off-by: Yinghai Lu Cc: "Nick Piggin" Cc: "Mark McLoughlin" Cc: xen-devel Cc: "Eduardo Habkost" Cc: "Vegard Nossum" Cc: "Stephen Tweedie" Cc: "Jeremy Fitzhardinge" Signed-off-by: Ingo Molnar commit b50efd2a55fc1344654875369d458bb6838bd37a Author: Yinghai Lu Date: Tue Jul 8 01:41:05 2008 -0700 x86: introduce page_size_mask for 64bit prepare for overmapped patch also printout last_map_addr together with end Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 22cac1670786108ccd4caa0656c39fa4ba69fa7d Author: Glauber Costa Date: Wed Jun 25 14:56:53 2008 -0300 x86: define architectural characteristics in uaccess.h. Remove them from the arch-specific file. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8bc7de0c5dc0a5d3bcdc04bac6de0c799f91c5e4 Author: Glauber Costa Date: Wed Jun 25 14:53:41 2008 -0300 x86: put movsl_mask into uaccess.h. x86_64 does not need it, but it won't have X86_INTEL_USERCOPY defined either. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8cb834e99f44bd56409b794504ae2b170675fc92 Author: Glauber Costa Date: Wed Jun 25 14:43:30 2008 -0300 x86: move __get_user and __put_user into uaccess.h. We also carry the unaligned version with us. Only x86_64 uses it, but there's no problem in defining it. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit e30a44fdbf11c7ca3a0096d71790f176a4a09e03 Author: Glauber Costa Date: Wed Jun 25 13:17:43 2008 -0300 x86: merge put_user. Move both versions, which are highly similar, to uaccess.h. Note that, for x86_64, X86_WP_WORKS_OK is always defined. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ec840956d269e2beefe3a1c0fd7c1c70a199087f Author: Glauber Costa Date: Wed Jun 25 13:00:48 2008 -0300 x86: turn __put_user_check directly into put_user. We also check user pointer in x86_64 put_user, the way i386 does. In a separate patch for bisecting purposes. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 64a978c1e3b2c0e2b663caf54719319919c5c17f Author: Glauber Costa Date: Wed Jun 25 12:59:37 2008 -0300 x86: be more explicit in __put_user_x. For both __put_user_x and __put_user_8 macros, pass the error variable explicitly. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 3f168221167ca7a844fde3bf58e1c7ca0bf9741e Author: Glauber Costa Date: Wed Jun 25 12:48:47 2008 -0300 x86: merge __get_user_asm and its users. Move __get_user_asm and __get_user_size and __get_user_nocheck to uaccess.h. This requires us to define a macro at __get_user_size for the 64-bit access case. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 6fd4725d75c5049641640ce23fa5896501dfbd42 Author: Glauber Costa Date: Wed Jun 25 11:57:33 2008 -0300 x86: don't always use EFAULT on __get_user_size. Let the user of the macro specify the desired return. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit dc70ddf4098de043ac52f623c7573a11f2ae3d09 Author: Glauber Costa Date: Wed Jun 25 11:48:29 2008 -0300 x86: merge __put_user_asm and its user. Move both __put_user_asm and __put_user_size to uaccess.h. i386 already had a special function for 64-bit access, so for x86_64, we just define a macro with the same name. Note that for X86_64, CONFIG_X86_WP_WORKS_OK will always be defined, so the #else part will never be even compiled in. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit d42e6af613375be7a9a431628ecd742e87230554 Author: Glauber Costa Date: Wed Jun 25 12:00:44 2008 -0300 x86: don't always use EFAULT on __put_user_size. Let the user of the macro specify the desired return. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 293e6a2524ae775fef41d21d17af288d4b2ee91e Author: Glauber Costa Date: Wed Jun 25 11:40:42 2008 -0300 x86: mark x86_64 as having a working WP. Select X86_WP_WORKS_OK for x86_64 too. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 5e322163b19735fbef3e294c297d38e0d2ba8f7e Author: Glauber Costa Date: Wed Jun 25 11:35:06 2008 -0300 x86: use k modifier for 4-byte access. Do it in a separate patch for bisectability. Goal is to have put_user_size integrated. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 002ca1690c3d0a495e6aedd608281aeb01ce6385 Author: Glauber Costa Date: Wed Jun 25 11:08:51 2008 -0300 x86: move __addr_ok to uaccess.h. Take it out of uaccess_32.h. Since it seems that no users of the x86_64 exists, we simply pick the i386 version. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 865e5b76505cdade261773bde32f785b3ce579f1 Author: Glauber Costa Date: Wed Jun 25 11:05:11 2008 -0300 x86: merge getuser. Merge versions of getuser from uaccess_32.h and uaccess_64.h into uaccess.h. There is a part which is 64-bit only (for now), and for that, we use a __get_user_8 macro. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ca23386216b9d4fc3bb211101205077d2b2916ae Author: Glauber Costa Date: Fri Jun 13 14:39:25 2008 -0300 x86: merge common parts of uaccess. Common parts of uaccess_32.h and uaccess_64.h are put in uaccess.h. Bits in uaccess_32.h and uaccess_64.h that come to this file are equal except for comments and whitespaces differences. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit be9d06bfd48934fbd56ccb7476eabccfa31b4afe Author: Glauber Costa Date: Fri Jun 13 21:01:46 2008 -0300 x86: use something common for both architectures. Using explicit hexa (0xFFFFFFUL) introduces an unnecessary difference between i386 and x86_64 because of the size of their long. Use -1UL instead. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 1dc186e82c1ab476ef83080adca43a70969b01cd Author: Glauber Costa Date: Mon Jun 30 17:37:08 2008 -0300 x86: use long instead of int. Do not refer to the processor word-size with int, as it won't work with x86_64. Use long instead. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8b0a8aaf05325a1a96f53b45708f77599da35161 Author: Glauber Costa Date: Mon Jun 30 17:34:39 2008 -0300 x86: introduce likely in macro. Put the likely hint in access_ok. Just for bisectability. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit c28b95d9bb7da0c3be22826c56a05899e21e5ece Author: Glauber Costa Date: Mon Jun 30 17:07:51 2008 -0300 x86: change asm constraint. Our integration efforts broke a build with this function being used with i386. Reason is "g" can put the operand in an imm32, which according to The Book (tm), is invalid as the second operand. This is actually a bug in x86_64 too, since the x86_64 instruction set reference does not list it as valid. We probably didn't trigger this before due to the ammount of registers available for 64-bit platforms. But that's just my guess. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 53938a68a2f971058bc53aaa8c70f9f24f684cdc Author: Glauber Costa Date: Wed Jun 25 10:14:13 2008 -0300 x86: commonize __range_not_ok. For i386, __range_not_ok is a better name than __range_ok, since it returns 0 when it is in fact okay. Other than that, both versions does not need the word size specifiers, and we remove them. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 5cbbc3b1eb37bdc72eefd2de03b39f5e784400c2 Author: Glauber Costa Date: Tue Jun 24 17:40:14 2008 -0300 x86: merge putuser asm functions. putuser_32.S and putuser_64.S are merged into putuser.S. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 2528de431ddb200653d1dc6ca90074bad9520f09 Author: Glauber Costa Date: Tue Jun 24 17:36:31 2008 -0300 x86: use macros from asm.h. In putuser_32.S and putuser_64.S, replace things like .quad, .long, and explicit references to [r|e]ax for the apropriate macros in asm/asm.h. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit efea505d83873cfc8a7cdbb8a2a11d2c67467843 Author: Glauber Costa Date: Tue Jun 24 16:59:05 2008 -0300 x86: don't use word-size specifiers in putuser files. Remove them where unambiguous. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 766ed4282114eab616741107745b0dd11075e496 Author: Glauber Costa Date: Tue Jun 24 16:56:30 2008 -0300 x86: replace function headers by macros. In putuser_64.S, do it the i386 way, and replace the code in beginning and end of functions with macros, since it's always the same thing. Save lines. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 663aa96df32af9c4141ef3179282f95c7537643a Author: Glauber Costa Date: Tue Jun 24 16:51:59 2008 -0300 x86: change testing logic in putuser_64.S. Instead of operating over a register we need to put back into normal state afterwards (the memory position), just sub from rbx, which is trashed anyway. We can save a few instructions. Also, this is the i386 way. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0ada3164031162b4e1b7ff6b36ba8cc80ff7fe96 Author: Glauber Costa Date: Tue Jun 24 16:44:39 2008 -0300 x86: pass argument to putuser_64 functions in ax register. This is consistent with i386 usage. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 770546b99fb99e71a3aa4181980d42664f9c18bd Author: Glauber Costa Date: Tue Jun 24 15:03:40 2008 -0300 x86: clobber rbx in putuser_64.S. Instead of clobbering r8, clobber rbx, which is the i386 way. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 70706e432ee5618abf59381101d8dea7b8d97a7d Author: Glauber Costa Date: Tue Jun 24 15:02:31 2008 -0300 x86: user put_user_x instead of all variants. Follow the pattern, and define a single put_user_x, instead of defining macros for all available sizes. Exception is put_user_8, since the "A" constraint does not give us enough power to specify which register (a or d) to use in the 32-bit common case. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 268cf048c890d10bd3a86bd87922ed8a722d502f Author: Glauber Costa Date: Tue Jun 24 12:40:55 2008 -0300 x86: don't save ebx in putuser_32.S. Clobber it in the inline asm macros, and let the compiler do this for us. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 6c2d458680d49d939ffd4b4cdc84d9e004d65910 Author: Glauber Costa Date: Tue Jun 24 12:05:11 2008 -0300 x86: merge getuser asm functions. getuser_32.S and getuser_64.S are merged into getuser.S. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 87e2f1e7f6ab66306320403d4502d7938d3c703e Author: Glauber Costa Date: Tue Jun 24 12:02:44 2008 -0300 x86: use _ASM_PTR instead of explicit word-size pointers. Switch .long and .quad with _ASM_PTR in getuser*.S. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 40faf463e62de0b29722910eded7dd26cd8b684b Author: Glauber Costa Date: Tue Jun 24 11:37:57 2008 -0300 x86: introduce __ASM_REG macro. There are situations in which the architecture wants to use the register that represents its word-size, whatever it is. For those, introduce __ASM_REG in asm.h, along with the first users _ASM_AX and _ASM_DX. They have users waiting for it, namely the getuser functions. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3 Author: Glauber Costa Date: Tue Jun 24 11:21:53 2008 -0300 x86: don't use word-size specifiers on getuser_64. The instructions access registers, so the size is unambiguous. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 26ccb8a7183eed424ff9c874c83af20dafe7cdef Author: Glauber Costa Date: Tue Jun 24 11:19:35 2008 -0300 x86: rename threadinfo to TI. This is for consistency with i386. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9262875395cf22b5a90dd8a640e1070cedf55d0e Author: Glauber Costa Date: Tue Jun 24 11:13:16 2008 -0300 x86: adapt x86_64 getuser functions. Instead of doing a sub after the addition, use the offset directly at the memory operand of the mov instructions. This is the way i386 do. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9aa038815b5756e20a00b8e1efd5740434b37aea Author: Glauber Costa Date: Fri Jun 13 22:41:51 2008 -0300 x86: don't use word-size specifiers. Since the instructions refer to registers, they'll be able to figure it out. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit edf10162b2c5ad78ada8e63e960f9d0949c6c219 Author: Glauber Costa Date: Fri Jun 13 16:35:52 2008 -0300 x86: don't clobber r8 nor use rcx. There's really no reason to clobber r8 or pass the address in rcx. We can safely use only two registers (which we already have to touch anyway) to do the job. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit f8dd0d3c62164160c59034a96eb17d69ac8a0328 Author: Ingo Molnar Date: Wed Jul 9 09:12:55 2008 +0200 x86: delay lib unification build fix fix: arch/x86/lib/delay.c:93:24: error: macro "use_tsc_delay" passed 1 arguments, but takes just 0 arch/x86/lib/delay.c:94: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token Signed-off-by: Ingo Molnar commit f0fbf0abc093ec8bf64506eee4ede9e5daf40ffd Author: Glauber Costa Date: Thu Jul 3 12:35:41 2008 -0300 x86: integrate delay functions. delay_32.c, delay_64.c are now equal, and are integrated into delay.c. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 7e58818d32c18197602d1869b22cfda99efd05fe Author: Glauber Costa Date: Tue Jun 24 10:21:25 2008 -0300 x86: explicitly use edx in const delay function. For x86_64, we can't just use %0, as it would generate a mul against rdx, which is not really what we want (note the ">> 32" in x86_64 version). Using a u64 variable with a shift in i386 generates bad code, so the solution is to explicitly use %%edx in inline assembly for both. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit a76febe975997b933b7285b6e20bb0a21c09d453 Author: Glauber Costa Date: Tue Jun 24 09:52:36 2008 -0300 x86: use rdtscll in read_current_timer for i386. This way we achieve the same code for both arches. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0a4d8a472f645d99f86303db1462b64e371b090d Author: Glauber Costa Date: Tue Jun 24 09:34:08 2008 -0300 x86: provide delay loop for x86_64. This is for consistency with i386. We call use_tsc_delay() at tsc initialization for x86_64, so we'll be always using it. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ff1b15b646177c6cc465ac2dd0be6ae16e965654 Author: Glauber Costa Date: Tue Jun 24 09:27:19 2008 -0300 x86: don't use size specifiers. Remove the "l" from inline asm at arch/x86/lib/delay_32.c. It is not needed. Signed-off-by: Glauber Costa Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit cde274c0c789404df8ece3f9e7d6506caf0127e2 Author: Mike Mason Date: Wed Jul 9 02:04:35 2008 +1000 powerpc/eeh: PERR/SERR bit settings during EEH device recovery The following patch restores the PERR and SERR bits in the PCI command register during an EEH device recovery. We have found at least one case (an Agilent test card) where the PERR/SERR bits are set to 1 by firmware at boot time, but are not restored to 1 during EEH recovery. The patch fixes the Agilent card problem. It has been tested on several other EEH-enabled cards with no regressions. Signed-off-by: Mike Mason Acked-by: Linas Vepstas Signed-off-by: Benjamin Herrenschmidt commit b887ec620a7575f54fa025d38fa1008dc8a3b12a Author: Michael Neuling Date: Tue Jul 8 18:53:03 2008 +1000 powerpc: remove unused variable in emulate_fp_pair regs is not used in emulate_fp_pair so remove it. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit c1cb299ead405f0ac065c4430729549b187e5b32 Author: Michael Neuling Date: Tue Jul 8 18:43:41 2008 +1000 powerpc: fix swapcontext backwards compat. with VSX ucontext changes When the ucontext changed to add the VSX context, this broke backwards compatibly on swapcontext. swapcontext only compares the ucontext size passed in from the user to the new kernel ucontext size. This adds a check against the old ucontext size (with VMX but without VSX). It also adds some sanity check for ucontexts without VSX, but where VSX is used according the MSR. Fixes for both 32 and 64bit processes on 64bit kernels Kudos to Paulus for noticing. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 1b17adf19b4d66858f366acd82b4e81cba5edc93 Author: Paul Gortmaker Date: Tue Jul 8 08:42:09 2008 +1000 powerpc/ibmebus: more meaningful variable name Choose a more meaningful name for better System.map readability and autopsy value etc. Signed-off-by: Paul Gortmaker Signed-off-by: Benjamin Herrenschmidt commit 05781ccd74c63c6c8567f99101587d5c07c163e0 Author: Grant Erickson Date: Tue Jul 8 08:03:11 2008 +1000 ibm_newemac: Parameterize EMAC Multicast Match Handling Various instances of the EMAC core have varying: 1) number of address match slots, 2) width of the registers for handling address match slots, 3) number of registers for handling address match slots and 4) base offset for those registers. As the driver stands today, it assumes that all EMACs have 4 IAHT and GAHT 32-bit registers, starting at offset 0x30 from the register base, with only 16-bits of each used for a total of 64 match slots. The 405EX(r) and 460EX now use the EMAC4SYNC core rather than the EMAC4 core. This core has 8 IAHT and GAHT registers, starting at offset 0x80 from the register base, with ALL 32-bits of each used for a total of 256 match slots. This adds a new compatible device tree entry "emac4sync" and a new, related feature flag "EMAC_FTR_EMAC4SYNC" along with a series of macros and inlines which supply the appropriate parameterized value based on the presence or absence of the EMAC4SYNC feature. The code has further been reworked where appropriate to use those macros and inlines. In addition, the register size passed to ioremap is now taken from the device tree: c4 for EMAC4SYNC cores 74 for EMAC4 cores 70 for EMAC cores rather than sizeof (emac_regs). Finally, the device trees have been updated with the appropriate compatible entries and resource sizes. This has been tested on an AMCC Haleakala board such that: 1) inbound ICMP requests to 'haleakala.local' via MDNS from both Mac OS X 10.4.11 and Ubuntu 8.04 systems as well as 2) outbound ICMP requests from 'haleakala.local' to those same systems in the '.local' domain via MDNS now work. Signed-off-by: Grant Erickson Acked-by: Jeff Garzik Signed-off-by: Benjamin Herrenschmidt commit 801eb73f45371accc78ca9d6d22d647eeb722c11 Author: Dave Kleikamp Date: Tue Jul 8 00:28:55 2008 +1000 powerpc/mm: Don't clear _PAGE_COHERENT when _PAGE_SAO is set The current low level hash code on LPAR configurations clears _PAGE_COHERENT (M) when either _PAGE_GUARDED (G) or _PAGE_NO_CACHE (I) is set. This conflicts with _PAGE_SAO which has M, I and W bits sets at once (normally invalid combo) to indicate the new SAO attribute. This changes the code to allow that case. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit ef3d3246a0d06be622867d21af25f997aeeb105f Author: Dave Kleikamp Date: Tue Jul 8 00:28:54 2008 +1000 powerpc/mm: Add Strong Access Ordering support Allow an application to enable Strong Access Ordering on specific pages of memory on Power 7 hardware. Currently, power has a weaker memory model than x86. Implementing a stronger memory model allows an emulator to more efficiently translate x86 code into power code, resulting in faster code execution. On Power 7 hardware, storing 0b1110 in the WIMG bits of the hpte enables strong access ordering mode for the memory page. This patchset allows a user to specify which pages are thus enabled by passing a new protection bit through mmap() and mprotect(). I have defined PROT_SAO to be 0x10. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit 379070491e1e744a59e69e5bcf3765012d15ecb4 Author: Dave Kleikamp Date: Tue Jul 8 00:28:53 2008 +1000 powerpc/mm: Add SAO Feature bit to the cputable Add the CPU feature bit for the new Strong Access Ordering facility of Power7 Signed-off-by: Dave Kleikamp Signed-off-by: Joel Schopp Signed-off-by: Benjamin Herrenschmidt commit aba46c5027cb59d98052231b36efcbbde9c77a1d Author: Dave Kleikamp Date: Tue Jul 8 00:28:52 2008 +1000 powerpc/mm: Define flags for Strong Access Ordering This patch defines: - PROT_SAO, which is passed into mmap() and mprotect() in the prot field - VM_SAO in vma->vm_flags, and - _PAGE_SAO, the combination of WIMG bits in the pte that enables strong access ordering for the page. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit b845f313d78e4e259ec449909e3bbadf77b53a6d Author: Dave Kleikamp Date: Tue Jul 8 00:28:51 2008 +1000 mm: Allow architectures to define additional protection bits This patch allows architectures to define functions to deal with additional protections bits for mmap() and mprotect(). arch_calc_vm_prot_bits() maps additonal protection bits to vm_flags arch_vm_get_page_prot() maps additional vm_flags to the vma's vm_page_prot arch_validate_prot() checks for valid values of the protection bits Note: vm_get_page_prot() is now pretty ugly, but the generated code should be identical for architectures that don't define additional protection bits. Signed-off-by: Dave Kleikamp Acked-by: Andrew Morton Acked-by: Hugh Dickins Signed-off-by: Benjamin Herrenschmidt commit e5093ff05d36c64e8f36a9ddb26358256dc133ea Author: Srinivasa Ds Date: Tue Jul 8 00:22:27 2008 +1000 powerpc: Implement task_pt_regs() accessor The task_pt_regs() macro allows access to the pt_regs of a given task. This macro is not currently defined for the powerpc architecture, but we need it for some upcoming utrace additions. Signed-off-by: Srinivasa DS Signed-off-by: Benjamin Herrenschmidt commit 058c78f4ba89df7b2de82ac271452f09e2b8fa05 Author: Benjamin Herrenschmidt Date: Mon Jul 7 13:44:31 2008 +1000 powerpc: Use new printk extension %pS to print symbols on oops 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: Benjamin Herrenschmidt commit 3a4c6f0b1540811110a59112b4c83f55c229728c Author: Mark Nelson Date: Sat Jul 5 05:05:45 2008 +1000 powerpc: move device_to_mask() to dma-mapping.h Move device_to_mask() to dma-mapping.h because we need to use it from outside dma_64.c in a later patch. Signed-off-by: Mark Nelson Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 7e5f8105030038de94b44a74cd7b64dd000830fc Author: Mark Nelson Date: Sat Jul 5 05:05:44 2008 +1000 powerpc/cell: cell_dma_dev_setup_iommu() return the iommu table Make cell_dma_dev_setup_iommu() return a pointer to the struct iommu_table (or NULL if no table can be found) rather than putting this pointer into dev->archdata.dma_data (let the caller do that), and rename this function to cell_get_iommu_table() to reflect this change. This will allow us to get the iommu table for a device that doesn't have the table in the archdata. Signed-off-by: Mark Nelson Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 3affedc4e1ce837033b6c5e9289d2ce2f5a62d31 Author: Mark Nelson Date: Sat Jul 5 05:05:42 2008 +1000 powerpc/dma: implement new dma_*map*_attrs() interfaces Update powerpc to use the new dma_*map*_attrs() interfaces. In doing so update struct dma_mapping_ops to accept a struct dma_attrs and propagate these changes through to all users of the code (generic IOMMU and the 64bit DMA code, and the iseries and ps3 platform code). The old dma_*map_*() interfaces are reimplemented as calls to the corresponding new interfaces. Signed-off-by: Mark Nelson Signed-off-by: Arnd Bergmann Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c8692362db3db3a6f644e05a477161d967430aac Author: Mark Nelson Date: Sat Jul 5 05:05:41 2008 +1000 powerpc/dma: Add struct iommu_table argument to iommu_map_sg() Make iommu_map_sg take a struct iommu_table. It did so before commit 740c3ce66700640a6e6136ff679b067e92125794 (iommu sg merging: ppc: make iommu respect the segment size limits). This stops the function looking in the archdata.dma_data for the iommu table because in the future it will be called with a device that has no table there. This also has the nice side effect of making iommu_map_sg() match the other map functions. Signed-off-by: Mark Nelson Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit fabb657005edbbcb0d13ee49a40f1f4b042a1d19 Author: Maxim Shchetynin Date: Sat Jul 5 05:05:39 2008 +1000 powerpc/spufs: add atomic busy_spus counter to struct cbe_spu_info As nr_active counter includes also spus waiting for syscalls to return we need a seperate counter that only counts spus that are currently running on spu side. This counter shall be used by a cpufreq governor that targets a frequency dependent from the number of running spus. Signed-off-by: Christian Krafft Acked-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 88b90c96b787ecb5c72384b6873468f814cce650 Author: Geoff Levand Date: Wed Jul 2 04:17:05 2008 +1000 powerpc/ps3: Quiet system bus match output Reduce the output verbosity of ps3_system_bus_match(). Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 26e9e57b106445bbd8c965985e4e8af5293ae005 Author: Ingo Molnar Date: Wed Jul 9 08:02:54 2008 +0200 x86, uv: build fix #2 for "x86, uv: update x86 mmr list for SGI uv" fix: In file included from arch/x86/kernel/tlb_uv.c:14: include/asm/uv/uv_mmrs.h:986: error: redefinition of ‘union uvh_rh_gam_cfg_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:988: error: redefinition of ‘struct uvh_rh_gam_cfg_overlay_config_mmr_s’ include/asm/uv/uv_mmrs.h:1064: error: redefinition of ‘union uvh_rh_gam_mmioh_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:1066: error: redefinition of ‘struct uvh_rh_gam_mmioh_overlay_config_mmr_s’ caused by another duplicate section (cut & paste error) in commit 5d061e397db1 "x86, uv: update x86 mmr list for SGI uv". Signed-off-by: Ingo Molnar commit e407dffd17dcb592e1605a2b3dbbb81f9f3cbc21 Author: Ingo Molnar Date: Wed Jul 9 08:00:15 2008 +0200 x86, uv: build fix for "x86, uv: update x86 mmr list for SGI uv" fix: In file included from arch/x86/kernel/genx2apic_uv_x.c:25: include/asm/uv/uv_mmrs.h:986: error: redefinition of ‘union uvh_rh_gam_cfg_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:988: error: redefinition of ‘struct uvh_rh_gam_cfg_overlay_config_mmr_s’ include/asm/uv/uv_mmrs.h:1064: error: redefinition of ‘union uvh_rh_gam_mmioh_overlay_config_mmr_u’ include/asm/uv/uv_mmrs.h:1066: error: redefinition of ‘struct uvh_rh_gam_mmioh_overlay_config_mmr_s’ caused by duplicate section (cut & paste error) in commit 5d061e397db1 "x86, uv: update x86 mmr list for SGI uv". Signed-off-by: Ingo Molnar commit 5ed4273af8469ca4723d4bf1bcd3abe2cc792e9f Author: Andrew Morton Date: Fri Jul 4 12:36:21 2008 +0200 arch/x86/mm/pgtable_32.c: remove unused variable `fixmaps' arch/x86/mm/pgtable_32.c:144: warning: 'fixmaps' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 6f585e01614f38195599c1bc5379d3c9dae6be47 Author: Andrew Morton Date: Fri Jul 4 12:36:21 2008 +0200 arch/x86/kernel/smpboot.c: fix warning arch/x86/kernel/smpboot.c: In function 'do_boot_cpu': arch/x86/kernel/smpboot.c:943: warning: label 'restore_state' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 7b4fd4bb2e7fad2c41afab4683a44ab77f6f35d0 Author: Alexander van Heukelum Date: Wed Jul 2 01:33:14 2008 +0200 x86: traps_xx: various small changes - order of local variable declarations - minor code changes Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit abd348072798aa88d48fe9f182ac3440fcb7ae47 Author: Alexander van Heukelum Date: Wed Jul 2 18:39:01 2008 +0200 x86: traps_xx: modify default_do_nmi - local caching of smp_processor_id() in default_do_nmi() - v2: do not split default_do_nmi over two lines On Wed, Jul 02, 2008 at 08:12:20PM +0400, Cyrill Gorcunov wrote: > | -static notrace __kprobes void default_do_nmi(struct pt_regs *regs) > | +static notrace __kprobes void > | +default_do_nmi(struct pt_regs *regs) > | [ ... ] > | -asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs) > | +asmlinkage notrace __kprobes void > | +default_do_nmi(struct pt_regs *regs) > > Hi Alexander, good done, thanks! But why did you split default_do_nmi > definition by two lines? I think it would be better to keep them as it > was before, ie by a single line > > static notrace __kprobes void default_do_nmi(struct pt_regs *regs) Thanks! Here is the replacement patch with default_do_nmi left on a single line. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 13485ab55bc77f02024e80bcca0374950b0becb3 Author: Alexander van Heukelum Date: Wed Jul 2 01:32:04 2008 +0200 x86: traps_xx: restructure do_general_protection() - if (cond) block -> if (!cond) goto end_of_block - local caching of current Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit a7bbb0ce1d1f956c8491b925c74767adf654f373 Author: Alexander van Heukelum Date: Wed Jul 2 01:31:34 2008 +0200 x86: traps_xx: modify do_trap if (cond) block -> if (!cond) goto end_of_block Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit e423f49fc8ccd761618748d7139638d8ddc1d16f Author: Alexander van Heukelum Date: Wed Jul 2 01:31:03 2008 +0200 x86: traps_xx: modify __die if (cond) block -> if (!cond) goto end_of_block Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit badc76527f7e29302f0bde3d366c59101fb2ab87 Author: Alexander van Heukelum Date: Wed Jul 2 01:30:30 2008 +0200 x86: traps_xx: shuffle headers and globals Reorder headers and collect globals in traps_32.c and traps_64.c Code size and data size are unaffected by the changes. Code itself is changed due to different ordering of data and bss. The bss segment changed size due to a change in the packing of the variables. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 79d16385c7f287a33ea771c4dbe60ae43f791b49 Author: David S. Miller Date: Tue Jul 8 23:14:46 2008 -0700 netdev: Move atomic queue state bits into netdev_queue. Signed-off-by: David S. Miller commit b19fa1fa91845234961c64dbd564671aa7c0fd27 Author: David S. Miller Date: Tue Jul 8 23:14:24 2008 -0700 net: Delete NETDEVICES_MULTIQUEUE kconfig option. Multiple TX queue support is a core networking feature. Signed-off-by: David S. Miller commit c773e847ea8f6812804e40f52399c6921a00eab1 Author: David S. Miller Date: Tue Jul 8 23:13:53 2008 -0700 netdev: Move _xmit_lock and xmit_lock_owner into netdev_queue. Accesses are mostly structured such that when there are multiple TX queues the code transformations will be a little bit simpler. Signed-off-by: David S. Miller commit eb6aafe3f843cb0e939546c03540a3b4911b6964 Author: David S. Miller Date: Tue Jul 8 23:12:38 2008 -0700 pkt_sched: Make qdisc_run take a netdev_queue. This allows us to use this calling convention all the way down into qdisc_restart(). Signed-off-by: David S. Miller commit 86d804e10a37cd86f16bf72386c37e843a98a74b Author: David S. Miller Date: Tue Jul 8 23:11:25 2008 -0700 netdev: Make netif_schedule() routines work with netdev_queue objects. Only plain netif_schedule() remains taking a net_device, mostly as a compatability item while we transition the rest of these interfaces. Everything else calls netif_schedule_queue() or __netif_schedule(), both of which take a netdev_queue pointer. Signed-off-by: David S. Miller commit 970565bbad0c7b98db0d14131a69e5a0f4445d49 Author: David S. Miller Date: Tue Jul 8 23:10:33 2008 -0700 netdev: Move gso_skb into netdev_queue. Signed-off-by: David S. Miller commit c2aa288548a29d909ec875e81137fb0dbbb420b7 Author: David S. Miller Date: Tue Jul 8 23:01:52 2008 -0700 mac80211: Decrease number of explicit ->tx_queue references. Accomplish this by using local variables. Signed-off-by: David S. Miller commit 052979499c767268b912d25031ae524c451679d0 Author: David S. Miller Date: Tue Jul 8 23:01:27 2008 -0700 pkt_sched: Add qdisc_tx_is_noop() helper and use in IPV6. This indicates if the NOOP scheduler is what is active for TX on a given device. Signed-off-by: David S. Miller commit 6fa9864b53f0680e432a2c431c2cf2055daa3a88 Author: David S. Miller Date: Tue Jul 8 23:01:06 2008 -0700 net: Clean up explicit ->tx_queue references in link watch. First, we add a qdisc_tx_changing() helper which returns true if the qdisc attachment is in transition. Second, we remove an assertion warning which is of limited value and is hard to express precisely in a multiqueue environment. Signed-off-by: David S. Miller commit 3e745dd6950d72d19e4cb30dc44307e8d6671864 Author: David S. Miller Date: Tue Jul 8 23:00:25 2008 -0700 pkt_sched: Add qdisc_all_tx_empty() This is a helper function, currently used by IRDA. This is being added so that we can contain and isolate as many explicit ->tx_queue references in the tree as possible. Signed-off-by: David S. Miller commit 5aa709954a32a646c0cf14fdf7c8834db4ff1c03 Author: David S. Miller Date: Tue Jul 8 22:59:10 2008 -0700 pkt_sched: Add qdisc_reset_all_tx(). Isolate callers that want to simply reset all the TX qdiscs from the details of TX queues. Use this in the ISDN code. Signed-off-by: David S. Miller commit ee609cb36220d18c0cf476b066a5ab7e6f6d3a69 Author: David S. Miller Date: Tue Jul 8 22:58:37 2008 -0700 netdev: Move next_sched into struct netdev_queue. We schedule queues, not the device, for output queue processing in BH. Signed-off-by: David S. Miller commit 74d58a0c1d5b348a8d4ea9643b573a6ab455a3f3 Author: David S. Miller Date: Tue Jul 8 22:57:51 2008 -0700 pkt_sched: Make netem queue agnostic. It just wants the root qdisc given an arbitrary qdisc, and that is simply qdisc->dev_queue->qdisc Signed-off-by: David S. Miller Acked-by: Stephen Hemminger commit 68dfb42798e1eb2d42acbf872925cc75f1487d9b Author: David S. Miller Date: Tue Jul 8 22:57:31 2008 -0700 pkt_sched: Kill stats_lock member of struct Qdisc. It is always equal to qdisc->dev_queue->lock Signed-off-by: David S. Miller commit 816f3258e70db38d6d92c8d871377179fd69160f Author: David S. Miller Date: Tue Jul 8 22:49:00 2008 -0700 netdev: Kill qdisc_ingress, use netdev->rx_queue.qdisc instead. Now that our qdisc management is bi-directional, per-queue, and fully orthogonal, there is no reason to have a special ingress qdisc pointer in struct net_device. Signed-off-by: David S. Miller commit a8c1be9d2e78d8608892c86791837acf12da4bf6 Author: Alexander van Heukelum Date: Wed Jul 2 01:29:44 2008 +0200 x86: initial changes to unify traps_32.c and traps_64.c This patch does not change the generated object files. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit e93ef949fd9a3f237aedfb8e64414b28980530b8 Author: Alok Kataria Date: Tue Jul 1 11:43:36 2008 -0700 x86: rename paravirtualized TSC functions Rename the paravirtualized calculate_cpu_khz to calibrate_tsc. In all cases, we actually calibrate_tsc and use that as the cpu_khz value. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 8fbbc4b45ce3e4c0eeb15004c79c72b6896a79c2 Author: Alok Kataria Date: Tue Jul 1 11:43:34 2008 -0700 x86: merge tsc_init and clocksource code Unify the clocksource code. Unify the tsc_init code. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 2dbe06faf37b39f9ecffc054dd173b2a1dc2adcd Author: Alok Kataria Date: Tue Jul 1 11:43:31 2008 -0700 x86: merge the TSC cpu-freq code Unify the TSC cpufreq code. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit bfc0f5947afa5e3a13e55867f4478c8a92c11dca Author: Alok Kataria Date: Tue Jul 1 11:43:24 2008 -0700 x86: merge tsc calibration Merge the tsc calibration code for the 32bit and 64bit kernel. The paravirtualized calculate_cpu_khz for 64bit now points to the correct tsc_calibrate code as in 32bit. Original native_calculate_cpu_khz for 64 bit is now called as calibrate_cpu. Also moved the recalibrate_cpu_khz function in the common file. Note that this function is called only from powernow K7 cpu freq driver. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 0ef95533326a7b37d16025af9edc0c18e644b346 Author: Alok Kataria Date: Tue Jul 1 11:43:18 2008 -0700 x86: merge sched_clock handling Move the basic global variable definitions and sched_clock handling in the common "tsc.c" file. - Unify notsc kernel command line handling for 32 bit and 64bit. - Functional changes for 64bit. - "tsc_disabled" is updated if "notsc" is passed at boottime. - Fallback to jiffies for sched_clock, incase notsc is passed on commandline. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Cc: Dan Hecht Signed-off-by: Ingo Molnar commit 746f2eb790e75676ddc3b816ba18bac4179cc744 Author: Cyrill Gorcunov Date: Tue Jul 1 21:43:52 2008 +0400 x86: apic_32.c - add lapic resource Add lapic resource into kernel resource map and mark it as busy Signed-off-by: Cyrill Gorcunov Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar CC: Maciej W. Rozycki commit 5d061e397db1ee7a62783a881833f3f9b89f6dc8 Author: Dimitri Sivanich Date: Wed Jul 2 15:39:35 2008 -0500 x86, uv: update x86 mmr list for SGI uv This patch updates the X86 mmr list for SGI uv. Signed-off-by: Dimitri Sivanich Cc: Jack Steiner Cc: Russ Anderson Signed-off-by: Ingo Molnar commit 83f5d894ca5280bfcd904dfeb1347c2da2b19aac Author: Jack Steiner Date: Tue Jul 1 14:45:38 2008 -0500 x86: map UV chipset space - UV support Create page table entries to map the SGI UV chipset GRU. local MMR & global MMR ranges. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Signed-off-by: Ingo Molnar commit 3a9e189d69479736a0d0901c87ad08c9e328b389 Author: Jack Steiner Date: Tue Jul 1 14:45:32 2008 -0500 x86: map UV chipset space - pagetable Add boot-time function for creating additional 2MB page table entries for mapping chipset specific cached/uncached ranges. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Signed-off-by: Ingo Molnar commit fc9036ea1a4b14229788e6df3936b451a6abac98 Author: Yinghai Lu Date: Thu Jul 3 11:39:00 2008 -0700 x86: let early_reserve_e820 update e820_saved too so when it is called after early_param, e820_saved get updated too. esp for mpc update. Signed-off-by: Yinghai Lu Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit a0a0becd2da0ba0d7f0204a61d1905926cdb163d Author: Yinghai Lu Date: Thu Jul 3 11:37:13 2008 -0700 x86: make e820_saved have update from setup_data seperate reserve_setup_data into e820_reserved_setup_data, and reserve_early_setup_data. So could use e820_reserved_setup_data to backup e820 with setup_data. Signed-off-by: Yinghai Lu Cc: Bernhard Walle Cc: Ying Huang Signed-off-by: Ingo Molnar commit 0be15526beb4c228e0477221c62ec8ab0fc7440f Author: Yinghai Lu Date: Thu Jul 3 11:35:37 2008 -0700 x86: move saving e820_saved to setup_memory_map so other path that will override memory_setup or machine_specific_memory_setup could have e820_saved too. Signed-off-by: Yinghai Lu Cc: Jeremy Fitzhardinge Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit b0e1e6462df3c5944010b3328a546d8fe5d932cd Author: David S. Miller Date: Tue Jul 8 17:42:10 2008 -0700 netdev: Move rest of qdisc state into struct netdev_queue Now qdisc, qdisc_sleeping, and qdisc_list also live there. Signed-off-by: David S. Miller commit 555353cfa1aee293de445bfa6de43276138ddd82 Author: David S. Miller Date: Tue Jul 8 17:33:13 2008 -0700 netdev: The ingress_lock member is no longer needed. Every qdisc is assosciated with a queue, and in the case of ingress qdiscs that will now be netdev->rx_queue so using that queue's lock is the thing to do. Signed-off-by: David S. Miller commit dc2b48475a0a36f8b3bbb2da60d3a006dc5c2c84 Author: David S. Miller Date: Tue Jul 8 17:18:23 2008 -0700 netdev: Move queue_lock into struct netdev_queue. The lock is now an attribute of the device queue. One thing to notice is that "suspicious" places emerge which will need specific training about multiple queue handling. They are so marked with explicit "netdev->rx_queue" and "netdev->tx_queue" references. Signed-off-by: David S. Miller commit 2c3e47871d18f93b8bc2892fb41432111201356d Author: Jeremy Kerr Date: Thu Jul 3 11:42:20 2008 +1000 powerpc/spufs: only add ".ctx" file with "debug" mount option Currently, the .ctx debug file in spu context directories is always present. We'd prefer to prevent users from relying on this file, so add a "debug" mount option to spufs. The .ctx file will only be added to the context directories when this option is present. Signed-off-by: Jeremy Kerr commit 6f7dde812defe5bc49cf463ac1579ffeda5cbfd4 Author: Jeremy Kerr Date: Mon Jun 30 14:38:37 2008 +1000 powerpc/spufs: add sizes for context files Populate the size member of a few context files. Leave out files that have different semantics with read vs mmap, or contain a variable-length hex string. Signed-off-by: Jeremy Kerr commit 23d893f51cde7013e4c29094da2237cce4f20035 Author: Jeremy Kerr Date: Mon Jun 30 12:17:28 2008 +1000 powerpc/spufs: allow spufs files to specify sizes Currently, spufs never specifies the i_size for the files in context directories, so stat() always reports 0-byte files. This change adds allows the spufs_dir_(nosched_)contents arrays to specify a file size. This allows stat() to report correct file sizes, and makes SEEK_END work. Signed-off-by: Jeremy Kerr commit 87ff6090bfe416c71730654ab53cd4ecffdd675e Author: Jeremy Kerr Date: Tue Jul 1 10:22:50 2008 +1000 powerpc/spufs: avoid magic numbers for mapping sizes Use a set of #defines for the size of context mappings, instead of magic numbers. Signed-off-by: Jeremy Kerr commit 2442a8ba5abe2c27c572bc522da1c33df98c6ec7 Author: Luke Browning Date: Fri Jun 6 11:26:54 2008 +0800 powerpc/spufs: don't extend time time slice if context is not in spu_run An spu context shouldn't get an extra tick if the time slice code couldn't find something else to run. This means contexts that are not within spu_run (ie, SPU_SCHED_SPU_RUN is cleared) will not receive extra ticks while we have no other contexts waiting. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 46deed69b34d0aa6065e92ad79685e103d4ccd35 Author: Luke Browning Date: Mon Jun 16 11:36:43 2008 +1000 powerpc/spufs: provide context debug file Add a ctxt file to spufs that shows spu context information that is used in scheduling. This info can be used for debugging spufs scheduler issues, and to isolate between application and spufs problems as it shows a lot of state such as priorities and dispatch counts. This file contains internal spufs state and is subject to change at any time, and therefore no applications should depend on it. The file is intended for the use of spufs kernel developers. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 5ce2d488fe039ddd86a638496cf704df86c74eeb Author: David S. Miller Date: Tue Jul 8 17:06:30 2008 -0700 pkt_sched: Remove 'dev' member of struct Qdisc. It can be obtained via the netdev_queue. So create a helper routine, qdisc_dev(), to make the transformations nicer looking. Now, qdisc_alloc() now no longer needs a net_device pointer argument. Signed-off-by: David S. Miller commit bb949fbd1878973c3539d9aecff52f284482a937 Author: David S. Miller Date: Tue Jul 8 16:55:56 2008 -0700 netdev: Create netdev_queue abstraction. A netdev_queue is an entity managed by a qdisc. Currently there is one RX and one TX queue, and a netdev_queue merely contains a backpointer to the net_device. The Qdisc struct is augmented with a netdev_queue pointer as well. Eventually the 'dev' Qdisc member will go away and we will have the resulting hierarchy: net_device --> netdev_queue --> Qdisc Also, qdisc_alloc() and qdisc_create_dflt() now take a netdev_queue pointer argument. Signed-off-by: David S. Miller commit e65d22e18038eed7307276e46810d884c402d57d Author: David S. Miller Date: Tue Jul 8 16:46:01 2008 -0700 pkt_sched: Remove comment reference to old style TX locking. We haven't had netdev->tbusy in many years :) Signed-off-by: David S. Miller commit 7c3ceb4a409e2b838700edf081d61a8a4c921e79 Merge: 54dceb0... b223856... Author: David S. Miller Date: Tue Jul 8 16:30:17 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-3945.c net/mac80211/mlme.c commit 54dceb008ffcbe003bea9017cad1227a83b6fc3f Merge: 11a100f... b463727... Author: David S. Miller Date: Tue Jul 8 15:39:41 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 11a100f844f6096787ab20e19f17d72abc957a8f Author: Patrick McHardy Date: Tue Jul 8 15:36:57 2008 -0700 vlan: avoid header copying and linearisation where possible - vlan_dev_reorder_header() is only called on the receive path after calling skb_share_check(). This means we can use skb_cow() since all we need is a writable header. - vlan_dev_hard_header() includes a work-around for some apparently broken out of tree MPLS code. The hard_header functions can expect to always have a headroom of at least there own hard_header_len available, so the reallocation check is unnecessary. - __vlan_put_tag() can use skb_cow_head() to avoid the skb_unshare() copy when the header is writable. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3bfb1d20b547a5071d01344581eac5846ea84491 Author: Haavard Skinnemoen Date: Tue Jul 8 11:59:42 2008 -0700 dmaengine: Driver for the Synopsys DesignWare DMA controller This adds a driver for the Synopsys DesignWare DMA controller (aka DMACA on AVR32 systems.) This DMA controller can be found integrated on the AT32AP7000 chip and is primarily meant for peripheral DMA transfer, but can also be used for memory-to-memory transfers. This patch is based on a driver from David Brownell which was based on an older version of the DMA Engine framework. It also implements the proposed extensions to the DMA Engine API for slave DMA operations. The dmatest client shows no problems, but there may still be room for improvement performance-wise. DMA slave transfer performance is definitely "good enough"; reading 100 MiB from an SD card running at ~20 MHz yields ~7.2 MiB/s average transfer rate. Full documentation for this controller can be found in the Synopsys DW AHB DMAC Databook: http://www.synopsys.com/designware/docs/iip/DW_ahb_dmac/latest/doc/dw_ahb_dmac_db.pdf The controller has lots of implementation options, so it's usually a good idea to check the data sheet of the chip it's intergrated on as well. The AT32AP7000 data sheet can be found here: http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Changes since v4: * Use client_count instead of dma_chan_is_in_use() * Add missing include * Unmap buffers unless client told us not to Changes since v3: * Update to latest DMA engine and DMA slave APIs * Embed the hw descriptor into the sw descriptor * Clean up and update MODULE_DESCRIPTION, copyright date, etc. Changes since v2: * Dequeue all pending transfers in terminate_all() * Rename dw_dmac.h -> dw_dmac_regs.h * Define and use controller-specific dma_slave data * Fix up a few outdated comments * Define hardware registers as structs (doesn't generate better code, unfortunately, but it looks nicer.) * Get number of channels from platform_data instead of hardcoding it based on CONFIG_WHATEVER_CPU. * Give slave clients exclusive access to the channel Acked-by: Maciej Sosnowski , Signed-off-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit dc0ee6435cb92ccc81b14ff28d163fecc5a7f120 Author: Haavard Skinnemoen Date: Tue Jul 8 11:59:35 2008 -0700 dmaengine: Add slave DMA interface This patch adds the necessary interfaces to the DMA Engine framework to use functionality found on most embedded DMA controllers: DMA from and to I/O registers with hardware handshaking. In this context, hardware hanshaking means that the peripheral that owns the I/O registers in question is able to tell the DMA controller when more data is available for reading, or when there is room for more data to be written. This usually happens internally on the chip, but these signals may also be exported outside the chip for things like IDE DMA, etc. A new struct dma_slave is introduced. This contains information that the DMA engine driver needs to set up slave transfers to and from a slave device. Most engines supporting DMA slave transfers will want to extend this structure with controller-specific parameters. This additional information is usually passed from the platform/board code through the client driver. A "slave" pointer is added to the dma_client struct. This must point to a valid dma_slave structure iff the DMA_SLAVE capability is requested. The DMA engine driver may use this information in its device_alloc_chan_resources hook to configure the DMA controller for slave transfers from and to the given slave device. A new operation for preparing slave DMA transfers is added to struct dma_device. This takes a scatterlist and returns a single descriptor representing the whole transfer. Another new operation for terminating all pending transfers is added as well. The latter is needed because there may be errors outside the scope of the DMA Engine framework that may require DMA operations to be terminated prematurely. DMA Engine drivers may extend the dma_device, dma_chan and/or dma_slave_descriptor structures to allow controller-specific operations. The client driver can detect such extensions by looking at the DMA Engine's struct device, or it can request a specific DMA Engine device by setting the dma_dev field in struct dma_slave. dmaslave interface changes since v4: * Fix checkpatch errors * Fix changelog (there are no slave descriptors anymore) dmaslave interface changes since v3: * Use dma_data_direction instead of a new enum * Submit slave transfers as scatterlists * Remove the DMA slave descriptor struct dmaslave interface changes since v2: * Add a dma_dev field to struct dma_slave. If set, the client can only be bound to the DMA controller that corresponds to this device. This allows controller-specific extensions of the dma_slave structure; if the device matches, the controller may safely assume its extensions are present. * Move reg_width into struct dma_slave as there are currently no users that need to be able to set the width on a per-transfer basis. dmaslave interface changes since v1: * Drop the set_direction and set_width descriptor hooks. Pass the direction and width to the prep function instead. * Declare a dma_slave struct with fixed information about a slave, i.e. register addresses, handshake interfaces and such. * Add pointer to a dma_slave struct to dma_client. Can be NULL if the DMA_SLAVE capability isn't requested. * Drop the set_slave device hook since the alloc_chan_resources hook now has enough information to set up the channel for slave transfers. Acked-by: Maciej Sosnowski Signed-off-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit e1d181efb14a93cf263d6c588a5395518edf3294 Author: Dan Williams Date: Fri Jul 4 00:13:40 2008 -0700 dmaengine: add DMA_COMPL_SKIP_{SRC,DEST}_UNMAP flags to control dma unmap In some cases client code may need the dma-driver to skip the unmap of source and/or destination buffers. Setting these flags indicates to the driver to skip the unmap step. In this regard async_xor is currently broken in that it allows the destination buffer to be unmapped while an operation is still in progress, i.e. when the number of sources exceeds the hardware channel's maximum (fixed in a subsequent patch). Acked-by: Saeed Bishara Acked-by: Maciej Sosnowski Acked-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit 848c536a37b8db4e461f14ca15fe29850151c822 Author: Haavard Skinnemoen Date: Tue Jul 8 11:58:58 2008 -0700 dmaengine: Add dma_client parameter to device_alloc_chan_resources A DMA controller capable of doing slave transfers may need to know a few things about the slave when preparing the channel. We don't want to add this information to struct dma_channel since the channel hasn't yet been bound to a client at this point. Instead, pass a reference to the client requesting the channel to the driver's device_alloc_chan_resources hook so that it can pick the necessary information from the dma_client struct by itself. [dan.j.williams@intel.com: fixed up fsldma and mv_xor] Acked-by: Maciej Sosnowski Signed-off-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit 4a776f0aa922a552460192c07b56f4fe9cd82632 Author: Haavard Skinnemoen Date: Tue Jul 8 11:58:45 2008 -0700 dmatest: Simple DMA memcpy test client This client tests DMA memcpy using various lengths and various offsets into the source and destination buffers. It will initialize both buffers with a repeatable pattern and verify that the DMA engine copies the requested region and nothing more. It will also verify that the bytes aren't swapped around, and that the source buffer isn't modified. The dmatest module can be configured to test a specific device, a specific channel. It can also test multiple channels at the same time, and it can start multiple threads competing for the same channel. Changes since v2: * Support testing multiple channels at the same time * Support testing with multiple threads competing for the same channel * Use counting test patterns in order to catch byte ordering issues Changes since v1: * Remove extra dashes around "help" * Remove "default n" from Kconfig * Turn TEST_BUF_SIZE into a module parameter * Return DMA_NAK instead of DMA_DUP * Print unhandled events * Support testing specific channels and devices * Move to the end of the Makefile Acked-by: Maciej Sosnowski Signed-off-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit ff7b04796d9866327ea76e1393f1e902ef032f84 Author: Saeed Bishara Date: Tue Jul 8 11:58:36 2008 -0700 dmaengine: DMA engine driver for Marvell XOR engine The XOR engine found in Marvell's SoCs and system controllers provides XOR and DMA operation, iSCSI CRC32C calculation, memory initialization, and memory ECC error cleanup operation support. This driver implements the DMA engine API and supports the following capabilities: - memcpy - xor - memset The XOR engine can be used by DMA engine clients implemented in the kernel, one of those clients is the RAID module. In that case, I observed 20% improvement in the raid5 write throughput, and 40% decrease in the CPU utilization when doing array construction, those results obtained on an 5182 running at 500Mhz. When enabling the NET DMA client, the performance decreased, so meanwhile it is recommended to keep this client off. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit ebabe2762607147d28aa395ea6df2a0ee7f795a1 Author: Kay Sievers Date: Tue Jul 8 11:58:28 2008 -0700 iop-adma: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to most of the hotpluggable platform drivers, to re-enable auto loading. Cc: Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit 7cc5bf9a3a84e5a02e23e5739fb894790b37c101 Author: Dan Williams Date: Tue Jul 8 11:58:21 2008 -0700 dmaengine: track the number of clients using a channel Haavard's dma-slave interface would like to test for exclusive access to a channel. The standard channel refcounting is not sufficient in that it tracks more than just client references, it is also inaccurate as reference counts are percpu until the channel is removed. This change also enables a future fix to deallocate resources when a client declines to use a capable channel. Acked-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit 9c402f4e196290692d998b188f9094deb1619e57 Author: Dan Williams Date: Fri Jun 27 01:21:11 2008 -0700 dmaengine: remove arch dependency from DMADEVICES The dependency is redundant since all drivers set their specific arch dependencies. The NET_DMA option is modified to be enabled only on platforms where it is known to have a positive effect. HAS_DMA is added as an explicit dependency for the DMADEVICES menu. Acked-by: Adrian Bunk Acked-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit 1099dc79245719c046e632212ec09d6ec1154ef5 Author: Haavard Skinnemoen Date: Tue Jul 8 11:58:05 2008 -0700 dmaengine: Couple DMA channels to their physical DMA device Set the 'parent' field of channel class devices to point to the physical DMA device initialized by the DMA engine driver. This allows drivers to use chan->dev.parent for syncing DMA buffers and adds a 'device' symlink to the real device in /sys/class/dma/dmaXchanY. Signed-off-by: Haavard Skinnemoen Signed-off-by: Dan Williams commit 65bc3ffe8c067e387fe5557bc3ea5071071f6af9 Author: Dan Williams Date: Thu Jun 5 23:26:11 2008 -0700 async_tx: fix async_memset compile error commit 636bdeaa 'dmaengine: ack to flags: make use of the unused bits in the 'ack' field' missed an ->ack conversion in crypto/async_tx/async_memset.c Signed-off-by: Dan Williams commit 51ee87f27a1d2c0e08492924f2fb0223c4c704d9 Author: Li Yang Date: Thu May 29 23:25:45 2008 -0700 fsldma: fix incorrect exit path for initialization Signed-off-by: Li Yang Acked-by: Zhang Wei Signed-off-by: Dan Williams commit b46372710ab536c0967f76be5dc41341583d4a54 Author: Julius Volz Date: Tue Jul 8 14:02:19 2008 +0200 net/wireless/nl80211.c: fix endless Netlink callback loop. Although I only tested similar code (I don't use any of this wireless code), the state maintainance between Netlink dump callback invocations seems wrong here and should lead to an endless loop. There are also other examples in the same file which might have the same problem. Perhaps someone can actually test this (or refute my logic). Take the simple example with only one element in the list (which should fit into the message): 1. invocation: Start: idx = 0, start = 0 Loop: condition (++idx < start) => (1 < 0) => false => no continue, fill one entry, exit loop, return skb->len > 0 2. invocation: Start: idx = 0, start = 1 Loop: condition (++idx < start) => (1 < 1) => false => no continue, fill the same entry again, exit loop, return skb->len > 0 3. invocation: Same as 2. invocation, endless invocation of callback. Also, iterations where the filling of an element fails should not be counted as completed, so idx should not be incremented in this case. Signed-off-by: Julius Volz Signed-off-by: John W. Linville commit 0e25b4ef220f6ef4eed120543182385b13005db9 Author: Larry Finger Date: Tue Jul 8 09:43:43 2008 -0500 rtl8187: Change detection of RTL8187B with USB ID of 8187 Some early versions of RTL8187B devices have a USB ID of 0x8187 rather than the 0x8189 of later models. In addition, it appears that these early units also must be programmed with lower power. Previous patches used the Product ID string to detect this situation, but did not address the low power question. This patch uses the hardware version and sets the power accordingly. Signed-off-by: Hin-Tak Leung Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5c036b217a1fe3ae0616e9c43c6bcd13b3c134b6 Author: Hin-Tak Leung Date: Tue Jul 8 12:38:02 2008 +0100 rtl8187: updating Kconfig to support RTL8187B Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 6f7853f3cbe457067e9fe05461f56c7ea4ac488c Author: Hin-Tak Leung Date: Tue Jul 8 12:36:04 2008 +0100 rtl8187: change rtl8187_dev.c to support RTL8187B (part 2) Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f8a08c34265b59710a8fc049911f487477c19fab Author: Hin-Tak Leung Date: Tue Jul 8 12:33:34 2008 +0100 rtl8187: change rtl8187_dev.c to support RTL8187B (part 1) Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit e7d414ff21a7e0b00295e838c004ff1de5fba6ce Author: Hin-Tak Leung Date: Tue Jul 8 12:31:57 2008 +0100 rtl8187: updating rtl8187_rtl8225.c to support RTL8187B Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d1e11af51657d18222bef9cc15591f8c0f289186 Author: Hin-Tak Leung Date: Tue Jul 8 12:30:02 2008 +0100 rtl8187: updating rtl818x.h to support RTL8187B Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c44ac0b9855c62b5ec8af5935124cfbe6654a32d Author: Hin-Tak Leung Date: Tue Jul 8 12:27:54 2008 +0100 rtl8187: updating rtl8187.h to support RTL8187B Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Hin-Tak Leung Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 84263b0c94431e686552a322ae84678fddd22ebd Author: Ivo van Doorn Date: Sun Jul 6 17:09:48 2008 +0200 rt2x00: Fix register comments Fix some register documentation in the register header files. This allows better parsing by userspace scripts which in turn helps debugging. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0ac2a00c1035c749b720c4d817beea1795f02d47 Author: Pavel Roskin Date: Sun Jul 6 09:12:30 2008 -0400 hostap: don't compile prism2_suspend() for hostap_pci without CONFIG_PM Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 70197ede33134725f3e2e606fcabc28b0a4549a3 Author: Larry Finger Date: Fri Jul 4 08:39:01 2008 -0500 b43legacy: Remove switch statement with 64-bit index The gcc 3.4 fork used to compile the MN10300 port emits unwanted __ucmpdi2() calls for switch statements that use a 64bit value. This patch removes such a switch from b43legacy, and makes the code more like that used in b43. Thanks to Adrian Bunk for reporting the problem. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ae73e58ea64f121b26437a10937330e77ff48f33 Author: Ivo van Doorn Date: Fri Jul 4 16:14:59 2008 +0200 rt2x00: Report RX end time for rt2400pci rt2400 is the only currently available rt2x00 driver which supports reporting of the RX end time for frames. Since mac80211 uses this information for IBSS syncing, it is important that it is being reported. v2: Complement 32 bits of RX timestamp with upper 32bits from TSF Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8e260c22238dd8b57aefb1f5e4bd114486a9c17d Author: Ivo van Doorn Date: Fri Jul 4 13:41:31 2008 +0200 rt2x00: Use ieee80211_hw->workqueue again Remove the rt2x00 singlethreaded workqueue and move the link tuner and packet filter scheduled work to the ieee80211_hw->workqueue again. The only exception is the interface scheduled work handler which uses the mac80211 interface iterator under the RTNL lock. This work needs to be handled on the kernel workqueue to prevent lockdep issues. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ff352391acfac1e183c8c8b2858f9393bd064a65 Author: Ivo van Doorn Date: Fri Jul 4 14:56:07 2008 +0200 rt2x00: Decrease alignment headroom We only need 4 bytes of headroom for alignment purposes in the RX frame. It was previously higher for optimization purposes which are no longer possible due to DMA mappings. v2: Fix patch error Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 50db7875d9dcd89f7624b13535738612faf8db0c Author: Ivo van Doorn Date: Fri Jul 4 14:51:39 2008 +0200 rt2x00: Remove input_polldev requirements for rfkill With the new rfkill interface there is no longer a need for the input_polldev. Create a delayed_work structure which we can put on the mac80211 workqueue and poll the hardware every 1000ms. v2: Decrease poll frequency from 100ms to 1000ms Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f2cae6c5e41a979f85463aff60877b31fa3a383d Author: Daniel Drake Date: Fri Jul 4 04:30:49 2008 +0100 zd1211rw: beacon config error checking Add some error checking to the new beacon configuration code. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 6ef307bc561911c8cdda98ef3896b5982b602a43 Author: Randy Dunlap Date: Thu Jul 3 13:52:18 2008 -0700 mac80211: fix lots of kernel-doc Fix more than 50 kernel-doc warnings in ieee80211/mac80211 kernel-doc notation. Fix a few typos also. Note: Some fields are marked as TBD and need to have their description corrected. Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit fd4484af7c02b31bcb6090eeb0d85cf947719f2d Author: Henrique de Moraes Holschuh Date: Thu Jul 3 13:14:57 2008 -0300 rfkill: ignore errors from rfkill_toggle_radio in rfkill_add_switch rfkill_add_switch() calls rfkill_toggle_radio() to set the state of a recently registered rfkill class to the current global state [for that rfkill->type]. The rfkill_toggle_radio() call is going to error out if the hardware is RFKILL_STATE_HARD_BLOCKED, and the global state is RFKILL_STATE_UNBLOCKED. That is a quite normal situation which I missed to account for. As things stand, the error return from rfkill_toggle_radio ends up causing rfkill_register to bail out with an error (de-registering the new switch in the process), which is Not Nice. Change rfkill_add_switch() to not return errors because of a failed call to rfkill_toggle_radio(). We can go back to returning errors again (if that's indeed the right thing to do) if we define the exact error codes the rfkill->toggle_radio callbacks are to return in each situation, so that we can ignore the right ones only. Bug reported by "kionez ". Signed-off-by: Henrique de Moraes Holschuh Cc: kionez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0f687e9aeb590e9581709379f47dd13ee9357258 Author: Henrique de Moraes Holschuh Date: Thu Jul 3 13:14:56 2008 -0300 rfkill: some minor kernel-doc changes for rfkill_toggle_radio Improve rfkill_toggle_radio's kernel-doc header a bit. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e4abd4d49d6df6d5e94564c5e831c61ac722f6ec Author: Emmanuel Grumbach Date: Thu Jul 3 18:02:27 2008 +0300 mac80211: add support for iwconfig wlanX frag auto Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5fdae6b37e9346dbaea1e51ed6235ed0269d445d Author: Harvey Harrison Date: Wed Jul 2 16:30:53 2008 -0700 mac80211: aes_ccm.c remove crypto wrapper and extra args Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit feccb466944cb1aeaabc701cfde6771f3be74919 Author: Harvey Harrison Date: Wed Jul 2 16:30:52 2008 -0700 mac80211: pass scratch buffer directly, remove additional pointers Recalculate the offset pointers in the ccmp calculations rather than in the callers. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit c34498b9e633baa3266af98106502633b6bc371b Author: Harvey Harrison Date: Wed Jul 2 16:30:52 2008 -0700 mac80211: wpa.c remove rx/tx_data ->fc users Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit a7767f958a3b09a1bcd0ddcb21ef6f9a8ebd782c Author: Harvey Harrison Date: Wed Jul 2 16:30:51 2008 -0700 mac80211: remove trivial rx_data->fc users Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit fc32f9243dc93e75f81457e95d9cb90ee6136d94 Author: Tomas Winkler Date: Thu Jul 3 01:27:13 2008 +0300 mac80211: call bss_info_change only once upon disassociation This patch removes call of ieee80211_bss_info_change_notify from within ieee80211_reset_erp_info. This allows gathering all bss info changes into one call to the driver in the disassociation flow. Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8e8862b79d2ce9177bfddd85b8328a86a25c69b2 Author: Harvey Harrison Date: Wed Jul 2 11:05:35 2008 -0700 mac80211: remove ieee80211_get_hdr_info Do the check for sufficient skb->len explicitly and pass a pointer to the struct ieee80211_hdr directly to the michael_mic calculation. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit f14df8049f9c9f34164dd598772fecea83a394a2 Author: Harvey Harrison Date: Wed Jul 2 11:05:35 2008 -0700 mac80211: remove one user of ieee80211_get_hdr_info ccmp_special_blocks was only using it to calculate data_len, calculate that directly. Use unaligned helpers rather than masking/shifting. Use symbolic constants for the masked frame_control, and do it directly on a le16 value. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 73e1f7c823252d671361cddde0b498bf2c0fe4e1 Author: Harvey Harrison Date: Wed Jul 2 11:05:34 2008 -0700 mac80211: use symbolic defines in wpa.c ETH_ALEN and IEEE80211_QOS_CTL_LEN Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 238f74a227fd7de8ea1bc66dcbbd36cf9920d1cb Author: Harvey Harrison Date: Wed Jul 2 11:05:34 2008 -0700 mac80211: move QOS control helpers into ieee80211.h Also remove the WLAN_IS_QOS_DATA inline after removing the last two users. This starts moving away from using rx->fc to using the header frame_control directly. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 994d31f7430c3639b73c6ee038bd437c926b1227 Author: Helmut Schaa Date: Wed Jul 2 12:17:06 2008 +0200 iwlwifi: fix typo which caused iwl_get_tx_fail_reason to ever return an empty string Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 4e887d5b2fb909f18d153f47d2f3fdc2c76bb83a Author: Rami Rosen Date: Wed Jul 2 10:53:57 2008 +0300 mac80211: remove MAC80211_DEBUG from net/mac80211/Kconfig. This patch removes MAC80211_DEBUG from /net/mac80211/Kconfig (in MAC80211_DEBUG_COUNTERS config entry), and replaces MAC80211_DEBUG_MENU instead of MAC80211_DEBUG (in MAC80211_VERBOSE_SPECT_MGMT_DEBUG config entry). Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit f7a1b86095bf7fd1578ef54067545b9cb7084713 Author: David Howells Date: Tue Jul 8 15:00:54 2008 +0100 Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n So that one of the several config option permutations will build again. Tested-by: Alexander Beregalov Signed-off-by: David Howells Signed-off-by: Jesse Barnes commit 5dfcf14d5b28174f94cbe9b4fb35d415db61c64a Author: Bernhard Walle Date: Fri Jun 27 13:12:55 2008 +0200 x86: use FIRMWARE_MEMMAP on x86/E820 This patch uses the /sys/firmware/memmap interface provided in the last patch on the x86 architecture when E820 is used. The patch copies the E820 memory map very early, and registers the E820 map afterwards via firmware_map_add_early(). Signed-off-by: Bernhard Walle Acked-by: Greg KH Acked-by: Vivek Goyal Cc: kexec@lists.infradead.org Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 69ac9cd629ca96e59f34eb4ccd12d00b2c8276a7 Author: Bernhard Walle Date: Fri Jun 27 13:12:54 2008 +0200 sysfs: add /sys/firmware/memmap This patch adds /sys/firmware/memmap interface that represents the BIOS (or Firmware) provided memory map. The tree looks like: /sys/firmware/memmap/0/start (hex number) end (hex number) type (string) ... /1/start end type With the following shell snippet one can print the memory map in the same form the kernel prints itself when booting on x86 (the E820 map). --------- 8< -------------------------- #!/bin/sh cd /sys/firmware/memmap for dir in * ; do start=$(cat $dir/start) end=$(cat $dir/end) type=$(cat $dir/type) printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type" done --------- >8 -------------------------- That patch only provides the needed interface: 1. The sysfs interface. 2. The structure and enumeration definition. 3. The function firmware_map_add() and firmware_map_add_early() that should be called from architecture code (E820/EFI, for example) to add the contents to the interface. If the kernel is compiled without CONFIG_FIRMWARE_MEMMAP, the interface does nothing without cluttering the architecture-specific code with #ifdef's. The purpose of the new interface is kexec: While /proc/iomem represents the *used* memory map (e.g. modified via kernel parameters like 'memmap' and 'mem'), the /sys/firmware/memmap tree represents the unmodified memory map provided via the firmware. So kexec can: - use the original memory map for rebooting, - use the /proc/iomem for setting up the ELF core headers for kdump case that should only represent the memory of the system. The patch has been tested on i386 and x86_64. Signed-off-by: Bernhard Walle Acked-by: Greg KH Acked-by: Vivek Goyal Cc: kexec@lists.infradead.org Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit f3d1eb19abdcb1e740d8ba0e06d606c1d4165438 Author: Niels de Vos Date: Tue Jul 8 10:30:27 2008 -0400 Input: serio - trivial documentation fix In include/linux/serio.h two different define-series are documented as "Serio types". However the second series contains defines for the different protocols. Signed-off-by: Niels de Vos Signed-off-by: Dmitry Torokhov commit 80fcc9e28cf3a209fbfb39a7bbddc313c59c7424 Author: Adel Gadllah Date: Tue Jul 1 17:49:50 2008 +0200 iwlwifi: remove input device and fix rfkill state This patch fixes the iwlwifi rfkill. It removes the input device from iwl3945, adds support for RFKILL_STATE_HARD_BLOCKED and calls rfkill_force_state() to update the state rather than accessing it directly. The calls to iwl|iwl3945_rfkill_set_hw_state() had to be moved because rfkill_force_state() cannot be called from an atomic context. Tested on iwl3945 and seems to work fine. Cc: Randy Dunlap Cc: Ivo van Doorn Cc: Fabien Crespel Cc: Zhu Yi Cc: Henrique de Moraes Holschuh Signed-off-by: Adel Gadllah Signed-off-by: John W. Linville commit ebd74487d4b7a48ab8513ecfe3d321346d7c602e Author: Tomas Winkler Date: Tue Jul 1 10:44:50 2008 +0300 mac80211: fix warning: unused variable ifsta This patch fixes warning unused variable ifsta when compiling without CONFIG_MAC80211_VERBOSE_DEBUG Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3235427ecb092e4ff86528edd775e759dbeeecff Author: Ron Rindjunsky Date: Tue Jul 1 10:44:51 2008 +0300 iwlwifi: request Tx of block ack request if necessary This patch sets the block ack request flag if needed Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d96a7bc0499d0332cecb0a1d7d7d0d44f9c8cc28 Author: Tomas Winkler Date: Tue Jul 1 14:29:20 2008 +0300 mac80211: remove useless tid assignment for management and control frames This patch removes useless tid assignment for management and control frames Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 429a380571a6e6b8525b93161544eafc9b227e44 Author: Ron Rindjunsky Date: Tue Jul 1 14:16:03 2008 +0300 mac80211: add block ack request capability This patch adds block ack request capability Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b2898a27809f54a33050a70d0eaa4a78194163a0 Author: Ivo van Doorn Date: Tue Jul 1 10:45:13 2008 +0200 mac80211: Don't request encryption for probe response Probe responses shouldn't be encrypted, and mac80211 doesn't set the crypto key accordingly. However it didn't set the IEEE80211_TX_CTL_DO_NOT_ENCRYPT flag which means drivers could make an attempt to encrypt it, and causing a NULL pointer dereference when accessing the provided hw_key field. Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8fa7425c6394117a541de82826d128d6c3d9161b Author: Tomas Winkler Date: Tue Jul 1 10:44:48 2008 +0300 iwlwifi: fix error path of iwl_rfkill_init This patch cleans rfkill error path. The problem was result of removing the input device Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6247943d8ab699b57653afd453a4940cca70ef8a Author: Yinghai Lu Date: Sun Jul 6 11:42:11 2008 -0700 x86: remove acpi_srat config v2 use ACPI_NUMA directly and move srat_32.c to mm/ Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 698839fe04ae11f228074ad45614343c3921a6c6 Author: Yinghai Lu Date: Sun Jul 6 11:42:11 2008 -0700 x86: remove have_arch_parse_srat -v2 we already have the same srat handling interface for 32bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a05fe0389b72f43b9e29d6fbfc5885084be2f96f Author: Stephen Rothwell Date: Tue Jul 8 22:15:40 2008 +1000 stacktrace: fix build failure on sparc64 Today's linux-next build (spac64 allmodconfig) failed like this: arch/sparc64/kernel/stacktrace.c:50: warning: type defaults to `int' in declaration of `EXPORT_SYMBOL_GPL' arch/sparc64/kernel/stacktrace.c:50: warning: parameter names (without types) in function declaration arch/sparc64/kernel/stacktrace.c:50: warning: data definition has no type or storage class Signed-off-by: Stephen Rothwell Cc: "David S. Miller" Signed-off-by: Ingo Molnar commit a29d1cfe9e9337aedeed505afddc8465ac709b87 Author: Ingo Molnar Date: Mon Jun 2 13:19:08 2008 +0200 printk: export console_drivers this symbol is needed by drivers/video/xen-fbfront.ko. [ cherry-picked from tip/core/printk ] Signed-off-by: Ingo Molnar commit 5a654ba7a88d90483d0f0586297ea9075d755fc8 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:37 2008 -0700 x86/cpa: use an undefined PTE bit for testing CPA Rather than using _PAGE_GLOBAL - which not all CPUs support - to test CPA, use one of the reserved-for-software-use PTE flags instead. This allows CPA testing to work on CPUs which don't support PGD. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ef5e94af16c0c82452e1ea5d387e1203dd2198d6 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:36 2008 -0700 x86_32: remove __PAGE_KERNEL(_EXEC) From: Jeremy Fitzhardinge Older x86-32 processors do not support global mappings (PGD), so must only use it if the processor supports it. The _PAGE_KERNEL* flags always have _PAGE_KERNEL set, since logically we always want it set. This is OK even on processors which do not support PGD, since all _PAGE flags are masked with __supported_pte_mask before being turned into a real in-pagetable pte. On 32-bit systems, __supported_pte_mask is initialized to not contain _PAGE_GLOBAL, and it is then added if the CPU is found to support it. The x86-32 code used to use __PAGE_KERNEL/__PAGE_KERNEL_EXEC for this purpose, but they're now redundant and can be removed. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 8490638cf0fb3975f7636c5268f27d5daf4eaaa5 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:35 2008 -0700 x86: always set _PAGE_GLOBAL in _PAGE_KERNEL* flags Consistently set _PAGE_GLOBAL in _PAGE_KERNEL flags. This makes 32- and 64-bit code consistent, and removes some special cases where __PAGE_KERNEL* did not have _PAGE_GLOBAL set, causing confusion as a result of the inconsistencies. This patch only affects x86-64, which generally always supports PGD. The x86-32 patch is next. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 574977a2edde0148ea365008dceb0c2594d10b11 Author: Jeremy Fitzhardinge Date: Tue Jul 1 16:46:33 2008 -0700 x86_64/setup: unconditionally populate the pgd When allocating a new pud, unconditionally populate the pgd (why did we bother to create a new pud if we weren't going to populate it?). This will only happen if the pgd slot was empty, since any existing pud will be reused. Signed-off-by: Jeremy Fitzhardinge Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit aea5f9f89bae5d5f9eb3fe3cddedbbfb82e6e44f Author: Ingo Molnar Date: Fri Jul 4 12:16:55 2008 +0200 x86: fix "x86: let setup_arch call init_apic_mappings for 32bit" add back this line lost from trap_init(): set_trap_gate(0, ÷_error); Signed-off-by: Ingo Molnar commit 4a7017370aa0a94a00ae5b5705e9169cdcae5fb8 Author: Ingo Molnar Date: Thu Jul 3 15:57:47 2008 +0200 x86: move prefill_possible_map calling early, fix fix: arch/x86/kernel/built-in.o: In function `setup_arch': : undefined reference to `prefill_possible_map' Signed-off-by: Ingo Molnar commit 329513a35d1a2b6b28d54f5c2c0dde4face8200b Author: Yinghai Lu Date: Wed Jul 2 18:54:40 2008 -0700 x86: move prefill_possible_map calling early call it right after we are done with MADT/mptable handling, instead of doing that in setup_per_cpu_areas() later on... this way for_possible_cpu() can be used early. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 5f4765f96eebee6a0adc4009758b597ba48a0a3a Author: Yinghai Lu Date: Wed Jul 2 18:53:44 2008 -0700 x86: move init_cpu_to_node after get_smp_config when acpi=off, cpu_to_apicid is ready after get_smp_config so need to move init_cpu_to_node after it. otherwise, we will get wrong cpu->node mapping, and it will rely on amd_detect_cmp() to correct it - but that is too late as setup_per_cpu_data is already called before that so we will get per_cpu_data on the wrong node. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cb95a13a8ace8612ecab042a838e5aab2ec14ef0 Author: Yinghai Lu Date: Wed Jul 2 00:31:02 2008 -0700 x86: merge zones_sizes_init for numa and non numa on 32-bit move out e820_register_active_regions from non numa zones_sizes_init() and remove numa version zones_sizes_init(). and let 32 bit call remove_all_active_ranges() in setup_arch() directly like 64-bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d9a81b4411d53196c4535c3a1258cb03d945c718 Author: Yinghai Lu Date: Tue Jul 1 20:04:10 2008 -0700 x86: do not printout if we do not find setup_data Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4fcc545a7479135332f511a54611820c9f4208a0 Author: Yinghai Lu Date: Tue Jul 1 20:03:11 2008 -0700 x86: make early_res_to_bootmem print out less 80 width chars Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit dc8e8120ad291074a5fb93cfb0418466c62f6019 Author: Yinghai Lu Date: Tue Jul 1 20:02:16 2008 -0700 x86: change copy_e820_map to append_e820_map so it has a more meaningful name. also change it to static. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 068b453834c4baf4e878481a9bd5103d54f60710 Author: Bernhard Walle Date: Thu Jun 26 21:55:18 2008 +0200 x86: fix documentation bug about relocatability This patch fixes a small bug in documentation: x86_64 also has now the ability to build a relocatable kernel. Signed-off-by: Bernhard Walle Cc: vgoyal@redhat.com Cc: kexec@lists.infradead.org Signed-off-by: Ingo Molnar commit 32105f7fd8faa7bc3d101dcc3eabc0ae1ac375a7 Author: Bernhard Walle Date: Thu Jun 26 21:54:08 2008 +0200 x86: find offset for crashkernel reservation automatically This patch removes the need of the crashkernel=...@offset parameter to define a fixed offset for crashkernel reservation. That feature can be used together with a relocatable kernel where the kexec-tools relocate the kernel and get the actual offset from /proc/iomem. The use case is a kernel where the .text+.data+.bss is after 16M physical memory (debug kernel with lockdep on x86_64 can cause that) which caused a major pain in autoconfiguration in our distribution. Also, that patch unifies crashdump architectures a bit since IA64 has that semantics from the very beginning of the kdump port. Signed-off-by: Bernhard Walle Cc: vgoyal@redhat.com Cc: Bernhard Walle Cc: kexec@lists.infradead.org Signed-off-by: Ingo Molnar commit fd6493e16625b92a506fba13deda31c0be5f1cd4 Author: Alok Kataria Date: Wed Jun 25 11:02:42 2008 -0700 x86: cleanup e820_setup_gap(), v2 e820_search_gap also take a end_addr parameter to limit search from start_addr to end_addr. Signed-off-by: AloK N Kataria Acked-by: Yinghai Lu Cc: "lenb@kernel.org" Signed-off-by: Ingo Molnar commit 6a2f47ca27fad36f99e8478a3807d4b8c7db80e7 Author: Mike Travis Date: Fri Jun 27 10:10:13 2008 -0700 x86: add check for node passed to node_to_cpumask, v3 * When CONFIG_DEBUG_PER_CPU_MAPS is set, the node passed to node_to_cpumask and node_to_cpumask_ptr should be validated. If invalid, then a dump_stack is performed and a zero cpumask is returned. v2: Slightly different version to remove a compiler warning. v3: Redone to reflect moving setup.c -> setup_percpu.c Signed-off-by: Mike Travis Cc: Vegard Nossum Cc: "akpm@linux-foundation.org" Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit cd5dce2fb023a6f0168344b7dd8adec30017458e Author: Jeremy Fitzhardinge Date: Mon Jun 30 16:04:48 2008 -0700 x86: fix CPA self-test for "x86/paravirt: groundwork for 64-bit Xen support" Ingo Molnar wrote: > -tip auto-testing found pagetable corruption (CPA self-test failure): > > [ 32.956015] CPA self-test: > [ 32.958822] 4k 2048 large 508 gb 0 x 2556[ffff880000000000-ffff88003fe00000] miss 0 > [ 32.964000] CPA ffff88001d54e000: bad pte 1d4000e3 > [ 32.968000] CPA ffff88001d54e000: unexpected level 2 > [ 32.972000] CPA ffff880022c5d000: bad pte 22c000e3 > [ 32.976000] CPA ffff880022c5d000: unexpected level 2 > [ 32.980000] CPA ffff8800200ce000: bad pte 200000e3 > [ 32.984000] CPA ffff8800200ce000: unexpected level 2 > [ 32.988000] CPA ffff8800210f0000: bad pte 210000e3 > > config and full log can be found at: > > http://redhat.com/~mingo/misc/config-Mon_Jun_30_11_11_51_CEST_2008.bad > http://redhat.com/~mingo/misc/log-Mon_Jun_30_11_11_51_CEST_2008.bad Phew. OK, I've worked this out. Short version is that's it's a false alarm, and there was no real failure here. Long version: * I changed the code to create the physical mapping pagetables to reuse any existing mapping rather than replace it. Specifically, reusing an pud pointed to by the pgd caused this symptom to appear. * The specific PUD being reused is the one created statically in head_64.S, which creates an initial 1GB mapping. * That mapping doesn't have _PAGE_GLOBAL set on it, due to the inconsistency between __PAGE_* and PAGE_*. * The CPA test attempts to clear _PAGE_GLOBAL, and then checks to see that the resulting range is 1) shattered into 4k pages, and 2) has no _PAGE_GLOBAL. * However, since it didn't have _PAGE_GLOBAL on that range to start with, change_page_attr_clear() had nothing to do, and didn't bother shattering the range, * resulting in the reported messages The simple fix is to set _PAGE_GLOBAL in level2_ident_pgt. An additional fix to make CPA testing more robust by using some other pagetable bit (one of the unused available-to-software ones). This would solve spurious CPA test warnings under Xen which uses _PAGE_GLOBAL for its own purposes (ie, not under guest control). Also, we should revisit the use of _PAGE_GLOBAL in asm-x86/pgtable.h, and use it consistently, and drop MAKE_GLOBAL. The first time I proposed it it caused breakages in the very early CPA code; with luck that's all fixed now. Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Cc: Mark McLoughlin Cc: xen-devel Cc: Eduardo Habkost Cc: Vegard Nossum Cc: Stephen Tweedie Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 996cf4438f9ed711c98a3cb5ab88f842a4102427 Author: Yinghai Lu Date: Mon Jun 30 18:34:58 2008 -0700 x86: don't reallocate pgt for node0 kva ram already mapped right after away, so don't need to get that for low ram. avoid wasting one copy of pgdat. also add node id in early_res name in case we get it from find_e820_area. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 28bb22379513ca3cac9d13766064a219c5fc21a9 Author: Yinghai Lu Date: Mon Jun 30 16:20:54 2008 -0700 x86: move reserve_setup_data to setup.c Ying Huang would like setup_data to be reserved, but not included in the no save range. Here we try to modify the e820 table to reserve that range early. also add that in early_res in case bootloader messes up with the ramdisk. other solution would be 1. add early_res_to_highmem... 2. early_res_to_e820... but they could reserve another type memory wrongly, if early_res has some resource reserved early, and not needed later, but it is not removed from early_res in time. Like the RAMDISK (already handled). Signed-off-by: Yinghai Lu Cc: andi@firstfloor.org Tested-by: Huang, Ying Signed-off-by: Ingo Molnar commit 102d0a4b56d94e9b7eedfdfb488400271235543f Author: Jeremy Fitzhardinge Date: Mon Jun 30 11:10:53 2008 -0700 x86, paravirt, 64-bit: fix compile errors with IA32_EMULATION off Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3ae960a598b9dfe87b29eb70738d91a13e692498 Author: Ingo Molnar Date: Mon Jun 30 10:33:47 2008 +0200 - x86: move early_ioremap prototypes to io.h now that the early-ioremap code is unified, move the prototypes too from io_32.h to io.h. this fixes: arch/x86/kernel/setup.c:531: error: implicit declaration of function ‘early_ioremap_init' on 64-bit. Signed-off-by: Ingo Molnar commit 1a98fd14f44cfade4af3e6ed96ba55065fa17ee4 Author: Jeremy Fitzhardinge Date: Sun Jun 29 20:02:44 2008 -0700 x86: setup_arch() && early_ioremap_init() Looks like the setup.c unification missed the early_ioremap init from the early_ioremap unification. Unconditionally call early_ioremap_init(). needed for "x86/paravirt: groundwork for 64-bit Xen support". Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Cc: Mark McLoughlin Cc: xen-devel Cc: Eduardo Habkost Cc: Vegard Nossum Cc: Stephen Tweedie Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 1bb3a029078d437aa05bda8a8c8f8ecb1265e231 Author: Ingo Molnar Date: Mon Jun 30 08:47:42 2008 +0200 x86: nmi_watchdog - documentation fix - v2 typo fixes from Randy Dunlap and Alan Cox. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit afda335dc3872ca122842e26720ac6e6ef287aa2 Author: Cyrill Gorcunov Date: Fri Jun 27 19:43:40 2008 +0400 x86: nmi_watchdog - documentation fix nmi_watchdog is set to NMI_NONE by default (ie disabled) on _any_ mode so lets fix documentation too. Signed-off-by: Cyrill Gorcunov Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 914bebfad42c417b84bda8920a3073d236007fde Author: Yinghai Lu Date: Sun Jun 29 00:06:37 2008 -0700 x86: use disable_apic in 32bit change the enable_local_apic to static force_enable_local_apic for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a04ad82d0bff4bb564f290eb50982e02458592d9 Author: Yinghai Lu Date: Sun Jun 29 00:39:06 2008 -0700 x86: fix init_memory_mapping over boundary, v4 use PMD_SHIFT to calculate boundary also adjust size for pre-allocated table size Signed-off-by: Yinghai Lu Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b4df32f4aeef8794d0135fc8dc250acb44cfee60 Author: Yinghai Lu Date: Sat Jun 28 17:49:59 2008 -0700 x86: fix warning in e820_reserve_resources with 32bit when 64bit resource is not enabled, we get: arch/x86/kernel/e820.c: In function ‘e820_reserve_resources’: arch/x86/kernel/e820.c:1217: warning: comparison is always false due to limited range of data type because res->start/end is resource_t aka u32. it will overflow. fix it with temp end of u64 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7482b0e962e128c5b574aa29761f97164189ef14 Author: Yinghai Lu Date: Sat Jun 28 03:30:39 2008 -0700 x86: fix init_memory_mapping over boundary v3 some ram-end boundary only has page alignment, instead of 2M alignment. v2: make init_memory_mapping more solid: start could be any value other than 0 v3: fix NON PAE by handling left over in kernel_physical_mapping Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit df366e9822beca97115ba9745cbe1ea1f26fb111 Author: Jeremy Fitzhardinge Date: Fri Jun 27 12:04:03 2008 -0700 x86_64: fix non-paravirt compilation Make sure SWAPGS and PARAVIRT_ADJUST_EXCEPTION_FRAME are properly defined when CONFIG_PARAVIRT is off. Fixes Ingo's build failure: arch/x86/kernel/entry_64.S: Assembler messages: arch/x86/kernel/entry_64.S:1201: Error: invalid character '_' in mnemonic arch/x86/kernel/entry_64.S:1205: Error: invalid character '_' in mnemonic arch/x86/kernel/entry_64.S:1209: Error: invalid character '_' in mnemonic arch/x86/kernel/entry_64.S:1213: Error: invalid character '_' in mnemonic Signed-off-by: Jeremy Fitzhardinge Cc: Nick Piggin Cc: Mark McLoughlin Cc: xen-devel Cc: Eduardo Habkost Cc: Vegard Nossum Cc: Stephen Tweedie Signed-off-by: Ingo Molnar commit f3294a33e765d8308c3e17b951a13e0db9cf5f00 Author: Yinghai Lu Date: Fri Jun 27 01:41:56 2008 -0700 x86: let setup_arch call init_apic_mappings for 32bit instead of calling it from trap_init() also move init ioapic mapping out of apic_32.c so 32 bit do same as 64 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ab67715c7201be2fe729888a09007b6ba5bb2326 Author: Yinghai Lu Date: Fri Jun 27 15:36:54 2008 -0700 x86: early res print out alignment v2 v2: fix print info to cont Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 22b45144f67dbaf0705992dc1462de2813fb83a1 Author: Jeremy Fitzhardinge Date: Thu Jun 26 12:02:49 2008 -0700 x86/paravirt: groundwork for 64-bit Xen support, fix #2 Ingo Molnar wrote: > that fixed the build but now we've got a boot crash with this config: > > time.c: Detected 2010.304 MHz processor. > spurious 8259A interrupt: IRQ7. > BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 > IP: [<0000000000000000>] > PGD 0 > Thread overran stack, or stack corrupted > Oops: 0010 [1] SMP > CPU 0 > I don't know if this will fix this bug, but it's definitely a bugfix. It was trashing random pages by overwriting them with pagetables... Don't trash a large pmd's data when mapping physical memory. This is a bugfix for "x86_64: adjust mapping of physical pagetables to work with Xen". Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Cc: Vegard Nossum Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 457da70ec09ca78e8fda5d5ab3659248f844a376 Author: Jeremy Fitzhardinge Date: Thu Jun 26 07:28:51 2008 -0700 x86/paravirt: groundwork for 64-bit Xen support, fix Ingo Molnar wrote: > * Jeremy Fitzhardinge wrote: > > >>> It quickly broke the build in testing: >>> >>> include/asm/pgalloc.h: In function ‘paravirt_pgd_free': >>> include/asm/pgalloc.h:14: error: parameter name omitted >>> arch/x86/kernel/entry_64.S: In file included from >>> arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function >>> ‘paravirt_pgd_free': >>> include/asm/pgalloc.h:14: error: parameter name omitted >>> >>> >> No, looks like my fault. The non-PARAVIRT version of >> paravirt_pgd_free() is: >> >> static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *) {} >> >> but C doesn't like missing parameter names, even if unused. >> >> This should fix it: >> > > that fixed the build but now we've got a boot crash with this config: > > time.c: Detected 2010.304 MHz processor. > spurious 8259A interrupt: IRQ7. > BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 > IP: [<0000000000000000>] > PGD 0 > Thread overran stack, or stack corrupted > Oops: 0010 [1] SMP > CPU 0 > > with: > > http://redhat.com/~mingo/misc/config-Thu_Jun_26_12_46_46_CEST_2008.bad > Use SWAPGS_UNSAFE_STACK in ia32entry.S in the places where the active stack is the usermode stack. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Cc: Vegard Nossum Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit e7b3789524eecc96213dd69d6686efd429235051 Author: Yinghai Lu Date: Wed Jun 25 21:51:28 2008 -0700 x86: move fix mapping page table range early do that in init_memory_mapping also remove one init_ohci1394_dma_on_all_controllers Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 042623bbabae168246ad8a37693f0ecb6c450aea Author: Yinghai Lu Date: Wed Jun 25 19:52:15 2008 -0700 x86: clean up ARCH_SETUP asm-x86/paravirt.h already have protection with CONFIG_PARAVIRT inside Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 611dfd7819e525b45f39ff15e0faf5f23551c113 Author: Bernhard Walle Date: Wed Jun 25 21:39:16 2008 +0200 x86: limit E820 map when a user-defined memory map is specified This patch brings back limiting of the E820 map when a user-defined E820 map is specified. While the behaviour of i386 (32 bit) was to limit the E820 map (and /proc/iomem), the behaviour of x86-64 (64 bit) was not to limit. That patch limits the E820 map again for both x86 architectures. Code was tested for compilation and booting on a 32 bit and 64 bit system. Signed-off-by: Bernhard Walle Acked-by: Yinghai Lu Cc: kexec@lists.infradead.org Cc: vgoyal@redhat.com Cc: Bernhard Walle Signed-off-by: Ingo Molnar commit 8207c2570af6f819b61be9ef3fb298d0a8c0e18c Author: Jeremy Fitzhardinge Date: Tue Jun 24 17:32:48 2008 -0400 x86: fix pte allocation in "x86: introduce init_memory_mapping for 32bit" The patch "x86: introduce init_memory_mapping for 32bit" does not allocate enough space for PTEs if the CPU does not implement PSE. Signed-off-by: Jeremy Fitzhardinge Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9f9d489a3e78b49d897734eaaf9dea568dbea66e Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:32 2008 -0400 x86/paravirt, 64-bit: make load_gs_index() a paravirt operation Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit fab58420ac0007a452b540cfb07923225ea4f48d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:31 2008 -0400 x86/paravirt, 64-bit: add adjust_exception_frame 64-bit Xen pushes a couple of extra words onto an exception frame. Add a hook to deal with them. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a00394f81f419beb6fb9f7023bd4d15913dc625d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:30 2008 -0400 x86, 64-bit: swapgs pvop with a user-stack can never be called It's never safe to call a swapgs pvop when the user stack is current - it must be inline replaced. Rather than making a call, the SWAPGS_UNSAFE_STACK pvop always just puts "swapgs" as a placeholder, which must either be replaced inline or trap'n'emulated (somehow). Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 6680415481c7bd38967cf7488787f509f17ba307 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:29 2008 -0400 x86, 64-bit: ia32entry: replace privileged instructions with pvops Replace privileged instructions with the corresponding pvops in ia32entry.S. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 2be29982a08009c731307f4a39053b70ac4700da Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:28 2008 -0400 x86/paravirt: add sysret/sysexit pvops for returning to 32-bit compatibility userspace In a 64-bit system, we need separate sysret/sysexit operations to return to a 32-bit userspace. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit c7245da6ae7e5208504ff027c4e0eec69b788651 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:27 2008 -0400 x86/paravirt, 64-bit: don't restore user rsp within sysret There's no need to combine restoring the user rsp within the sysret pvop, so split it out. This makes the pvop's semantics closer to the machine instruction. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d75cd22fdd5f7d203fb60014d426942df33dd9a6 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:26 2008 -0400 x86/paravirt: split sysret and sysexit Don't conflate sysret and sysexit; they're different instructions with different semantics, and may be in use at the same time (at least within the same kernel, depending on whether its an Intel or AMD system). sysexit - just return to userspace, does no register restoration of any kind; must explicitly atomically enable interrupts. sysret - reloads flags from r11, so no need to explicitly enable interrupts on 64-bit, responsible for restoring usermode %gs Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit e04e0a630d8b5c621b3a8e70ff20db737d3a5728 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:25 2008 -0400 x86: use __KERNEL_DS as SS when returning to a kernel thread This is needed when the kernel is running on RING3, such as under Xen. x86_64 has a weird feature that makes it #GP on iret when SS is a null descriptor. This need to be tested on bare metal to make sure it doesn't cause any problems. AMD specs say SS is always ignored (except on iret?). Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 478de5a9d691dd0c048ddce62dbec23722515636 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:24 2008 -0400 x86: save %fs and %gs before load_TLS() and arch_leave_lazy_cpu_mode() We must do this because load_TLS() may need to clear %fs and %gs. (e.g. under Xen). Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 3fe0a63efd4437f6438ce5f2708929b1108873b6 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:23 2008 -0400 x86, 64-bit: __switch_to(): move arch_leave_lazy_cpu_mode() to the right place We must leave lazy mode before switching the %fs and %gs selectors. Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 0814e0bace537b7024b09187346b99401e6281be Author: Eduardo Habkost Date: Wed Jun 25 00:19:22 2008 -0400 x86, 64-bit: split set_pte_vaddr() We will need to set a pte on l3_user_pgt. Extract set_pte_vaddr_pud() from set_pte_vaddr(), that will accept the l3 page table as parameter. This change should be a no-op for existing code. Signed-off-by: Eduardo Habkost Signed-off-by: Mark McLoughlin Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4f30cb0262847392d8d006042f24bd90abd24f9d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:21 2008 -0400 x86, 64-bit: PSE no longer a hard requirement Because Xen doesn't support PSE mappings in guests, all code which assumed the presence of PSE has been changed to fall back to smaller mappings if necessary. As a result, PSE is optional rather than required (though still used whereever possible). Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 7c934d3990aa4d785feddcef700f4c2c4aba2251 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:20 2008 -0400 x86, 64-bit: create small vmemmap mappings if PSE not available If PSE is not available, then fall back to 4k page mappings for the vmemmap area. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4f9c11dd49fb73e1ec088b27ed6539681a445988 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:19 2008 -0400 x86, 64-bit: adjust mapping of physical pagetables to work with Xen This makes a few of changes to the construction of the initial pagetables to work better with paravirt_ops/Xen. The main areas are: 1. Support non-PSE mapping of memory, since Xen doesn't currently allow 2M pages to be mapped in guests. 2. Make sure that the ioremap alias of all pages are dropped before attaching the new page to the pagetable. This avoids having writable aliases of pagetable pages. 3. Preserve existing pagetable entries, rather than overwriting. Its possible that a fair amount of pagetable has already been constructed, so reuse what's already in place rather than ignoring and overwriting it. The algorithm relies on the invariant that any page which is part of the kernel pagetable is itself mapped in the linear memory area. This way, it can avoid using ioremap on a pagetable page. The invariant holds because it maps memory from low to high addresses, and also allocates memory from low to high. Each allocated page can map at least 2M of address space, so the mapped area will always progress much faster than the allocated area. It relies on the early boot code mapping enough pages to get started. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit f97013fd8f17120182aa247f360e4d2069a9db9c Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:18 2008 -0400 x86, 64-bit: split x86_64_start_kernel Split x86_64_start_kernel() into two pieces: The first essentially cleans up after head_64.S. It clears the bss, zaps low identity mappings, sets up some early exception handlers. The second part preserves the boot data, reserves the kernel's text/data/bss, pagetables and ramdisk, and then starts the kernel proper. This split is so that Xen can call the second part to do the set up it needs done. It doesn't need any of the first part setups, because it doesn't boot via head_64.S, and its redundant or actively damaging. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 408011759cc8ff7f89505e8398cec0ccf67b5afa Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:17 2008 -0400 x86, 64-bit: add FIX_PARAVIRT_BOOTMAP fixmap slot This matches 32 bit. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit a6523748bddd38bcec11431f57502090b6014a96 Author: Eduardo Habkost Date: Wed Jun 25 00:19:16 2008 -0400 paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor Set __PAGE_OFFSET to the most negative possible address + 16*PGDIR_SIZE. The gap is to allow a space for a hypervisor to fit. The gap is more or less arbitrary, but it's what Xen needs. When booting native, kernel/head_64.S has a set of compile-time generated pagetables used at boot time. This patch removes their absolutely hard-coded layout, and makes it parameterised on __PAGE_OFFSET (and __START_KERNEL_map). Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 491eccb721c2ee67250273a96e4515fb5b423337 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:15 2008 -0400 x86/paravirt: define PARA_INDIRECT for indirect asm calls On 32-bit it's best to use a %cs: prefix to access memory where the other segments may not bet set up properly yet. On 64-bit it's best to use a rip-relative addressing mode. Define PARA_INDIRECT() to abstract this and generate the proper addressing mode in each case. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 97349135fea7f0ba8464534433df3bfd1dc0e9a6 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:14 2008 -0400 x86/paravirt: add debugging for missing operations Rather than just jumping to 0 when there's a missing operation, raise a BUG. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d8d5900ef8afc562088f8470feeaf17c4747790f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:13 2008 -0400 x86: preallocate and prepopulate separately Jan Beulich points out that vmalloc_sync_all() assumes that the kernel's pmd is always expected to be present in the pgd. The current pgd construction code will add the pgd to the pgd_list before its pmds have been pre-populated, thereby making it visible to vmalloc_sync_all(). However, because pgd_prepopulate_pmd also does the allocation, it may block and cannot be done under spinlock. The solution is to preallocate the pmds out of the spinlock, then populate them while holding the pgd_list lock. This patch also pulls the pmd preallocation and mop-up functions out to be common, assuming that the compiler will generate no code for them when PREALLOCTED_PMDS is 0. Also, there's no need for pgd_ctor to clear the pgd again, since it's allocated as a zeroed page. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar Cc: Jan Beulich Signed-off-by: Ingo Molnar commit eba0045ff87bab465d3c80c289f3bf709c1800f5 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:12 2008 -0400 x86/paravirt: add a pgd_alloc/free hooks Add hooks which are called at pgd_alloc/free time. The pgd_alloc hook may return an error code, which if non-zero, causes the pgd allocation to be failed. The hooks may be used to allocate/free auxillary per-pgd information. also fix: > * Ingo Molnar wrote: > > include/asm/pgalloc.h: In function ‘paravirt_pgd_free': > include/asm/pgalloc.h:14: error: parameter name omitted > arch/x86/kernel/entry_64.S: In file included from > arch/x86/kernel/traps_64.c:51:include/asm/pgalloc.h: In function ‘paravirt_pgd_free': > include/asm/pgalloc.h:14: error: parameter name omitted Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 67350a5c4514c280665cdb45439d32a008a264ba Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:11 2008 -0400 x86: simplify vmalloc_sync_all vmalloc_sync_all() is only called from register_die_notifier and alloc_vm_area. Neither is on any performance-critical paths, so vmalloc_sync_all() itself is not on any hot paths. Given that the optimisations in vmalloc_sync_all add a fair amount of code and complexity, and are fairly hard to evaluate for correctness, it's better to just remove them to simplify the code rather than worry about its absolute performance. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 15878c0b21b7b04a08108e9027ebbbd68a2502e0 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:10 2008 -0400 x86, 64-bit: add sync_cmpxchg Add sync_cmpxchg to match 32-bit's sync_cmpxchg. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 102e3b8d3f3d5556c60f9ab6d92108649b68edc8 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:09 2008 -0400 x86, 64-bit: add prototype for x86_64_start_kernel() Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 330ddd20894f99a2b956ad59cf0cfdba188bde63 Author: Ingo Molnar Date: Thu Jun 26 12:40:35 2008 +0200 x86: build fix fix: In file included from arch/x86/kernel/setup.c:118: include/asm/highmem.h:64: error: expected identifier or ‘(' before ‘do' include/asm/highmem.h:64: error: expected identifier or ‘(' before ‘while' include/asm/highmem.h:67: error: expected identifier or ‘(' before ‘do' include/asm/highmem.h:67: error: expected identifier or ‘(' before ‘while' Signed-off-by: Ingo Molnar commit 3442682a54a9f44047efe526869aa52bd74fe16e Author: Ingo Molnar Date: Thu Jun 26 12:29:29 2008 +0200 x86: remove extra newline from setup.c Signed-off-by: Ingo Molnar commit 5092301c7250d7459b79fe40dae43eca3b518e92 Author: Yinghai Lu Date: Wed Jun 25 18:02:06 2008 -0700 x86: we only have init_pg_tables_end for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 29f784e369a914b5926e01a0b0caae0b47f6452a Author: Yinghai Lu Date: Wed Jun 25 18:00:22 2008 -0700 x86: change some functions in setup.c to static Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d1b20afec356085a202d7832d47bfb89303ea901 Author: Yinghai Lu Date: Wed Jun 25 17:59:41 2008 -0700 x86: make x86_find_smp_config depends on 64 bit too Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0196bcbb150786d54a50e3074013020570a59d31 Author: Yinghai Lu Date: Wed Jun 25 17:58:55 2008 -0700 x86: move parse elfvorehdr back to setup.c Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit bdba0e700c86fa2f152b1fe37b001c9e9c65d2b7 Author: Yinghai Lu Date: Wed Jun 25 17:58:02 2008 -0700 x86: move reserve_standard_io_resources back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ccb4defa71744f086822950d8fa64a17c4e6eb04 Author: Yinghai Lu Date: Wed Jun 25 17:57:13 2008 -0700 x86: move back crashkernel back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 257b0fde99df0160db03e529dbfb3a4e46c07a88 Author: Yinghai Lu Date: Wed Jun 25 17:56:22 2008 -0700 x86: move parse_setup_data back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 217b8ce89088dd47e7176686ff34573f75a624e9 Author: Yinghai Lu Date: Wed Jun 25 17:55:20 2008 -0700 x86: move boot_params back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 55f262391a2365d657a00ed68edd1a51bca66af5 Author: Yinghai Lu Date: Wed Jun 25 17:54:23 2008 -0700 x86: rename setup_32.c to setup.c and let 64 bit use that instead of setup_64.c [ mingo@elte.hu ] x86: build fix fix: arch/x86/kernel/setup.c: In function ‘setup_arch': arch/x86/kernel/setup.c:561: error: implicit declaration of function ‘efi_reserve_early' and: arch/x86/kernel/setup.c:766: error: implicit declaration of function 'init_cpu_to_node' and: arch/x86/kernel/setup.c:676: warning: operation on 'max_pfn_mapped' may be undefined Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f2f865fe6e6e40ddf37f887eb427263d83bb925d Author: Yinghai Lu Date: Wed Jun 25 17:53:22 2008 -0700 x86: space to tab in setup_arch Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 76934ed4b33b65096296d3e7b3c046fd020019fc Author: Yinghai Lu Date: Wed Jun 25 17:52:35 2008 -0700 x86: merge 64bit setup_arch into setup_32 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 46d671b525102ae005dc5e8389ca67c86ae012b1 Author: Yinghai Lu Date: Wed Jun 25 17:51:29 2008 -0700 x86: add extra includes for 64bit support Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7dea23ecd17db6e42e19499db70d2fcfa5ca1ee2 Author: Yinghai Lu Date: Wed Jun 25 17:50:06 2008 -0700 x86: put global variable for 32bit all together those variables are not needed by 64 bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit eb1379cb296f5aee348c2e04317d911bb84d9184 Author: Yinghai Lu Date: Wed Jun 25 17:49:26 2008 -0700 x86: update reserve_initrd to support 64bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 08afc7c0dd8ecb04c7a6fe367102e410a74abbe6 Author: Yinghai Lu Date: Wed Jun 25 17:48:23 2008 -0700 x86: we can use full bootmem after have init_memory_mapping So remove outdated comments Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 378b39a4f91ab0846eb6e13d47ea812bc82b44d9 Author: Yinghai Lu Date: Wed Jun 25 17:48:14 2008 -0700 x86: rename setup.c to setup_percpu.c some functions need to be moved to setup_numa.c after we merge setup32/64.c, some funcs need to be moved back to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b9d19f4a51447930db002409945ad40a7a373cb0 Author: Yinghai Lu Date: Thu Jun 26 00:44:56 2008 -0700 x86: fix memory setup bug interesting... [ 0.000000] mapped low ram: 0 - 20000000 [ 0.000000] low ram: 00000000 - 1fff0000 [ 0.000000] bootmap 00002000 - 00006000 max_pfn_mapped > max_low_pfn? it seems init_memory_mapping reveals an old bug. please check attached test patch. Signed-off-by: Ingo Molnar commit 383bc5cecc2ed0b8f44a25488660b03030425ef7 Author: Bernhard Walle Date: Thu Jun 26 09:23:21 2008 +0200 x86, crashdump, /proc/vmcore: remove CONFIG_EXPERIMENTAL from kdump I would suggest to remove the "experimental" status from Kdump. Kdump is now in the kernel since a long time and used by Enterprise distributions. I don't think that "experimental" is true any more. Signed-off-by: Bernhard Walle Cc: vgoyal@redhat.com Cc: kexec@lists.infradead.org Cc: Bernhard Walle Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit 200001eb140ea33477965f2050bea0dac801974b Author: Paul Jackson Date: Wed Jun 25 05:44:46 2008 -0700 x86 boot: only pick up additional EFI memmap if add_efi_memmap flag Applies on top of the previous patch: x86 boot: add code to add BIOS provided EFI memory entries to kernel Instead of always adding EFI memory map entries (if present) to the memory map after initially finding either E820 BIOS memory map entries and/or kernel command line memmap entries, -instead- only add such additional EFI memory map entries if the kernel boot option: add_efi_memmap is specified. Requiring this 'add_efi_memmap' option is backward compatible with kernels that didn't load such additional EFI memory map entries in the first place, and it doesn't override a configuration that tries to replace all E820 or EFI BIOS memory map entries with ones given entirely on the kernel command line. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 5dab8ec139be215fbaba216fb4aea914d0f4dac5 Author: Paul Jackson Date: Wed Jun 25 05:44:40 2008 -0700 mm, generic, x86 boot: more tweaks to hex prints of some pfn addresses Fix some problems with (and applies on top of) a previous patch: x86 boot: show pfn addresses in hex not decimal in some kernel info printks Primarily change "0x%8lx" format, which displays with a right aligned space filled hex number (spaces between the "0x" prefix and the number), into "%0#10lx" format, which zero fills instead of space fills, and which uses the printf flag '#' to request the "0x" prefix instead of hard coding it. Also replace some other "0x%lx" formats with "%#lx", making use of the '#' printf flag again. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 3381959da5a00ae8289cfbd28b0b6d228f2d1d46 Author: Alok Kataria Date: Tue Jun 24 11:48:30 2008 -0700 x86: cleanup e820_setup_gap(), add e820_search_gap(), v2 This is a preparatory patch for the next patch in series. Moves some code from e820_setup_gap to a new function e820_search_gap. This patch is a part of a bug fix where we walk the ACPI table to calculate a gap for PCI optional devices. v1->v2: Patch on top of tip/master. Fixes a bug introduced in the last patch about the typeof "last". Also the new function e820_search_gap now returns if we found a gap in e820_map. Signed-off-by: Alok N Kataria Cc: lenb@kernel.org Signed-off-by: Ingo Molnar commit c987d12f8455b19b3b057d63bac3de161bd809fc Author: Yinghai Lu Date: Tue Jun 24 22:14:09 2008 -0700 x86: remove end_pfn in 64bit and use max_pfn directly. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f47f9d538ecc938bed589e9d39ad7b454f3b506c Author: Yinghai Lu Date: Tue Jun 24 22:13:15 2008 -0700 x86: numa 32 using apicid_2_node to get node for logical_apicid Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 232b957ae93973a5f8619ef61b916744b747478c Author: Yinghai Lu Date: Tue Jun 24 14:58:38 2008 -0700 x86: change size if e820_update/remove_range in case someone using crazy parameter while calling them. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d86623a0d55a14e7295e8ca1bd258e0c7f8dcb31 Author: Yinghai Lu Date: Tue Jun 24 14:57:29 2008 -0700 x86: add table_top check for alloc_low_page in 64 bit that range is from find_e820_area, so don't try to use end_pfn to see if out of boundary...use table_top instead to avoid possible strange result while cross the boundary... also change early_printk to printk, because init_memory_mapping is after early param parsing, and console=uart8250 already working at that time. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1a0db38e5fa50eeb885194b1f4e494d4de55b918 Author: Yinghai Lu Date: Tue Jun 24 14:56:20 2008 -0700 x86: get max_pfn_mapped in init_memory_mapping so don't shift that in the loop Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 976dd4dc99c3eaf45e3802ed46e3cc06a1ad8689 Author: Yinghai Lu Date: Tue Jun 24 14:55:32 2008 -0700 x86: fix e820_update_range size when overlapping before that we relay on sanitize_e820_map to remove the overlap. but e820_update_range(,,E820_RESERVED, E820_RAM) will not work this patch fix that who is going to use this? Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3a58a2a6c879b2e47daafd6e641661c50ac9da5a Author: Yinghai Lu Date: Tue Jun 24 12:19:41 2008 -0700 x86: introduce init_memory_mapping for 32bit #3 move kva related early backto initmem_init for numa32 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cfb0e53b05402f1ce65053677409a819c1798d34 Author: Yinghai Lu Date: Tue Jun 24 12:18:58 2008 -0700 x86: introduce init_memory_mapping for 32bit #2 moving relocate_initrd early Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4e29684c40f2a332ba4d05f6482d5807725d5624 Author: Yinghai Lu Date: Tue Jun 24 12:18:14 2008 -0700 x86: introduce init_memory_mapping for 32bit #1 ... so can we use mem below max_low_pfn earlier. this allows us to move several functions more early instead of waiting to after paging_init. That includes moving relocate_initrd() earlier in the bootup, and kva related early setup done in initmem_init. (in followup patches) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c3c2fee38462fa34b90e0a5427c7fc564bb5c96c Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:07 2008 -0400 x86: unify mmu_context.h Some amount of asm-x86/mmu_context.h can be unified, including activate_mm paravirt hook. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit fb15a9b3047a245a30a51696e4d8e29b1175a598 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:06 2008 -0400 x86: unify pgd_index pgd_index is common for 32 and 64-bit, so move it to a common place. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit e7a9b0b3c32aa13f4c766eb6a4e7038260718d4c Author: Eduardo Habkost Date: Wed Jun 25 00:19:05 2008 -0400 x86, 64-bit: use __pgd() on mk_kernel_pgd() Use __pgd() on mk_kernel_pgd() Signed-off-by: Eduardo Habkost Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 43adfc26dea171558f944adbc9adecddf2d4602f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:04 2008 -0400 x86, 64-bit: add gate_offset() and gate_segment() macros For calculating the offset from struct gate_struct fields. [ gate_offset and gate_segment were broken for 32-bit. ] Signed-off-by: Eduardo Habkost Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4583ed514ea9ac844a6eb02d33120beaedf6837f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:03 2008 -0400 x86, 64-bit: unify early_ioremap The 32-bit early_ioremap will work equally well for 64-bit, so just use it. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit bb23e403e5162765dabe3dc78646724753d6359b Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:02 2008 -0400 x86, 64-bit: use p??_populate() to attach pages to pagetable Use the _populate() functions to attach new pages to a pagetable, to make sure the right paravirt_ops calls get called. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit fc8b8a60ffa7c89da58c75109dacf0b2798c7caf Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:01 2008 -0400 x86, 64-bit: use write_gdt_entry in vsyscall_set_cpu Use write_gdt_entry to generate the special vgetcpu descriptor in the vsyscall page. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit ada857082317e6883cfcf7deb4e0c54d3c447cb0 Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:19:00 2008 -0400 x86: remove open-coded save/load segment operations This removes a pile of buggy open-coded implementations of savesegment and loadsegment. (They are buggy because they don't have memory barriers to prevent them from being reordered with respect to memory accesses.) Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit af2b1c609ff52b6469d8e67696db98c93c348b0e Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:18:59 2008 -0400 x86: add memory barriers to wrmsr wrmsr is a special instruction which can have arbitrary system-wide effects. We don't want the compiler to reorder it with respect to memory operations, so make it a memory barrier. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit d338c73c39a6ed0d07fe3bb07c7f12fff0dd237d Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:18:58 2008 -0400 x86: add memory clobber to save/loadsegment Add "memory" clobbers to savesegment and loadsegment, since they can affect memory accesses and we never want the compiler to reorder them with respect to memory references. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit bea41808efdd8815435376209f23f406f8bf435f Author: Jeremy Fitzhardinge Date: Wed Jun 25 00:18:57 2008 -0400 x86: asm-x86/pgtable.h: fix compiler warning Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: Stephen Tweedie Cc: Eduardo Habkost Cc: Mark McLoughlin Signed-off-by: Ingo Molnar commit 4de0043617f949fdac538fd59335e2150cd1b863 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:06 2008 +0200 x86: nmi_watchdog - introduce nmi_watchdog_active() helper Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit c376d45432d935e6f1e0ff2d6be3734bcd3ba455 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:05 2008 +0200 x86: nmi_watchdog - use NMI_NONE by default There is no need to keep NMI_DISABLED definition and use it for nmi_watchdog by default. Here is the point why: - IO-APIC and APIC chips are programmed for nmi_watchdog support at very early stage of kernel booting and not having nmi_watchdog specified as boot option lead only to nmi_watchdog becomes to NMI_NONE anyway - enable nmi_watchdog thru /proc/sys/kernel/nmi if it was not specified at boot is not possible too (even having this sysfs entry) Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 2b6addad2d67a2d75ae10a1c8efd18d81d78ff82 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:04 2008 +0200 x86: nmi_watchdog - remove useless check Since nmi_watchdog is unsigned variable we may safely remove the check for negative value. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 116f570e5d8347bee2614da2361eeadbb639ea50 Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:04 2008 +0200 x86: nmi_watchdog - use nmi_watchdog variable for printing Since it is possible NMI_ definitions could be changed one day we better print out real nmi_watchdog value instead of constant string. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 47a486cc110fe77518c79a566b50a5c785c813ae Author: Cyrill Gorcunov Date: Tue Jun 24 22:52:03 2008 +0200 x86: perfctr-watchdog.c - coding style cleanup Just some code beautification. Nothing else. Signed-off-by: Cyrill Gorcunov Cc: macro@linux-mips.org Signed-off-by: Ingo Molnar commit 2bc0d2615a15a93d344abbe8cb1b9056122bce9d Author: Paul Jackson Date: Sun Jun 22 07:22:17 2008 -0700 x86 boot: more consistently use type int for node ids Everywhere I look, node id's are of type 'int', except in this one case, which has 'unsigned long'. Change this one to 'int' as well. There is nothing special about the way this variable 'nid' is used in this routine to justify using an unusual type here. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit e2fc252e0ce695b4c4abe27bb073c35bd0d73252 Author: Paul Jackson Date: Sun Jun 22 07:22:12 2008 -0700 x86 boot: show pfn addresses in hex not decimal in some kernel info printks Page frame numbers (the portion of physical addresses above the low order page offsets) are displayed in several kernel debug and info prints in decimal, not hex. Decimal addresse are unreadable. Use hex. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit c4ba1320b7075e9ce33ad0afaef43ba13260b4c2 Author: Paul Jackson Date: Sun Jun 22 07:22:07 2008 -0700 x86 boot: allow overlapping early reserve memory ranges Add support for overlapping early memory reservations. In general, they still can't overlap, and will panic with "Overlapping early reservations" if they do overlap. But if a memory range is reserved with the new call: reserve_early_overlap_ok() rather than with the usual call: reserve_early() then subsequent early reservations are allowed to overlap. This new reserve_early_overlap_ok() call is only used in one place so far, which is the "BIOS reserved" reservation for the the EBDA region, which out of Paranoia reserves more than what the BIOS might have specified, and which thus might overlap with another legitimate early memory reservation (such as, perhaps, the EFI memmap.) Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 05486fa7e631a3be31a0bbc5a575a389a1609e94 Author: Paul Jackson Date: Sun Jun 22 07:22:02 2008 -0700 x86 boot: x86_64 efi compiler warning fix Fix a compiler warning. Rather than always casting a u32 to a pointer (which generates a warning on x86_64 systems) instead separate the x86_32 and x86_64 assignments entirely with ifdefs. Until other recent changes to this code, it used to have x86_64 separated like this. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 157fabf09594ab064b7ae92c81942af4b94663cb Author: Paul Jackson Date: Sun Jun 22 07:21:57 2008 -0700 x86 boot: e820 code indentation fix Fix indentation. An earlier code merge got the indentation of four lines of code off by a tab. Signed-off-by: Paul Jackson Cc: "Yinghai Lu" Cc: "Jack Steiner" Cc: "Mike Travis" Cc: "Huang Cc: Ying" Cc: "Andi Kleen" Cc: "Andrew Morton" Cc: Paul Jackson Signed-off-by: Ingo Molnar commit 295deae401fc5b6f215e876d93b40f25cb968c88 Author: Yinghai Lu Date: Mon Jun 23 19:55:05 2008 -0700 x86: setup_arch 32bit move kvm_guest_init later Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a2e59302668b9ac2fb2a2c9bca1fc793c5d0409 Author: Yinghai Lu Date: Mon Jun 23 19:54:23 2008 -0700 x86: setup_arch 32bit move command line copying early Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7465252ea0121c9cd28be68dfb86293a7554a111 Author: Yinghai Lu Date: Mon Jun 23 19:53:33 2008 -0700 x86: setup_arch 32bit move efi check later Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 11cd0bc140b5d66566c9eb49c1058737888cd75c Author: Yinghai Lu Date: Mon Jun 23 19:51:10 2008 -0700 x86: move some func calling from setup_arch to paging_init those function depend on paging setup pgtable, so they could access the ram in bootmem region but just get mapped. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c09434571d4b1d8abf530ba4ce28cb868b45f2e5 Author: Yinghai Lu Date: Mon Jun 23 16:41:30 2008 -0700 x86: numa32 pfn print out using hex instead Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6a07a0edacba397205ff97308b22c6b6aab9f791 Author: Yinghai Lu Date: Mon Jun 23 14:02:36 2008 -0700 x86: fix compile warning in init_64.c len is long and ret is only for NUMA Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3eb11edc1321e14a121deeb8b18c177750226eca Author: Ingo Molnar Date: Mon Jun 23 22:19:22 2008 +0200 x86: build fix fix: arch/x86/kernel/setup_32.c:409: error: 'enable_local_apic' undeclared (first use in this function) arch/x86/kernel/setup_32.c:409: error: (Each undeclared identifier is reported only once arch/x86/kernel/setup_32.c:409: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit 346cafecdeb17e1a0457a9e7eca239ef467b678c Author: Yinghai Lu Date: Mon Jun 23 03:06:14 2008 -0700 x86: clean up min_low_pfn for 32bit we already had early_res support, so don't need to track min_low_pfn. keep it to 0 always. also use init_bootmem_node instead of init_bootmem, so don't touch min_low_pfn. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2ec65f8b89ea003c27ff7723525a2ee335a2b393 Author: Yinghai Lu Date: Mon Jun 23 03:05:30 2008 -0700 x86: clean up using max_low_pfn on 32-bit so that max_low_pfn is not changed after it is set. so we can move that early and out of initmem_init. could call find_low_pfn_range just after max_pfn is set. also could move reserve_initrd out of setup_bootmem_allocator so 32bit is more like 64bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit bef1568d9714f1162086c32583ba7984a7ca8e3e Author: Yinghai Lu Date: Sun Jun 22 17:40:10 2008 -0700 x86: move reservetop and vmalloc parsing to pgtable_32.c also change reserve_top_address to __init attibute Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 90d967e0ef68f5312ed4b081d5c9312ff53c1c93 Author: Yinghai Lu Date: Mon Jun 23 21:00:45 2008 +0200 x86: move find_max_low_pfn to init_32.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7f0be02c5ed1deb04c54c6a17f412e04f417df11 Author: Yinghai Lu Date: Sun Jun 22 17:37:54 2008 -0700 x86: move boot_params declaring to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 225c37d71bc8b97eb2063e8eda153b383328b20b Author: Yinghai Lu Date: Sun Jun 22 02:46:58 2008 -0700 x86: introduce reserve_initrd Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b2ac82a0909aea0d2620ba4c189f37c567c21fe5 Author: Yinghai Lu Date: Sun Jun 22 02:45:39 2008 -0700 x86: introduce initmem_init for 32 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1f75d7e32ed47b2ab8570771a2ce8c707a7225a2 Author: Yinghai Lu Date: Sun Jun 22 02:44:49 2008 -0700 x86: introduce initmem_init for 64 bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 17b4cceb1feb2a8865ce47064dd3bd446063a5d5 Author: Yinghai Lu Date: Sat Jun 21 21:02:20 2008 -0700 x86: move elfcorehdr parsing to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ce97c40e28223c148e142bda7af48fd0f27c81f9 Author: Yinghai Lu Date: Sat Jun 21 20:22:09 2008 -0700 x86: move reserve_standard_io_resource to setup.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f81be876eaa9c71b3024c3dc05e4d1bf210cc255 Author: Yinghai Lu Date: Sat Jun 21 19:16:52 2008 -0700 x86: remove two duplicated funcs in setup_32.c early_cpu_init is declared in processor.h memory_setup is defined in e820.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0f0124fa742da7c51e2e3c5ded7f5e5e06ddc195 Author: Yinghai Lu Date: Sat Jun 21 16:25:37 2008 -0700 x86: merge setup64.c into common_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a9c1182fbd349882fe912245d6e03cd30943be2d Author: Yinghai Lu Date: Sat Jun 21 15:39:41 2008 -0700 x86: seperate probe_roms into another file it is only needed for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7a1fd9866cbb59a00006f1e0fd5726951b167c97 Author: Yinghai Lu Date: Sat Jun 21 14:48:05 2008 -0700 x86: add e820_remove_range ... so could add real hole in e820 agp check is using request_mem_region, and could fail if e820 is reserved... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a250347591da3e60b5ee53dd1d341732f081117 Author: Yinghai Lu Date: Sat Jun 21 03:24:00 2008 -0700 x86: change identify_cpu to static Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f580366f77cc4e035a68369105fbeae5bf436b4c Author: Yinghai Lu Date: Sat Jun 21 03:24:19 2008 -0700 x86: seperate funcs from setup_64 to cpu common_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 04606618bb50c4ec754585a82732ea4facfe2bc9 Author: Yinghai Lu Date: Sat Jun 21 01:38:41 2008 -0700 x86: remove some acpi ifdefs in setup_32/64 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ce38cc79964687d3c7e92663bc040552416fca27 Author: Yinghai Lu Date: Sat Jun 21 01:14:27 2008 -0700 x86: clean up init_amd() 1. move out calling of check_enable_amd_mmconf_dmi out of setup_64.c put it into init_amd(), so don't need to make extra dmi check for system with other cpus. 2. 15 --> 0xf Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3c999f142665265afd0fe9190204dd051f17e505 Author: Yinghai Lu Date: Fri Jun 20 16:11:20 2008 -0700 x86: check command line when CONFIG_X86_MPPARSE is not set, v2 if acpi=off, acpi=noirq and pci=noacpi, we need to disable apic. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 88a6846c70ad6bf33a545d554ace801d69e8a1a5 Author: Jeremy Fitzhardinge Date: Mon Jun 16 14:54:51 2008 -0700 xen: set max_pfn_mapped Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit b792c755907cffceab393585b626ef2553c38538 Author: Jeremy Fitzhardinge Date: Mon Jun 16 14:54:49 2008 -0700 xen: reserve ISA space in e820 map [ TODO: release the underlying memory back to Xen. ] Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar Cc: Yinghai Lu Cc: Ian Campbell Signed-off-by: Ingo Molnar commit be5bf9fa1c327fa6fd6e7ba44665437dd558dfe3 Author: Jeremy Fitzhardinge Date: Mon Jun 16 14:54:46 2008 -0700 xen: reserve Xen-specific memory in e820 map Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit d52d53b8a5b258bfaab9223a5e7284fcfdd48577 Author: Yinghai Lu Date: Mon Jun 16 20:10:55 2008 -0700 RFC x86: try to remove arch_get_ram_range want to remove arch_get_ram_range, and use early_node_map instead. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1ea598c29748a559a0086a84a016886d786e6272 Author: Ingo Molnar Date: Fri Jun 13 20:31:54 2008 +0200 x86: fix sleep.c build error fix: arch/x86/kernel/acpi/sleep.c: In function ‘acpi_save_state_mem': arch/x86/kernel/acpi/sleep.c:75: error: ‘stack_start' undeclared (first use in this function) arch/x86/kernel/acpi/sleep.c:75: error: (Each undeclared identifier is reported only once arch/x86/kernel/acpi/sleep.c:75: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit 7f6cbc905ee22c457e0dcd0bba9d4affbc290a6f Author: Glauber Costa Date: Wed Jun 4 23:05:39 2008 -0700 x86: take load_sp0 out of smpboot.c there's no particular reason to do load_sp0 in different places for i386 and x86_64. They should all be in cpu_init. Right now, cpu_init itself is not integrated, but with this patch, the code becomes closer to each other, making in easier to integrate when the time comes. Furthermore, although doing it in do_boot_cpu for x86_64 is fine, since it's only a copy, load_sp0 should be executed in the cpu it refers to anyway. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1481a3dd42c21ac4a8b9497cb9f5df816d6b064f Author: Glauber Costa Date: Wed Jun 4 15:35:03 2008 -0300 x86: move cpu_exit_clear to process_32.c Take it out of smpboot.c, and move it to process_32.c, closer to its only user. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b553a1e0ff48bd66fd18f705370e47c0b4ecea61 Author: Glauber Costa Date: Wed Jun 4 02:05:03 2008 -0300 x86: remove cpu from maps during cpu disable, take cpus out of all maps in i386, instead of just the online map. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 78e622705c69da9649ba87071d8de85054b62df8 Author: Glauber Costa Date: Wed Jun 4 02:03:07 2008 -0300 x86: change naming to match x86_64 Change unmap_cpu_to_logical_apicid to numa_remove_cpu. Besides being shorter, it is the same name x86_64 uses. We can save an ifdef in the code this way. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b5841765a2e735a38612c4e4a82170c33d701b3c Author: Glauber Costa Date: Wed May 28 13:38:28 2008 -0300 x86: provide connect_bsp_APIC for x86_64 Although it is not really needed, we provide it to get closer to i386. ifdefs around it are removed in smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3fde690011a84e19f98f77bfaa349b2119ddd2d2 Author: Glauber Costa Date: Wed May 28 20:34:19 2008 -0700 x86: change __setup_vector_irq with setup_vector_irq We create a version of it for i386, and then take the CONFIG_X86_64 ifdef out of the game. We could create a __setup_vector_irq for i386, but it would incur in an unnecessary lock taking. Moreover, it is better practice to only export setup_vector_irq anyway. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 86e430edf462e872ecfab28d6b8619be5ab9c300 Author: Glauber Costa Date: Wed May 28 20:05:46 2008 -0700 x86: remove ifdef from stepping The stepping won't affect x86_64, since there are not x86_64 k7's or pentiums. So, although it adds to the binary size, remove the ifdef for smoother integration Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 0f385d1ddd0952e01a968bfa5512378ad23de6df Author: Glauber Costa Date: Wed May 28 17:09:53 2008 -0700 x86: clearing io_apic harmless for x86_64 so remove ifdef. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3e9704739daf46a8ba6593d749c67b5f7cd633d2 Author: Glauber Costa Date: Wed May 28 13:01:54 2008 -0300 x86: boot secondary cpus through initial_code remove "initialize_secondary". Boot both architectures via initial_code. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e3f77edfc1d0beb7b10f9f31d9e39206f7dbef7b Author: Glauber Costa Date: Wed May 28 12:57:02 2008 -0300 x86: use initial_code for i386 x86_64 jumps to whatever is written in "initial_code" symbol, instead of a fixed address. Do it for i386 too. It will allow us to integrate more of the smp boot code. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a939098afcfa5f81d3474782ec15c6d114e57763 Author: Glauber Costa Date: Wed May 28 16:19:53 2008 -0700 x86: move x86_64 gdt closer to i386 i386 and x86_64 used two different schemes for maintaining the gdt. With this patch, x86_64 initial gdt table is defined in a .c file, same way as i386 is now. Also, we call it "gdt_page", and the descriptor, "early_gdt_descr". This way we achieve common naming, which can allow for more code integration. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 736f12bff9d9e7b4e895c64f73b190c8383fc2a1 Author: Glauber Costa Date: Tue May 27 20:14:51 2008 -0700 x86: don't use gdt_page openly. There's a macro available for that. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9cf4f298e29abba25c16679fe7be70898223167e Author: Glauber Costa Date: Tue May 27 18:22:54 2008 -0700 x86: use stack_start in x86_64 call x86_64's init_rsp stack_start, just as i386 does. Put a zeroed stack segment for consistency. With this, we can eliminate one ugly ifdef in smpboot.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a7bf0bd5e6af7fe69342dabf2a3b721f0163469a Author: Jeremy Fitzhardinge Date: Wed May 28 15:02:14 2008 +0100 build: add __page_aligned_data and __page_aligned_bss Making a variable page-aligned by using __attribute__((section(".data.page_aligned"))) is fragile because if sizeof(variable) is not also a multiple of page size, it leaves variables in the remainder of the section unaligned. This patch introduces two new qualifiers, __page_aligned_data and __page_aligned_bss to set the section *and* the alignment of variables. This makes page-aligned variables more robust because the linker will make sure they're aligned properly. Unfortunately it requires *all* page-aligned data to use these macros... Signed-off-by: Ingo Molnar commit 1ecd27657b735128a728ebf0c31fce5e1456718a Author: Bernhard Walle Date: Fri Jun 20 15:38:22 2008 +0200 x86: unify crashkernel reservation for 32 and 64 bit This patch moves the reserve_crashkernel() to setup.c and removes the architecture-specific version. Both versions were more or less the same. I tested it on both x86-64 and i386, with CONFIG_KEXEC on and off (so that it compiles). Signed-off-by: Bernhard Walle Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar commit 9bb8582efb555521c7eec595ebd34e835ddc34b8 Author: Patrick McHardy Date: Tue Jul 8 03:24:44 2008 -0700 vlan: TCI related type and naming cleanups The VLAN code contains multiple spots that use tag, id and tci as identifiers for arguments and variables incorrectly and they actually contain or are expected to contain something different. Additionally types are used inconsistently (unsigned short vs u16) and identifiers are sometimes capitalized. - consistently use u16 for storing TCI, ID or QoS values - consistently use vlan_id and vlan_tci for storing the respective values - remove capitalization - add kdoc comment to netif_hwaccel_{rx,receive_skb} Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6236af82d8a989e150a02800c210eb61cb1e17be Merge: e3ae0ac... 8b7ef4e... Author: Ingo Molnar Date: Tue Jul 8 12:24:29 2008 +0200 Merge branch 'x86/fixmap' into x86/devel Conflicts: arch/x86/mm/init_64.c Signed-off-by: Ingo Molnar commit df6b6a0cf62afeacdeb4c1a35b8fba21fda54399 Author: Patrick McHardy Date: Tue Jul 8 03:24:14 2008 -0700 vlan: remove useless struct hlist_node declaration from if_vlan.h Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e3ae0acf59244ecf5b023ec99cef4b6b29d649bc Merge: 4b62ac9... e7eb872... Author: Ingo Molnar Date: Tue Jul 8 12:24:13 2008 +0200 Merge branch 'x86/uv' into x86/devel commit 22d1ba74bbafa96d3f425cc12714d3fe8675183f Author: Patrick McHardy Date: Tue Jul 8 03:23:57 2008 -0700 vlan: move struct vlan_dev_info to private header Hide struct vlan_dev_info from drivers to prevent them from growing more creative ways to use it. Provide accessors for the two drivers that currently use it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7750f403cbe56971336d575b354365190b4e3227 Author: Patrick McHardy Date: Tue Jul 8 03:23:36 2008 -0700 vlan: uninline __vlan_hwaccel_rx The function is huge and included at least once in every VLAN acceleration capable driver. Uninline it; to avoid having drivers depend on the VLAN module, the function is always built in statically when VLAN is enabled. With all VLAN acceleration capable drivers that build on x86_64 enabled, this results in: text data bss dec hex filename 6515227 854044 343968 7713239 75b1d7 vmlinux.inlined 6505637 854044 343968 7703649 758c61 vmlinux.uninlined ---------------------------------------------------------- -9590 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e7eb8726d0e144f0925972c4ecee945e91a42753 Author: Cliff Wickman Date: Mon Jun 23 08:32:25 2008 -0500 x86, SGI UV: uv_ptc_proc_write fix Someone could write 0 bytes to /proc/sgi_uv/ptc_statistics, causing optstr[count - 1] = '\0'; to write to who-knows-where. (Andi Kleen noticed this need from a patch I sent for similar code in the ia64 world (sn2_ptc_proc_write()).) (count less than zero is not possible here, as count is unsigned) Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit cef53278682eb2604cbd99de64cdb59a8b35235a Author: Cliff Wickman Date: Thu Jun 19 11:16:24 2008 -0500 x86, SGI UV: TLB shootdown using broadcast assist unit, v6 v6: 6/19 close the security hole in uv_ptc_proc_write()) > Found a potential security hole while doing that: > static ssize_t uv_ptc_proc_write(struct file *file, const char __user *user, > size_t count, loff_t *data) > if (copy_from_user(optstr, user, count)) > return -EFAULT; > > is count guaranteed to never be larger than 64? is fixed below. It adds tlb_uv.o to the Makefile. Signed-off-by: Cliff Wickman Cc: mingo@elte.hu Signed-off-by: Ingo Molnar commit ab9c0bb8a8c1d71dd303abdaa61ec496128e2fbe Author: Jack Steiner Date: Mon Jun 16 12:09:10 2008 -0500 x86: increase MAX_APICS for very large x86-64 configs Increase the maximum number of apics when running very large configurations. This patch has no affect on most systems. The patch has no effect on any 32-bit kernel. It adds ~4k to the size of 64-bit kernels but only if NR_CPUS > 255. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit b6df1b8bc1250191cfee15627697111c1cbda53f Author: Jack Steiner Date: Thu Jun 19 21:51:05 2008 -0500 x86: fix stack overflow for large values of MAX_APICS physid_mask_of_physid() causes a huge stack (12k) to be created if the number of APICS is large. Replace physid_mask_of_physid() with a new function that does not create large stacks. This is a problem only on large x86_64 systems. this paves the way to increase MAX_APICS. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Cc: mingo@elte.hu Cc: tglx@linutronix.de Signed-off-by: Ingo Molnar commit d400524affeb84bdfc2b00cd561fbfb8c09dadd7 Author: Ingo Molnar Date: Wed Jun 18 14:51:57 2008 +0200 SGI UV: TLB shootdown using broadcast assist unit, fix fix: arch/x86/kernel/tlb_uv.c: In function ‘uv_table_bases_init': arch/x86/kernel/tlb_uv.c:612: error: ‘bau_tabsp' undeclared (first use in this function) arch/x86/kernel/tlb_uv.c:612: error: (Each undeclared identifier is reported only once arch/x86/kernel/tlb_uv.c:612: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit b4c286e6af24a116228c8c9f58b9a9eb5b7c000a Author: Ingo Molnar Date: Wed Jun 18 14:28:19 2008 +0200 SGI UV: clean up arch/x86/kernel/tlb_uv.c Signed-off-by: Ingo Molnar commit dc163a41ffba22a6ef70b51e7ddf68aa13b4b414 Author: Ingo Molnar Date: Wed Jun 18 14:15:43 2008 +0200 SGI UV: TLB shootdown using broadcast assist unit TLB shootdown for SGI UV. v5: 6/12 corrections/improvements per Ingo's second review Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit b194b120507276b4f09e2e14f941884e777fc7c8 Author: Cliff Wickman Date: Thu Jun 12 08:23:48 2008 -0500 SGI UV: TLB shootdown using broadcast assist unit, cleanups TLB shootdown for SGI UV. v1: 6/2 original v2: 6/3 corrections/improvements per Ingo's review v3: 6/4 split atomic operations off to a separate patch (Jeremy's review) v4: 6/12 include rather than (fixes a !SMP build problem that Ingo found) fix the index on uv_table_bases[blade] Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit 73e991f45fe7644711c0c9dd357a1a2c6e222707 Author: Cliff Wickman Date: Wed Jun 4 15:33:17 2008 -0500 x86 atomic operations: atomic_or_long() atomic_inc_short() Provide atomic operations for increment of a 16-bit integer and logical OR into a 64-bit integer. Signed-off-by: Cliff Wickman Reviewed-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1812924bb1823950c1dc95c478b71b037057356e Author: Cliff Wickman Date: Mon Jun 2 08:56:14 2008 -0500 x86, SGI UV: TLB shootdown using broadcast assist unit TLB shootdown for SGI UV. Depends on patch (in tip/x86/irq): x86-update-macros-used-by-uv-platform.patch Jack Steiner May 29 This patch provides the ability to flush TLB's in cpu's that are not on the local node. The hardware mechanism for distributing the flush messages is the UV's "broadcast assist unit". The hook to intercept TLB shootdown requests is a 2-line change to native_flush_tlb_others() (arch/x86/kernel/tlb_64.c). This code has been tested on a hardware simulator. The real hardware is not yet available. The shootdown statistics are provided through /proc/sgi_uv/ptc_statistics. The use of /sys was considered, but would have required the use of many /sys files. The debugfs was also considered, but these statistics should be available on an ongoing basis, not just for debugging. Issues to be fixed later: - The IRQ for the messaging interrupt is currently hardcoded as 200 (see UV_BAU_MESSAGE). It should be dynamically assigned in the future. - The use of appropriate udelay()'s is untested, as they are a problem in the simulator. Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit d98b940ab29a245de84a1c138b866dcc29217601 Merge: cbd6712... 1b40a89... Author: Ingo Molnar Date: Tue Jul 8 12:23:00 2008 +0200 Merge branch 'linus' into x86/irq commit 75b8846acd11ad3fc736d4df3413fe946bbf367c Author: Patrick McHardy Date: Tue Jul 8 03:22:42 2008 -0700 vlan: Add ethtool support Add ethtool support for querying the device for offload settings. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 26a25239d7a660cc7162e2463b48b40d544364d0 Author: Joonwoo Park Date: Tue Jul 8 03:22:16 2008 -0700 vlan: Use is_vlan_dev() Use simplified is_vlan_dev function. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit acc81e1465d29e0284008770cc4b8bc90bd93bd7 Author: Patrick McHardy Date: Tue Jul 8 03:21:27 2008 -0700 vlan: fix network_header/mac_header adjustments Lennert Buytenhek points out that the VLAN code incorrectly adjusts skb->network_header to point in the middle of the VLAN header and additionally tries to adjust skb->mac_header without checking for validity. The network_header should not be touched at all since we're only adding headers in front of it, mac_header adjustments are not necessary at all. Based on patch by Lennert Buytenhek . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b62ac9a2b859f932afd5625362c927111b7dd9b Merge: 2b4fa85... 8700600... Author: Ingo Molnar Date: Tue Jul 8 12:17:08 2008 +0200 Merge branch 'x86/nmi' into x86/devel Conflicts: arch/x86/kernel/nmi.c arch/x86/kernel/nmi_32.c Signed-off-by: Ingo Molnar commit 256f3bfce87fe39ec008b2c27890b30066984f50 Author: Rafael J. Wysocki Date: Tue Jul 8 03:08:16 2008 -0700 irda: Remove useless pm_dev references Some IRDA headers contain references to 'struct pm_dev' that are not necessary any more and may be removed. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 81c684d12ddc05bba4953e36e9cdd5939dde344b Author: Denis V. Lunev Date: Tue Jul 8 03:05:28 2008 -0700 ipv4: remove flush_mutex from ipv4_sysctl_rtcache_flush It is possible to avoid locking at all in ipv4_sysctl_rtcache_flush by defining local ctl_table on the stack. The patch is based on the suggestion from Eric W. Biederman. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2c693610fe923764fe41b846fb86938a2010da6e Author: Richard Kennedy Date: Tue Jul 8 03:03:01 2008 -0700 net: remove padding from struct socket on 64bit & increase objects/cache remove padding from struct socket reducing its size by 8 bytes. This allows more objects/cache in sock_inode_cache 12 objects/cache when cacheline size is 128 (generic x86_64) Signed-off-by: Richard Kennedy Signed-off-by: David S. Miller commit 2b4fa851b2f06fdb04cac808b57324f5e51e1578 Merge: 3de352b... 46f68e1... Author: Ingo Molnar Date: Tue Jul 8 11:59:23 2008 +0200 Merge branch 'x86/numa' into x86/devel Conflicts: arch/x86/Kconfig arch/x86/kernel/e820.c arch/x86/kernel/efi_64.c arch/x86/kernel/mpparse.c arch/x86/kernel/setup.c arch/x86/kernel/setup_32.c arch/x86/mm/init_64.c include/asm-x86/proto.h Signed-off-by: Ingo Molnar commit 46f68e1c6b04a04772e828ff3bcd07ed708805c2 Author: Bernhard Walle Date: Sun Jun 8 15:46:31 2008 +0200 x86: use reserve_bootmem_generic() to reserve crashkernel memory on x86_64 This patch uses reserve_bootmem_generic() instead of reserve_bootmem() to reserve the crashkernel memory on x86_64. That's necessary for NUMA machines, see 00212fef814612245ed0261cbac8426d0c9a31a5: [PATCH] Fix kdump Crash Kernel boot memory reservation for NUMA machines This patch will fix a boot memory reservation bug that trashes memory on the ES7000 when loading the kdump crash kernel. The code in arch/x86_64/kernel/setup.c to reserve boot memory for the crash kernel uses the non-numa aware "reserve_bootmem" function instead of the NUMA aware "reserve_bootmem_generic". I checked to make sure that no other function was using "reserve_bootmem" and found none, except the ones that had NUMA ifdef'ed out. I have tested this patch only on an ES7000 with NUMA on and off (numa=off) in a single (non-NUMA) and multi-cell (NUMA) configurations. Signed-off-by: Amul Shah Looks-good-to: Vivek Goyal Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds The switch-back to reserve_bootmem() was accidentally introduced in 5c3391f9f749023a49c64d607da4fb49263690eb when adding the BOOTMEM_EXCLUSIVE parameter. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 3fd052b1b46ac23a2316283a996fe6c32dbcf132 Author: Bernhard Walle Date: Sun Jun 8 15:46:30 2008 +0200 x86: add flags parameter to reserve_bootmem_generic() This patch adds a 'flags' parameter to reserve_bootmem_generic() like it already has been added in reserve_bootmem() with commit 72a7fe3967dbf86cb34e24fbf1d957fe24d2f246. It also changes all users to use BOOTMEM_DEFAULT, which doesn't effectively change the behaviour. Since the change is x86-specific, I don't think it's necessary to add a new API for migration. There are only 4 users of that function. The change is necessary for the next patch, using reserve_bootmem_generic() for crashkernel reservation. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 4ad3f26162ece5aca3045fd45e15dd99acea4a0e Author: Joonwoo Park Date: Tue Jul 8 02:38:56 2008 -0700 netfilter: fix string extension for case insensitive pattern matching The flag XT_STRING_FLAG_IGNORECASE indicates case insensitive string matching. netfilter can find cmd.exe, Cmd.exe, cMd.exe and etc easily. A new revision 1 was added, in the meantime invert of xt_string_info was moved into flags as a flag. If revision is 1, The flag XT_STRING_FLAG_INVERT indicates invert matching. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dde77e604497dada6f224a685278dfb27747ae52 Author: Joonwoo Park Date: Tue Jul 8 02:38:40 2008 -0700 textsearch: convert kmalloc + memset to kzalloc convert kmalloc + memset to kzalloc for alloc_ts_config Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 43138833ee9af07e865a4dcbfe81684c9c2f2262 Author: Joonwoo Park Date: Tue Jul 8 02:38:27 2008 -0700 textsearch: ts_fsm: return error on request for case insensitive search For fsm text search, handle case insensitive parameter as -EINVAL. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2523c3fc2bc9e34c06a71517844d55353f1f904a Author: Joonwoo Park Date: Tue Jul 8 02:38:09 2008 -0700 textsearch: ts_kmp: support case insensitive searching in Knuth-Morris-Pratt algorithm Add support for case insensitive search to Knuth-Morris-Pratt algorithm. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3b76d08190e6b420ed3f5534aa99ee29d82d731f Author: Joonwoo Park Date: Tue Jul 8 02:37:54 2008 -0700 textsearch: ts_bm: support case insensitive searching in Boyer-Moore algorithm Add support for case insensitive search to Boyer-Moore algorithm. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b9c796783151678d08b1ec1ef410685b2515ba51 Author: Joonwoo Park Date: Tue Jul 8 02:37:31 2008 -0700 textsearch: support for case insensitive searching The function textsearch_prepare has a new flag to support case insensitive searching. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 58de7862e61cb71251a25314d1b3d7260af1448a Author: Patrick McHardy Date: Tue Jul 8 02:37:07 2008 -0700 netfilter: ebt_nflog: fix Kconfig typo The help text should refer to nflog instead of ulog. Noticed by Krzysztof Halasa . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cdf060a5d3c2afc7998af94b26a6c5182419e071 Author: Adrian Bunk Date: Tue Jul 8 02:36:40 2008 -0700 netfilter: cleanup netfilter_ipv6.h userspace header Kernel functions are not for userspace. Signed-off-by: Adrian Bunk Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 43de9dfeaa30f7ed801dc1c38bdb63b1738bddcc Author: Alexey Dobriyan Date: Tue Jul 8 02:36:18 2008 -0700 netfilter: ip6table_filter in netns for real One still needs to remove checks in nf_hook_slow() and nf_sockopt_find() to test this, though. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b891c5a831b13f74989dcbd7b39d04537b2a05d9 Author: Pablo Neira Ayuso Date: Tue Jul 8 02:35:55 2008 -0700 netfilter: nf_conntrack: add allocation flag to nf_conntrack_alloc ctnetlink does not need to allocate the conntrack entries with GFP_ATOMIC as its code is executed in user context. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b11c16beb92112885edccc79e17d39c5d218f441 Author: Russ Dill Date: Tue Jul 8 02:35:27 2008 -0700 netfilter: Get rid of refrences to no longer existant Fast NAT. Get rid of refrences to no longer existant Fast NAT. IP_ROUTE_NAT support was removed in August of 2004, but references to Fast NAT were left in a couple of config options. Signed-off-by: Russ Dill Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d2789312cc6d875462d1d248e07a8a9caf8a6ae3 Author: Alexey Dobriyan Date: Tue Jul 8 02:34:52 2008 -0700 netfilter: use correct namespace in ip6table_security Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 053713f5745b8b08fb598adb65230bc168cb9d8d Author: Randy Dunlap Date: Thu Jun 5 11:10:59 2008 -0700 x86: fix setup.c printk format warning Fix setup.c printk format warning: linux-next-20080605/arch/x86/kernel/setup.c: In function 'setup_per_cpu_areas': linux-next-20080605/arch/x86/kernel/setup.c:173: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'ssize_t' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 03db1f74a7d823e3de3767f36b1e08829f6fb3a1 Author: Vegard Nossum Date: Fri Jun 6 16:33:25 2008 +0200 x86: don't return invalid pointers from node_to_cpumask() Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 076ac2af86c3b7f89ac31bc50a7508d3e035b786 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 sched, numa: replace MAX_NUMNODES with nr_node_ids in kernel/sched.c * Replace usages of MAX_NUMNODES with nr_node_ids in kernel/sched.c, where appropriate. This saves some allocated space as well as many wasted cycles going through node entries that are non-existent. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 886533a3e370a6d5c4e46819d1e14bd2f20dbb3a Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: numa_64.c fix shadowed variable sparse mutters: arch/x86/mm/numa_64.c:195:27: warning: symbol 'end_pfn' shadows an earlier one Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 864fc31ea59798905a37cd896a3e093915a3b366 Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: numa_64.c make local variables static plat_node_bdata, cmdline, nodemap_addr, nodemap_size are local to numa_64.c. Make them static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f307d25e638d3408659a2ec98fb3fd1737f7cb31 Author: Jeremy Fitzhardinge Date: Wed May 21 11:21:13 2008 +0100 x86: compile error fix for smpboot.c Without this patch, my link fails with: arch/x86/kernel/built-in.o(.cpuinit.text+0x3c6e): In function `get_local_pda': : undefined reference to `_cpu_pda' arch/x86/kernel/built-in.o(.cpuinit.text+0x3cd1): In function `get_local_pda': : undefined reference to `after_bootmem' arch/x86/kernel/built-in.o(.cpuinit.text+0x3cec): In function `get_local_pda': : undefined reference to `_cpu_pda' make[2]: *** [.tmp_vmlinux1] Error 1 Caused by commit 766da892634694f795b18b9538407816896fc470 x86: remove static boot_cpu_pda array v2 Signed-off-by: Thomas Gleixner commit 5deb0b2a25b7b568ab81f7c38052572ecf4ccc96 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 x86: leave initial __cpu_pda array in place until cpus are booted Ingo Molnar wrote: ... > they crashed after about 3 randconfig iterations with: > > early res: 4 [8000-afff] PGTABLE > early res: 5 [b000-b87f] MEMNODEMAP > PANIC: early exception 0e rip 10:ffffffff8077a150 error 2 cr2 37 > Pid: 0, comm: swapper Not tainted 2.6.25-sched-devel.git-x86-latest.git #14 > > Call Trace: > [] early_idt_handler+0x56/0x6a > [] ? numa_set_node+0x30/0x60 > [] ? numa_set_node+0x9/0x60 > [] numa_init_array+0x93/0xf0 > [] acpi_scan_nodes+0x3b9/0x3f0 > [] numa_initmem_init+0x136/0x150 > [] setup_arch+0x48f/0x700 > [] ? clockevents_register_notifier+0x3a/0x50 > [] start_kernel+0xd7/0x440 > [] x86_64_start_kernel+0x222/0x280 ... Here's the fixup... This one should follow the previous patches. Thanks, Mike Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 x86: remove static boot_cpu_pda array v2 * Remove the boot_cpu_pda array and pointer table from the data section. Allocate the pointer table and array during init. do_boot_cpu() will reallocate the pda in node local memory and if the cpu is being brought up before the bootmem array is released (after_bootmem = 0), then it will free the initial pda. This will happen for all cpus present at system startup. This removes 512k + 32k bytes from the data section. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f248bde9d47cc177011198c9a15fb339b9f3215 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: remove the static 256k node_to_cpumask_map * Consolidate node_to_cpumask operations and remove the 256k byte node_to_cpumask_map. This is done by allocating the node_to_cpumask_map array after the number of possible nodes (nr_node_ids) is known. * Debug printouts when CONFIG_DEBUG_PER_CPU_MAPS is active have been increased. It now shows faults when calling node_to_cpumask() and node_to_cpumask_ptr(). For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7891a24e1ee50c96896c0cf7da216a8e7b573ca5 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: restore pda nodenumber field * Restore the nodenumber field in the x86_64 pda. This field is slightly different than the x86_cpu_to_node_map mainly because it's a static indication of which node the cpu is on while the cpu to node map is a dyanamic mapping that may get reset if the cpu goes offline. This also simplifies the numa_node_id() macro. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23ca4bba3e20c6c3cb11c1bb0ab4770b724d39ac Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: cleanup early per cpu variables/accesses v4 * Introduce a new PER_CPU macro called "EARLY_PER_CPU". This is used by some per_cpu variables that are initialized and accessed before there are per_cpu areas allocated. ["Early" in respect to per_cpu variables is "earlier than the per_cpu areas have been setup".] This patchset adds these new macros: DEFINE_EARLY_PER_CPU(_type, _name, _initvalue) EXPORT_EARLY_PER_CPU_SYMBOL(_name) DECLARE_EARLY_PER_CPU(_type, _name) early_per_cpu_ptr(_name) early_per_cpu_map(_name, _idx) early_per_cpu(_name, _cpu) The DEFINE macro defines the per_cpu variable as well as the early map and pointer. It also initializes the per_cpu variable and map elements to "_initvalue". The early_* macros provide access to the initial map (usually setup during system init) and the early pointer. This pointer is initialized to point to the early map but is then NULL'ed when the actual per_cpu areas are setup. After that the per_cpu variable is the correct access to the variable. The early_per_cpu() macro is not very efficient but does show how to access the variable if you have a function that can be called both "early" and "late". It tests the early ptr to be NULL, and if not then it's still valid. Otherwise, the per_cpu variable is used instead: #define early_per_cpu(_name, _cpu) \ (early_per_cpu_ptr(_name) ? \ early_per_cpu_ptr(_name)[_cpu] : \ per_cpu(_name, _cpu)) A better method is to actually check the pointer manually. In the case below, numa_set_node can be called both "early" and "late": void __cpuinit numa_set_node(int cpu, int node) { int *cpu_to_node_map = early_per_cpu_ptr(x86_cpu_to_node_map); if (cpu_to_node_map) cpu_to_node_map[cpu] = node; else per_cpu(x86_cpu_to_node_map, cpu) = node; } * Add a flag "arch_provides_topology_pointers" that indicates pointers to topology cpumask_t maps are available. Otherwise, use the function returning the cpumask_t value. This is useful if cpumask_t set size is very large to avoid copying data on to/off of the stack. * The coverage of CONFIG_DEBUG_PER_CPU_MAPS has been increased while the non-debug case has been optimized a bit. * Remove an unreferenced compiler warning in drivers/base/topology.c * Clean up #ifdef in setup.c For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1184dc2ffe2c8fb9afb766d870850f2c3165ef25 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: modify Kconfig to allow up to 4096 cpus * Increase the limit of NR_CPUS to 4096 and introduce a boolean called "MAXSMP" which when set (e.g. "allyesconfig"), will set NR_CPUS = 4096 and NODES_SHIFT = 9 (512). * Changed max setting for NODES_SHIFT from 15 to 9 to accurately reflect the real limit. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7496b60654e759d0b9008b80908e80727904b3c4 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 x86: fix remove cpu_pda table patch Mike Travis wrote: > Ingo Molnar wrote: >> * Mike Travis wrote: >> >>> [Ingo - please replace "PATCH 07/11" with this one.] >>> >>> * Remove 544k bytes from the kernel by removing the boot_cpu_pda >>> array from the data section and allocating it during startup. >>> >>> Fixed panic in setup_per_cpu_areas when HOTPLUG_CPU not set. >>> >>> For inclusion into sched-devel/latest tree. >> sched-devel.git randconfig testing found another crash with your queue: >> >> [ 0.111060] Brought up 1 CPUs >> [ 0.111986] Total of 1 processors activated (4022.73 BogoMIPS). >> [ 0.112987] Testing NMI watchdog ... <1>BUG: unable to handle kernel NULL pointer dereference at 0000000000000040 >> [ 0.114982] IP: [] check_nmi_watchdog+0xb0/0x210 >> [ 0.114982] PGD 0 >> [ 0.114982] Oops: 0000 [1] SMP >> [ 0.114982] CPU 0 >> [............] >> >> http://redhat.com/~mingo/misc/config-Mon_Apr_28_23_25_25_CEST_2008.bad >> http://redhat.com/~mingo/misc/log-Mon_Apr_28_23_25_25_CEST_2008.bad >> >> Ingo > > Hi Ingo, > > I need a bit more information on your hardware configuration. Building a > kernel with the above config file started up fine on both the Intel and AMD > boxes. > > Based on the above output it looks like it might be a UP machine? ... Ok, I think I found it. In check_nmi_watchdog(): for (cpu = 0; cpu < NR_CPUS; cpu++) prev_nmi_count[cpu] = cpu_pda(cpu)->__nmi_count; As I mentioned it works fine on both of my systems so could you try it out? Thanks! Mike -- * Change function check_nmi_watchdog() to use nr_cpu_ids instead of NR_CPUS. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbb6152e6f72df367f8a955586c5e6282a7255e5 Author: Yinghai Lu Date: Sat Apr 19 01:30:16 2008 -0700 x86: don't call pxm_to_node again also make bus_numa work even if ACPI_NUMA is not defined. don't call pxm_to_node again, and use node directly. Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b755de8dfdfef97effaa91379ffafcb81f4d62a1 Author: Yinghai Lu Date: Wed Feb 20 12:41:52 2008 -0800 x86: make dev_to_node return online node a numa system (with multi HT chains) may return node without ram. Aka it is not online. Try to get an online node, otherwise return -1. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3de352bbd86f890dd0c5e1c09a6a1b0b29e0f8ce Merge: 1b8ba39... 9340e1c... Author: Ingo Molnar Date: Tue Jul 8 11:14:58 2008 +0200 Merge branch 'x86/mpparse' into x86/devel Conflicts: arch/x86/Kconfig arch/x86/kernel/io_apic_32.c arch/x86/kernel/setup_64.c arch/x86/mm/init_32.c Signed-off-by: Ingo Molnar commit 9340e1ccdf7b9b22a2be7f51cd74e8b5e11961bf Author: Matthew Garrett Date: Tue Jul 1 01:12:06 2008 +0100 x86, ioapic, acpi quirk: disable IRQ 0 through I/O APIC for some HP systems Some HP laptops have a problem with their DSDT reporting as HP/SB400/10000, which includes some code which overrides all temperature trip points to 16C if the INTIN2 input of the I/O APIC is enabled. This input is incorrectly designated the ISA IRQ 0 via an interrupt source override even though it is wired to the output of the master 8259A and INTIN0 is not connected at all. So far two models have been identified, namely nx6125 and nx6325. Use a knob provided by the I/O APIC interrupt registration code to abandon any attempts to route IRQ 0 through the I/O APIC for these systems. Signed-off-by: Maciej W. Rozycki Cc: Len Brown Cc: Matthew Garrett Cc: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit 471694ea6c6ccdf7131354f1d698d4d83a605293 Author: Maciej W. Rozycki Date: Tue Jul 1 01:11:35 2008 +0100 x86, ioapic, acpi: add a knob to disable IRQ 0 through I/O APIC As discovered recently some systems exhibit problems when the 8254 timer IRQ is routed through the I/O APIC. These problems do not affect the timer IRQ itself and therefore cannot be detected when the correctness of operation of the interrupt is verified in check_timer(). Therefore the I/O APIC path of the timer IRQ has to be disabled entirely. This is a change that lets platforms ask for the timer IRQ not to be registered in the I/O APIC interrupt tables. The local APIC and ExtINTA paths are unaffected. This request is only taken into account for ACPI platforms as MP table systems seem unaffected so far. Signed-off-by: Maciej W. Rozycki Cc: Len Brown Cc: Matthew Garrett Cc: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit bad48f4b313a756ccde454c25c14c828e2fd5819 Author: Yinghai Lu Date: Fri Jun 20 07:33:31 2008 -0700 x86: simplify x86_mpparse dependency check "Maciej W. Rozycki" said: > Given X86_64 selects X86_LOCAL_APIC I am not sure the redundancy seen >above does not actually obscure the logic behind... I think: > > depends on X86_LOCAL_APIC && !X86_VISWS > >would be clearer and get the same. Suggested-by: Maciej W. Rozycki Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Len Brown Signed-off-by: Ingo Molnar commit c73d8dd8595c4c6c1c016bb1ac4dd8035e67975b Author: Ingo Molnar Date: Tue Jul 8 10:47:39 2008 +0200 Revert parts of "x86: update mptable" Signed-off-by: Ingo Molnar commit a4caa18efe468acb3522e30763de57a67b3e438b Author: Yinghai Lu Date: Thu Jun 19 12:15:01 2008 -0700 x86: fix compiling when CONFIG_X86_MPPARSE is not set Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 6695c85b2e6f9f2e9ccaa8af38b72f5ab4a5184f Author: Yinghai Lu Date: Thu Jun 19 12:13:09 2008 -0700 x86: let MPS support be selectable, v2 v2: seperate "fix for compiling when MPPARSE is not set" to another patch make X86_MPPARSE to be selectable only when acpi is set and X86_MPPARSE will be set if acpi is not set. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Maciej W. Rozycki Cc: Len Brown Signed-off-by: Ingo Molnar commit fcfa146e412023dd55f8855f240b2c2082dc1baa Author: Yinghai Lu Date: Wed Jun 18 17:29:31 2008 -0700 x86: update mptable fix with no ioapic v2 if the system doesn't have ioapic, we don't need to store entries for mptable update also let mp_config_acpi_gsi not call func in mpparse so later could decouple mpparse with acpi more easily Reported-by: Daniel Exner Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Daniel Exner Cc: Len Brown Signed-off-by: Ingo Molnar commit 95a71a45c250177854f7c530810c88a8a19a443b Author: Yinghai Lu Date: Wed Jun 18 17:27:08 2008 -0700 x86: cleanup machine_specific_memory_setup, v2 1. let 64bit support 88 and e801 too 2. introduce default_machine_specific_memory_setup, and reuse it for voyager v2: fix 64 bit compiling Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 66a6f8d539416c9664f3a04ecb12f55a0097ab8c Author: Yinghai Lu Date: Wed Jun 18 11:54:37 2008 -0700 x86: remove unused file after numaq etc depends on genericarch we don't need those mach_mpspec.h files now. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1c6e55032e24ff79668581a0f296c278ef7edd4e Author: Yinghai Lu Date: Tue Jun 17 15:41:45 2008 -0700 x86: use acpi_numa_init to parse on 32-bit numa seperate SRAT finding and parsing from get_memcfg_from_srat, and let getmemcfg_from_srat only handle array from previous step. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0699eae140a3eeca976df4e3b7699b1fa3f763cd Author: Yinghai Lu Date: Tue Jun 17 15:39:01 2008 -0700 x86: Kconfig cleanup with genericarch we already have summit and etc depends on genericarch, so use genericarch only. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 593a0cc39046515a438ca9fcc168115961f9f503 Author: Yinghai Lu Date: Tue Jun 17 10:02:45 2008 -0700 x86: move some function out of setup_bootmem_alloc ... to make it more like 64-bit. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 064d25f12014ae1d97c2882f9ab874995321f2b2 Author: Yinghai Lu Date: Mon Jun 16 19:58:28 2008 -0700 x86: merge setup_memory_map with e820 ... and kill e820_32/64.c and e820_32/64.h Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cc9f7a0ccf000d4db5fbdc7b0ae48eefea102f69 Author: Yinghai Lu Date: Mon Jun 16 16:11:08 2008 -0700 x86: kill bad_ppro so don't punish all other cpus without that problem when init highmem Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 41c094fd3ca54f1a71233049cf136ff94c91f4ae Author: Yinghai Lu Date: Mon Jun 16 13:03:31 2008 -0700 x86: move e820_resource_resources to e820.c and make 32-bit resource registration more like 64 bit. also move probe_roms back to setup_32.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8c5beb50d3ec915d15c4d38aa37282309a65f14e Author: Huang, Ying Date: Wed Jun 11 11:33:39 2008 +0800 x86 boot: pass E820 memory map entries more than 128 via linked list of setup data Because of the size limits of struct boot_params (zero page), the maximum number of E820 memory map entries can be passed to kernel is 128. As pointed by Paul Jackson, there is some machine produced by SGI with so many nodes that the number of E820 memory map entries is more than 128. To enabling Linux kernel on these system, a new setup data type named SETUP_E820_EXT is defined to pass additional memory map entries to Linux kernel. This patch is based on x86/auto-latest branch of git-x86 tree and has been tested on x86_64 and i386 platform. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit b5bc6c0e55000dab86b73f838f5ad02908b23755 Author: Yinghai Lu Date: Sat Jun 14 18:32:52 2008 -0700 x86, mm: use add_highpages_with_active_regions() for high pages init v2 use early_node_map to init high pages, so we can remove page_is_ram() and page_is_reserved_early() in the big loop with add_one_highpage also remove page_is_reserved_early(), it is not needed anymore. v2: fix the build of other platforms Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d0be6bdea103b8d04c8a3495538b7c0011ae4129 Author: Yinghai Lu Date: Sun Jun 15 18:58:51 2008 -0700 x86: rename two e820 related functions rename update_memory_range to e820_update_range rename add_memory_region to e820_add_region to make it more clear that they are about e820 map operations. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6df8809bbd1b48cc6d428df7372ed749c8711641 Author: Yinghai Lu Date: Sun Jun 15 18:19:46 2008 -0700 x86: use dstapic in mp_config_acpi_legacy_irqs so we don't get the same value multiple times. also make mp_config_acpi_legacy_irqs more readable by moving assignments together. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d867e5310bd3c560093d39669ef52ff7f1b5711a Author: Yinghai Lu Date: Sat Jun 14 01:26:41 2008 -0700 x86: keep MP_intsrc_info untouched if we do not update mptable Daniel Exner reported IO-APIC enumeration breakage in linux-next. Alexey Starikovskiy found out that it might be related to commit 2944e16b25 "x86: update mptable". use enable_update_mptable to decide if need check before add mp_irqs array. Reported-by: Daniel Exner Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a27f5c51629c3d3b7718dd4be3d2722b472fafe Author: Yinghai Lu Date: Fri Jun 13 20:07:03 2008 -0700 x86: clean up relocate_initrd 1. move that before zone_sizes_init ... 2. add free_early for one old one, otherwise it will be be reserved again when we init highmem. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cc1050bafebfb1d7935331282e948b5016318192 Author: Yinghai Lu Date: Fri Jun 13 19:08:52 2008 -0700 x86: replace shrink_active_range() with remove_active_range() in case we have kva before ramdisk on a node, we still need to use those ranges. v2: reserve_early kva ram area, in case there are holes in highmem, to avoid those area could be treat as free high pages. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d2dbf343329dc777d77488743465f7be4245971d Author: Yinghai Lu Date: Fri Jun 13 02:00:56 2008 -0700 x86: clean up reserve_bootmem_generic() and port it to 32-bit 1. add reserve_bootmem_generic for 32bit 2. change len to unsigned long 3. make early_res_to_bootmem to use it Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b1f006b65c12b85df81f12c1073ad18fd26f4a16 Author: Yinghai Lu Date: Mon Jun 9 18:11:36 2008 -0700 x86: make generic arch support NUMAQ, fix #2 we are checking mptable early for numaq, so don't need to reserve_bootmem for it. bootmem is not there yet. do the same thing as 64-bit. found it on 64g above system from 64-bit kernel kexec to 32 bit kernel with numaq support. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b20d70b70e9aa854c47d2af10659f1033b6d69bb Author: Yinghai Lu Date: Mon Jun 9 17:00:15 2008 -0700 x86: make generic arch support NUMAQ, fix fix typo in bigsmp switching. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ab4a465e96adf2f3a8aaa95384bacfa9ab661e35 Author: Yinghai Lu Date: Tue Jun 10 12:55:54 2008 -0700 x86: e820 merge parsing of the mem=/memmap= boot parameters since we now have 32-bit support for e820_register_active_regions(), we can merge the parsing of the mem=/memmap= boot parameters. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit df5f6c212cc049d1989b5ce71bb863a367c261e9 Author: Ingo Molnar Date: Tue Jun 10 16:38:41 2008 +0200 x86: unify the reserve_bootmem() behavior of early_res_to_bootmem() Signed-off-by: Ingo Molnar commit 12448e3ef3ae7fca7a7ad205084f45a67dcc4356 Author: Bernhard Walle Date: Sun Jun 8 15:46:31 2008 +0200 x86: use reserve_bootmem_generic() to reserve crashkernel memory on x86_64 This patch uses reserve_bootmem_generic() instead of reserve_bootmem() to reserve the crashkernel memory on x86_64. That's necessary for NUMA machines, see 00212fef814612245ed0261cbac8426d0c9a31a5: [PATCH] Fix kdump Crash Kernel boot memory reservation for NUMA machines This patch will fix a boot memory reservation bug that trashes memory on the ES7000 when loading the kdump crash kernel. The code in arch/x86_64/kernel/setup.c to reserve boot memory for the crash kernel uses the non-numa aware "reserve_bootmem" function instead of the NUMA aware "reserve_bootmem_generic". I checked to make sure that no other function was using "reserve_bootmem" and found none, except the ones that had NUMA ifdef'ed out. I have tested this patch only on an ES7000 with NUMA on and off (numa=off) in a single (non-NUMA) and multi-cell (NUMA) configurations. Signed-off-by: Amul Shah Looks-good-to: Vivek Goyal Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds The switch-back to reserve_bootmem() was accidentally introduced in 5c3391f9f749023a49c64d607da4fb49263690eb when adding the BOOTMEM_EXCLUSIVE parameter. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 8b2ef1d7285740953a2c4ef7faf15fdfc5e2f358 Author: Bernhard Walle Date: Sun Jun 8 15:46:30 2008 +0200 x86: add flags parameter to reserve_bootmem_generic() This patch adds a 'flags' parameter to reserve_bootmem_generic() like it already has been added in reserve_bootmem() with commit 72a7fe3967dbf86cb34e24fbf1d957fe24d2f246. It also changes all users to use BOOTMEM_DEFAULT, which doesn't effectively change the behaviour. Since the change is x86-specific, I don't think it's necessary to add a new API for migration. There are only 4 users of that function. The change is necessary for the next patch, using reserve_bootmem_generic() for crashkernel reservation. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar commit 896395c290f902576270d84291c1f7f8bfbe339d Merge: af1cf20... 1b40a89... Author: Ingo Molnar Date: Tue Jul 8 10:32:56 2008 +0200 Merge branch 'linus' into tmp.x86.mpparse.new commit 1b8ba39a3fad9c58532f6dad12c94d6e675be656 Merge: 58cf352... cbd6712... Author: Ingo Molnar Date: Tue Jul 8 09:53:57 2008 +0200 Merge branch 'x86/irq' into x86/devel Conflicts: arch/x86/kernel/i8259.c arch/x86/kernel/irqinit_64.c Signed-off-by: Ingo Molnar commit 58cf35228fec541418cc3bd781d6c069d904815e Merge: 3c1ca43... c1f64a5... 28f73e5... b664d6b... f294a8c... 45fdc3a... 8b7fd21... Author: Ingo Molnar Date: Tue Jul 8 09:46:15 2008 +0200 Merge branches 'x86/mmio', 'x86/delay', 'x86/idle', 'x86/oprofile', 'x86/debug', 'x86/ptrace' and 'x86/amd-iommu' into x86/devel commit 3c1ca43fafea41e38cb2d0c1684119af4c1de547 Merge: 6924d1a... 6bcb13b... Author: Ingo Molnar Date: Tue Jul 8 09:43:01 2008 +0200 Merge branch 'x86/setup' into x86/devel commit 6924d1ab8b7bbe5ab416713f5701b3316b2df85b Merge: 4e78c91... 25556c1... b764a15... 437a0a5... 41b3eae... 84e65b0... 684eb01... 9302213... 5cb04df... 44974c8... 48cf937... 205f932... c54f9da... 0ed368c... b478458... 2d144e6... 607baf1... 33af903... 3557b18... 63687a5... 009b9fc... f6477cc... e6b0ede... 400d349... Author: Ingo Molnar Date: Tue Jul 8 09:16:56 2008 +0200 Merge branches 'x86/numa-fixes', 'x86/apic', 'x86/apm', 'x86/bitops', 'x86/build', 'x86/cleanups', 'x86/cpa', 'x86/cpu', 'x86/defconfig', 'x86/gart', 'x86/i8259', 'x86/intel', 'x86/irqstats', 'x86/kconfig', 'x86/ldt', 'x86/mce', 'x86/memtest', 'x86/pat', 'x86/ptemask', 'x86/resumetrace', 'x86/threadinfo', 'x86/timers', 'x86/vdso' and 'x86/xen' into x86/devel commit 25556c1699ad84dd6077adf67c92eba362aa7dc2 Author: Christophe Jaillet Date: Sun Jun 22 22:13:48 2008 +0200 x86, arch/x86/kernel/io_apic_32.c: use kzalloc instead of kmalloc/memset 1) replace kmalloc/memset with equivalent kzalloc. Signed-off-by: Christophe Jaillet Cc: cj Cc: petero2@telia.com Signed-off-by: Ingo Molnar commit 7f0dbbc08d80df7ea15d8da4f0d78255891c8812 Author: Maciej W. Rozycki Date: Fri Jun 20 01:35:07 2008 +0100 x86: fix IO APIC breakage on HP nx6325, v2 > That helped a lot, the system seems to work normally now. > > Here's the relevant snippet from dmesg: > > [ 0.108006] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 > [ 0.108006] ..MP-BIOS bug: 8254 timer not connected to IO-APIC > [ 0.108006] ...trying to set up timer (IRQ0) through the 8259A ... <3> > [ 0.108006] ..... (found apic 0 pin 2) ...<3> failed. > [ 0.108006] ...trying to set up timer as Virtual Wire IRQ...<3> works. > > and the whole thing is at: http://www.sisk.pl/kernel/debug/20080618/dmesg-2.log Hmm, that only proved the 8259A is indeed wired to the pin #2 of the I/O APIC. > I, personally, don't have any and AMD only has SB600 documentation on its > web page (it's still marked as "AMD confidential" ;-)). Well, the IC block is most likely the same as that's not rocket science and once done there is no need to fiddle with that. That written, I am afraid there is nothing useful about the IC in the document, except that it's there and consists of an I/O APIC providing 24 inputs and the usual pair of 8259A cores. Thanks for the reference anyway. > There is an interrupt controller in there, but I'm not sure if there's any > 8259A. The northbridge is on the CPU, actually. I will praise the day someone ships an x86 machine without an 8259A core! As expressed in another mail I suspect there may actually be a direct route from the 8254 to INTIN0 in the southbridge -- this is what other bootstrap logs seen in the Internet suggest. This would mean this particular BIOS is buggy (is it the latest version?) and provides an incorrect IRQ override in its ACPI tables, for example because the responsible block has been blindly copied from a machine using a commoner wiring. This could be moderately easily fixed up with a quirk based on the PCI ID (after checking it again, we actually used to have a quirk for ATI in this area, but the way it was done suggests the issue was not understood well enough). Could you please remove the hack sent yesterday and test the patch provided below? I do hope it builds, but I have no immediate means to check it. Please report the output. The intent is to test INTIN0 directly before testing INTIN2 through the 8259A. Thanks. Aside of that, what I have gathered from your reports (please correct me if I have got it wrong) is that when the through-8259A mode is used, then after a while 8254 timer interrupts stop arriving. What's interesting, the "Virtual Wire IRQ" seems to work for you correctly (that's quite an odd setup where a local APIC input is used in the native mode -- please post /proc/interrupts for confirmation), which in turn implies the master 8259A drives its INT output as we expect. Why would the I/O APIC input have problems then? Hmm... [ mingo@elte.hu: revert the "x86: fix IO APIC breakage on HP nx6325" version. ] Signed-off-by: Ingo Molnar commit cd08d0754ecb0cb9293c8476cb33ded1d23d0d8f Author: Maciej W. Rozycki Date: Thu Jun 19 00:39:33 2008 +0100 x86: fix IO APIC breakage on HP nx6325 On Thu, 19 Jun 2008, Rafael J. Wysocki wrote: > > With such a configuration the "x86: I/O APIC: timer through 8259A > > second-chance" patch should not matter, because the only change it > > introduces is an attempt to try the same I/O APIC pin again, but with the > > IRQ0 line of the master 8259A enabled. That's not a terribly unusual > > configuration and nothing should get confused in the system. > > But it _does_ get confused, really. Something certainly gets confused, but so far I am not sure which bit exactly it is, are you? > > Barring the unlikely possibility of the 8259A actually being wired to > > INTIN2 of the I/O APIC I can see two possible explanations: > > > > 1. The 8259A interrupt actually escapes to the CPU somehow and is handled > > as an ExtINTA interrupt. This would make the code in check_timer() > > decide it has found a working configuration, while actually it has been > > fooled. [...] > Here you go: > > [ 0.108006] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 > [ 0.108006] ..MP-BIOS bug: 8254 timer not connected to IO-APIC > [ 0.108006] ...trying to set up timer (IRQ0) through the 8259A ... <3> > [ 0.108006] ..... (found apic 0 pin 2) ...<3> works. > > The full dmesg is at: http://www.sisk.pl/kernel/debug/20080618/dmesg-1.log Thanks. In this case I suspect the case #1 quoted above happens, that is the 8259A manages to deliver its interrupt somehow. Note at this stage it is meant to be in the AEOI mode, so it can happily resubmit the interrupt indefinitely with no additional handling as long as it receives INTA cycles. Can you please try the patch below on top of "x86: I/O APIC: timer through 8259A second-chance" to see whether my hypothesis is true? It modifies the through-8259A setup path so that the APIC input gets masked, but the 8259A has the timer interrupt still enabled. Let me know how the timer interrupt is routed in this case. Bisected-by: "Rafael J. Wysocki" Tested-by: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar commit 360624484c81d55f88b1e5f48ce24c9243ce38e5 Author: Paolo Ciarrocchi Date: Sun Jun 8 13:07:18 2008 +0200 x86: coding style fixes to arch/x86/kernel/io_apic_32.c Before: total: 91 errors, 73 warnings, 2850 lines checked After: total: 1 errors, 47 warnings, 2848 lines checked Compile tested: paolo@paolo-desktop:/tmp$ size io* text data bss dec hex filename 13836 1756 11104 26696 6848 io_apic_32.o.after 13836 1756 11104 26696 6848 io_apic_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 46b3b4ef1ea2a0892b9b38b6a0c65a3f33b504aa Author: Cyrill Gorcunov Date: Sat Jun 7 19:53:57 2008 +0400 x86, io-apic: use predefined names instead of numeric constants This patch replaces some hard-coded numbers with predefined names. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit d3f020d2f9bb9a61ca64d4eb058c9f68f827a2b4 Author: Cyrill Gorcunov Date: Sat Jun 7 19:53:56 2008 +0400 x86, io-apic: define names for redirection table entry fields Each I/O APIC redirection table entry has a number of fields. Define names for them to eliminate reference by hard coded numbers. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit d788bada2f6c49673f85338ac4c0c642e5e52cff Author: Maciej W. Rozycki Date: Fri Jun 6 03:28:13 2008 +0100 x86: APIC/SMP: Downgrade the NMI watchdog for "noapic" If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip has been deactivated as a result of "noapic". Downgrade to the local APIC watchdog similarly to what is done for the UP case. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit d54db1ac9ecde9bcb8a561595b02c1d970d3a4d6 Author: Maciej W. Rozycki Date: Fri Jun 6 03:28:02 2008 +0100 x86: APIC/SMP: Downgrade the NMI watchdog for "nosmp" If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip has been deactivated as a result of "nosmp". Downgrade to the local APIC watchdog similarly to what is done for the UP case. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 19662027488946e34dd54d3bb408fa3307681d7d Author: Maciej W. Rozycki Date: Fri Jun 6 03:27:56 2008 +0100 x86: APIC/UP: Remove redundant NMI watchdog downgrade For the UP case the NMI watchdog downgrade is done consistently in APIC_init_uniprocessor() now. Remove redundant code used only when BIOS-disabled local APIC is activated. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit acae7d906f2f81d814e9c3730eeb19dfd3bf3bb4 Author: Maciej W. Rozycki Date: Fri Jun 6 03:27:49 2008 +0100 x86: APIC/UP: Downgrade the NMI watchdog for no I/O APIC If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip will not be used in the UP configuration, because "noapic" has been specified or the chip is simply not there. Downgrade to the local APIC watchdog to rectify. The new #ifdef is ugly, I know. A proper solution is to provide suitable definitions of smp_found_config, etc. for !CONFIG_X86_IO_APIC in a header. Likewise the whole if () condition should be moved to a static inline function. Such clean-ups are beyond the scope of this change and can be done once the whole issue of the timer has been sorted out. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 148b50830993acc67129f09c544d9167291e5458 Author: Maciej W. Rozycki Date: Fri Jun 6 03:27:41 2008 +0100 x86: NMI watchdog: Downgrade helper A downgrade helper for the NMI watchdog to be used in all places where the I/O APIC watchdog may have been requested, but the I/O APIC is found not to be there or meant to be left disabled. This is so that the reconfiguration is cosistent and defined in a single place only. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 6fe9fe875691e15eda61b992e03257e68aa5ba4f Author: Ingo Molnar Date: Sun Jun 8 10:14:40 2008 +0200 Revert "x86: APIC/SMP: downgrade the NMI watchdog for "nosmp"" This reverts commit 791b93d3dfaf16c23e978bec0cc0a3dd9d855d63. A better fix from Maciej will be merged. commit ab5a5be099cb20a1c006bf0e211c48502d7ebc44 Author: Ingo Molnar Date: Sun Jun 8 10:13:33 2008 +0200 Revert "x86, io-apic: fix nmi_watchdog=1 bootup hang" This reverts commit 2229ff84f01746d02fb6b79e156fb5cce48c908f. A better fix from Maciej will be merged. commit ff11571b25152edfb1eb0e6feb7e0009670fe4a5 Author: Ingo Molnar Date: Thu Jun 5 11:17:16 2008 +0200 x86, io-apic: fix nmi_watchdog=1 bootup hang nmi_watchdog=1 hangs on 64-bit: [ 0.250000] Detected 12.564 MHz APIC timer. [ 0.254178] APIC timer registered as dummy, due to nmi_watchdog=1! [ 0.260366] Testing NMI watchdog ... <4>WARNING: CPU#0: NMI appears to be stuck (0->0)! [ ... ] [ 0.470003] calling genl_init+0x0/0xd0 [ hard hang ] bisected it down to: git-bisect start git-bisect good 1beee8dc8cf58e3f605bd7b34d7a39939be7d8d2 git-bisect bad 11582ece0aaa2d0f94f345c08a4ab9997078a083 git-bisect bad 5479c623bb44089844022c03d4c0eb16d5b7a15f git-bisect bad cfb4c7fabeb499e1c29f9d1878968e37a938e28a git-bisect good 246dd412d31e4f5de1d43aa6422a325b785f36e4 git-bisect bad 3f8237eaff7dc1e35fa791dae095574fd974e671 git-bisect good 90e23b13ab849e2a11f00c655eb3a2011b4623be git-bisect bad 833526a34eeefc117df3191a594c3c3a4f15a9ac git-bisect good 791b93d3dfaf16c23e978bec0cc0a3dd9d855d63 git-bisect bad 65767c64068f2c93e56a1accfed5c78230ac12d7 git-bisect bad 2abc5c05dd82c188e3bdf6641a274f013348d14b git-bisect bad 317e1f2597ffb4d4db940577bbe56dc6e881ef07 | 317e1f2597ffb4d4db940577bbe56dc6e881ef07 is first bad commit | commit 317e1f2597ffb4d4db940577bbe56dc6e881ef07 | Author: Maciej W. Rozycki | Date: Wed May 21 22:10:22 2008 +0100 | x86: I/O APIC: clean up the 8259A on a NMI watchdog failure the problem is that in the dummy-lapic branch we rely on the i8259A but if the NMI watchdog fails we turn off IRQ 0 - which doesnt work too well ;-) Signed-off-by: Ingo Molnar commit 067fa0ff0c89d25c2136ed095c72213089d4bb4e Author: Cyrill Gorcunov Date: Thu May 29 22:32:30 2008 +0400 x86: IO-APIC - use NMI_NONE instead of numeric constant Not sure but maybe it is better to use NMI_DISABLED, will take a look. But for now this patch is not change anything in logic so it will not hurt/broke the kernel. For most cases nmi_watchdog assignment is by one of NMI_* macro so I think there it make sense too. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit b1b57ee135ac7614184faa7d7345b5e7098cb81d Author: Ingo Molnar Date: Sat May 31 12:20:10 2008 +0200 x86 build fix: arch/x86/kernel/io_apic_64.c: In function 'check_timer': arch/x86/kernel/io_apic_64.c:1688: error: 'vector' undeclared (first use in this function) arch/x86/kernel/io_apic_64.c:1688: error: (Each undeclared identifier is reported only once arch/x86/kernel/io_apic_64.c:1688: error: for each function it appears in.) commit 431ee79db0a9552314d787446044973a8176b57d Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: apic_64.c fix sparse warnings about shadowed variables Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7223daf5e1a6298e459db84442adc04d68a6a42d Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: make irq_cfg static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 071565095897dff9668cd4a2343160ae31538c27 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: move pci_routirq declaration to pci.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 691874fa96d6349a8b60f8ea9c2bae52ece79941 Author: Maciej W. Rozycki Date: Tue May 27 21:19:51 2008 +0100 x86: I/O APIC: timer through 8259A second-chance Some systems incorrectly report the ExtINTA pin of the I/O APIC as the genuine target of the timer interrupt. Here is a change that copies timer pin information found to the other pin if one has been found only. This way both a direct and a through-8259A route is tested with the pin letting these problematic systems work well enough. If no timer pin information has been found for the I/O APIC, then local APIC variations are tried only, similarly to what is done without the change (except without the misleading messages). Obviously if we try the first-chance path without being told by the BIOS to do so, we should not complain either, so do not print the message in this case. The 64-bit variation should be updated with a call to replace_pin_at_irq() which can be done with the upcoming merge. Since add_pin_to_irq() is now always called in the first-chance path, the condition to require it in the second-chance path no longer happens. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 03be750559b2fe20d85dd968e08d5fe1c3accf83 Author: Maciej W. Rozycki Date: Tue May 27 21:19:45 2008 +0100 x86: I/O APIC: keep the timer IRQ masked during set-up Keep the timer interrupt line masked when reconfiguring its interrupt redirection entry in the I/O APIC. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 24742ece8eb01b5855059020ba1c09173fd9b732 Author: Maciej W. Rozycki Date: Tue May 27 21:19:40 2008 +0100 x86: I/O APIC: unmask the second-chance timer interrupt Unmask the timer interrupt line set up in the through-8259A mode explicitly after setup_timer_IRQ0_pin() has set up the I/O APIC interrupt redirection entry to let the two operations be unbound from each other. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit f7633ce55b2ea2926a39d7ca9d0bb06c43edd2c2 Author: Maciej W. Rozycki Date: Tue May 27 21:19:34 2008 +0100 x86: I/O APIC: rename setup_ExtINT_IRQ0_pin() Rename setup_ExtINT_IRQ0_pin() to setup_timer_IRQ0_pin() to better reflect the upcoming role of a function setting up a (semi-)arbitrary I/O APIC pin appropriately for the 8254 timer. By "appropriate" the following settings are meant: edge-triggered, active-high, all the other settings per-architecture. Adjust comments to reflect code appropriately. No functional changes. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 6b4722a7779ebadcf016fd96ce3156b6acda8a31 Author: Maciej W. Rozycki Date: Tue May 27 21:19:28 2008 +0100 x86: I/O APIC: remove redundant LVT0 masking The LINT0 line of the local APIC is masked in the LVT0 entry in check_timer() before this function is ever called. Removed the redundant unmasking for better control. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 80d16bace63e057d30337e48d70aef0881656457 Author: Maciej W. Rozycki Date: Tue May 27 21:19:22 2008 +0100 x86: I/O APIC: remove redundant 8259A {,un}masking For a better control the masking and unmasking of the timer interrupt line in the 8259A operating in the 'Virtual Wire' mode has been moved out of setup_ExtINT_IRQ0_pin() now, so remove the redundant calls from the function. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit f08252623c7981f5cea70e4fab4983a94fc52212 Author: Maciej W. Rozycki Date: Tue May 27 21:19:16 2008 +0100 x86: I/O APIC: fix the name of the through-8259A handler When the through-8259A mode is used for the timer, the call to set_irq_handler() will register a NULL handler name, resulting in "IO-APIC-" reported. Fix by calling ioapic_register_intr() as done for all the other I/O APIC interrupts. The 64-bit variation calls set_irq_chip_and_handler_name() here needlessly and should get fixed with the upcoming merge. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 9a1c61929121cbd597a5575f82711c0db8ee1778 Author: Maciej W. Rozycki Date: Tue May 27 21:19:09 2008 +0100 x86: I/O APIC: fix the name of the L-APIC IRQ handler The local APIC interrupt handler gets registered with set_irq_chip_and_handler_name(), which results in "local-APIC-edge-fasteoi" reported as the name of the handler. Fix by removing the type of the handler left over from before the generic handlers were introduced. The 64-bit variation should get fixed with the upcoming merge. NB It should really use the "edge" handler and not the "fasteoi" one, but that's a separate issue. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 35542c5ebced864776d90d83d1e255016fd4c084 Author: Maciej W. Rozycki Date: Wed May 21 22:10:22 2008 +0100 x86: I/O APIC: clean up the 8259A on a NMI watchdog failure There is no point in keeping the 8259A enabled if the I/O APIC NMI watchdog has failed and the 8259A is not used to pass through regular timer interrupts. This fixes problems with some systems where some logic gets confused. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit a1133d8e4ffc2db751eb987a2f3cf8ead67927c3 Author: Maciej W. Rozycki Date: Wed May 21 22:10:16 2008 +0100 x86: APIC/SMP: downgrade the NMI watchdog for "nosmp" If configured to use the I/O APIC, the NMI watchdog is deemed to fail if the chip has been deactivated as a result of "nosmp". Downgrade to the local APIC watchdog similarly to what is done for the UP case. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 73d08e636026bbcb413d4864ca5e917502f8a0f9 Author: Maciej W. Rozycki Date: Wed May 21 22:09:43 2008 +0100 x86: APIC/SMP: correct the message for "nosmp" The local APIC is no longer forced off when "nosmp" has been specified. Correct the message printed. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit 60134ebe795b728dbb960485a8e873c3250ada36 Author: Maciej W. Rozycki Date: Wed May 21 22:09:34 2008 +0100 x86: I/O APIC: keep IRQ off when changing LVT registers Disable the 8259A acting in the "virtual wire" mode to keep the interrupt line inactive while fiddling with local APIC interrupt vector registers associated with its destination inputs. To be on the safe side, especially concerning flipping the trigger mode. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit e67465f1298671266a8e824c1751afdb7c08c860 Author: Maciej W. Rozycki Date: Wed May 21 22:09:26 2008 +0100 x86: I/O APIC: clean up after a fasteoi failure Disable the 8259A when routing of the timer interrupt through the chip to the local APIC of the primary processor has failed. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit ecd29476ae0143b1c3641edfa76c0fc3e9ad3021 Author: Maciej W. Rozycki Date: Wed May 21 22:09:19 2008 +0100 x86: I/O APIC: remove parameters to fiddle with the 8259A Remove the "disable_8254_timer" and "enable_8254_timer" kernel parameters. Now that AEOI acknowledgements are no longer needed for correct timer operation, the 8259A can be kept disabled unconditionally unless interrupts, either timer or watchdog ones, are actually passed through it. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit d11d5794e0c21a1054e6cd57381050a999ad7232 Author: Maciej W. Rozycki Date: Wed May 21 22:09:11 2008 +0100 x86: I/O APIC: AEOI timer acknowledgement clean-ups The code that used to be in do_slow_gettimeoffset() that relied on the IRR bit of the master 8259A PIC for IRQ0 to check the state of the output timer 0 of the PIT is no longer there. As a result, there is no need to use the POLL command to acknowledge the timer interrupt in the "8259A Virtual Wire", except for the NMI watchdog when the i82489DX APIC is used (this is because this particular APIC treats NMIs as level-triggered and keeping the input asserted would keep motherboard NMI sources held off for too long). Remove the unneeded bits and adjust comments accordingly. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit a0176e2485ce6468f9b74264a2fd6c19811f027a Author: Ingo Molnar Date: Mon Jun 16 12:44:17 2008 +0200 Revert "Revert "x86: fix ioapic bug again"" This reverts commit 0b6a39f7ebcb1c82587ce35b401c513eed41ac5c. The changes in tip/x86/apic solve this better. Signed-off-by: Ingo Molnar commit 684eb0163a98bc329193b4aa4535cdd705a5dd58 Author: Jiri Slaby Date: Mon May 12 15:43:37 2008 +0200 x86_64: use PAGE_OFFSET in dump_pagetables Use PAGE_OFFSET macro instead of using 0xffff810000000000UL directly. Signed-off-by: Jiri Slaby Cc: Arjan van de Ven Cc: Andi Kleen Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e92a5a6151f4a467b8c1bde9123c0a9d1a63339 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: add sparse annotations to ioremap arch/x86/mm/ioremap.c:308:11: error: incompatible types in comparison expression (different address spaces) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 65280e613fada41704f35709b6c8952ca4b8750c Author: Thomas Gleixner Date: Mon May 5 16:35:21 2008 +0200 x86: janitor CPA statistics patch 1) Remove __meminit from update_pages_count. It is used inside split_pages() 2) Make the code depend on PROC_FS. Doing statistics for nothing is useless and not adding useless code is nice to the Linux tiny folks. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ce0c0e50f94e8c55b00a722e8c6e8d6c802be211 Author: Andi Kleen Date: Fri May 2 11:46:49 2008 +0200 x86, generic: CPA add statistics about state of direct mapping v4 Add information about the mapping state of the direct mapping to /proc/meminfo. I chose /proc/meminfo because that is where all the other memory statistics are too and it is a generally useful metric even outside debugging situations. A lot of split kernel pages means the kernel will run slower. This way we can see how many large pages are really used for it and how many are split. Useful for general insight into the kernel. v2: Add hotplug locking to 64bit to plug a very obscure theoretical race. 32bit doesn't need it because it doesn't support hotadd for lowmem. Fix some typos v3: Rename dpages_cnt Add CONFIG ifdef for count update as requested by tglx Expand description v4: Fix stupid bugs added in v3 Move update_page_count to pageattr.c Signed-off-by: Andi Kleen Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 93022136fff9e6130aa128a5ed8a599e93ac813c Merge: c49c412... b727946... Author: Ingo Molnar Date: Tue Jul 8 07:47:47 2008 +0200 Merge commit 'v2.6.26-rc9' into x86/cpu commit c49c412a47b5102516d3313d4eba38cb1e968721 Author: Yinghai Lu Date: Thu Jun 19 15:30:31 2008 -0700 x86: make 64bit identify_cpu use cpu_dev v2 v2: fix early_panic on this config: http://redhat.com/~mingo/misc/config-Thu_Jun_19_14_22_37_CEST_2008.bad reason : struct cpu_vendor_dev size is 16, need to make table to be 16 byte alignment also print out the cpu supported... Signed-off-by: Yinghai Lu Cc: Dave Jones Signed-off-by: Ingo Molnar commit dcd32b6a1ffe6c040f8346f7fbaf4318bb8ae41c Author: Yinghai Lu Date: Fri Jun 20 08:18:09 2008 +0200 x86: make 64-bit identify_cpu use cpu_dev we may need to move some functions to common.c later Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3a27dd1ce5de08e21e0266ddf00e6f1f843bfe8b Author: Robert Richter Date: Thu Jun 12 20:19:23 2008 +0200 x86: Move PCI IO ECS code to x86/pci "Form follows function". Code is now where it belongs to. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 24bfdca7b7da971ef9a483303a096ac6d4b3a02c Author: Robert Richter Date: Thu Jun 12 20:19:22 2008 +0200 x86/pci: Renaming k8-bus_64.c to amd_bus.c The name fits better since this is code not only for K8. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 0beefa208bb3a9e581a60125703409ebe6f7fa53 Author: Thomas Gleixner Date: Tue Jun 17 09:12:03 2008 +0200 x86: add C1E aware idle function, fix On Tue, 17 Jun 2008, Rafael J. Wysocki wrote: > > BTW, with the C1E patches reverted I don't get the > WARNING: at /home/rafael/src/linux-next/kernel/smp.c:215 smp_call_function_single+0x3d/0xa2 > in the log. Thomas? The BROADCAST_FORCE notification uses smp_function_call and therefor must be run with interrupts enabled. While at it, add a comment for the BROADCAST_EXIT notifier as well. Reported-and-bisected-by: Rafael J. Wysocki Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aa276e1cafb3ce9d01d1e837bcd67e92616013ac Author: Thomas Gleixner Date: Mon Jun 9 19:15:00 2008 +0200 x86, clockevents: add C1E aware idle function C1E on AMD machines is like C3 but without control from the OS. Up to now we disabled the local apic timer for those machines as it stops when the CPU goes into C1E. This excludes those machines from high resolution timers / dynamic ticks, which hurts especially X2 based laptops. The current boot time C1E detection has another, more serious flaw as well: some BIOSes do not enable C1E until the ACPI processor module is loaded. This causes systems to stop working after that point. To work nicely with C1E enabled machines we use a separate idle function, which checks on idle entry whether C1E was enabled in the Interrupt Pending Message MSR. This allows us to do timer broadcasting for C1E and covers the late enablement of C1E as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ba33ac8a47d33d0b5996d24ddf66c457cd7180b Author: Francois Romieu Date: Sun Jul 6 20:55:12 2008 -0700 amd8111e: delete non NAPI code from the driver. Signed-off-by: Francois Romieu Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit a6676019a794eac967a967c1206a57824b180c9a Author: Francois Romieu Date: Sun Jul 6 20:54:45 2008 -0700 starfire: delete non NAPI code from the driver. Signed-off-by: Francois Romieu Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 6a3d8aa48c1c9d3afc761b862267b9945cc6f281 Author: Francois Romieu Date: Sun Jul 6 20:50:16 2008 -0700 netdev: remove unused S2IO_NAPI Signed-off-by: Francois Romieu Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 35020f1a06edade6f52fc8349e150d95cdf7fd90 Author: Andre Noll Date: Sun Mar 23 15:10:33 2008 +0100 md: sb_equal(): Fix misleading printk. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 7f6ce7692807ad60d9341e41d565a7888a5bc2dd Author: Andre Noll Date: Sun Mar 23 18:34:54 2008 +0100 md: Fix a typo in the comment to cmd_match(). Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 910d8cb3f4ef2c4a5914176592d2f2bc3cd94cdd Author: Andre Noll Date: Tue Mar 25 21:00:53 2008 +0100 md: Fix typo in array_state comment. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 9687a60c78bbf5649d9acbde1e8818be4c8c8b94 Author: Andre Noll Date: Tue Mar 25 22:24:09 2008 +0100 md: sync_speed_show(): Trivial cleanups. - Remove superfluous parentheses. - Make format string match the type of the variable that is printed. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 13e53df354caea8986df951dcb6353c823e1f858 Author: Andre Noll Date: Wed Mar 26 00:07:03 2008 +0100 md: do_md_run(): Fix misleading error message. In case pers->run() succeeds but creating the bitmap fails, we print an error message stating that pers->run() has failed. Print this message only if pers->run() really failed. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 2f9618ce63cb049c5587f5c650f2725c0035aa96 Author: Andre Noll Date: Fri Apr 25 18:57:58 2008 +0200 md: md_getgeo(): Move comment to proper position. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit bb57fc64b251d2696900d8a8f25ad5272d5d9c2a Author: Andre Noll Date: Fri Apr 25 19:06:35 2008 +0200 md: md_ioctl(): Fix misleading indentation. Signed-off-by: Andre Noll Signed-off-by: Neil Brown commit 0529613a1970fef1ba82ded431e2e2ee35b658af Merge: 5b1a4bf... b5470dc... Author: Neil Brown Date: Tue Jul 8 10:13:28 2008 +1000 Merge branch 'for-neil' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/md into for-next commit 5b1a4bf220a8f6f2650fdfdfebfda0f22f674d97 Merge: 1fe797e... b727946... Author: Neil Brown Date: Tue Jul 8 10:11:50 2008 +1000 Merge branch 'master' into for-next commit 337001b6c42938f49a880b1b8306c3ed771a7e61 Author: Rafael J. Wysocki Date: Mon Jul 7 03:36:24 2008 +0200 PCI: Simplify PCI device PM code If the offset of PCI device's PM capability in its configuration space, the mask of states that the device supports PME# from and the D1 and D2 support bits are cached in the corresponding struct pci_dev, the PCI device PM code can be simplified quite a bit. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 404cc2d8ce41ed4031958fba8e633767e8a2e028 Author: Rafael J. Wysocki Date: Mon Jul 7 03:35:26 2008 +0200 PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep Introduce functions pci_prepare_to_sleep() and pci_back_from_sleep(), to be used by the PCI drivers that want to place their devices into the lowest power state appropiate for them (PCI_D3hot, if the device is not supposed to wake up the system, or the deepest state from which the wake-up is possible, otherwise) while the system is being prepared to go into a sleeping state and to put them back into D0 during the subsequent transition to the working state. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit eb9d0fe40e313c0a74115ef456a2e43a6c8da72f Author: Rafael J. Wysocki Date: Mon Jul 7 03:34:48 2008 +0200 PCI ACPI: Rework PCI handling of wake-up * Introduce function acpi_pm_device_sleep_wake() for enabling and disabling the system wake-up capability of devices that are power manageable by ACPI. * Introduce function acpi_bus_can_wakeup() allowing other (dependent) subsystems to check if ACPI is able to enable the system wake-up capability of given device. * Introduce callback .sleep_wake() in struct pci_platform_pm_ops and for the ACPI PCI 'driver' make it use acpi_pm_device_sleep_wake(). * Introduce callback .can_wakeup() in struct pci_platform_pm_ops and for the ACPI 'driver' make it use acpi_bus_can_wakeup(). * Move the PME# handlig code out of pci_enable_wake() and split it into two functions, pci_pme_capable() and pci_pme_active(), allowing the caller to check if given device is capable of generating PME# from given power state and to enable/disable the device's PME# functionality, respectively. * Modify pci_enable_wake() to use the new ACPI callbacks and the new PME#-related functions. * Drop the generic .platform_enable_wakeup() callback that is not used any more. * Introduce device_set_wakeup_capable() that will set the power.can_wakeup flag of given device. * Rework PCI device PM initialization so that, if given device is capable of generating wake-up events, either natively through the PME# mechanism, or with the help of the platform, its power.can_wakeup flag is set and its power.should_wakeup flag is unset as appropriate. * Make ACPI set the power.can_wakeup flag for devices found to be wake-up capable by it. * Make the ACPI wake-up code enable/disable GPEs for devices that have the wakeup.flags.prepared flag set (which means that their wake-up power has been enabled). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 0af4b8c4fb31193dc666f4893107a18fef82baab Author: Rafael J. Wysocki Date: Mon Jul 7 03:34:11 2008 +0200 ACPI: Introduce new device wakeup flag 'prepared' Introduce additional flag 'prepared' in struct acpi_device_wakeup_flags and use it to prevent devices from being enable/disabled do wake up the system multiple times in a row (this does not happen currently, but will be possible after some of the following patches). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 77e766099efc29d8b01db4b8244ff64fa3d3d0ca Author: Rafael J. Wysocki Date: Mon Jul 7 03:33:34 2008 +0200 ACPI: Introduce acpi_device_sleep_wake function The currect ACPI code attempts to execute _PSW at three different places and in one of them only it tries to execute _DSW before _PSW, which is inconsistent with the other two cases. Move the execution of _DSW and _PSW into a separate function called acpi_device_sleep_wake() and call it wherever appropriate instead of executing _DSW and/or _PSW directly. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 44e4e66eeae5338b3ca0b28f8352e60bf18d5ba8 Author: Rafael J. Wysocki Date: Mon Jul 7 03:32:52 2008 +0200 PCI: rework pci_set_power_state function to call platform first Rework pci_set_power_state() so that the platform callback is invoked before the native mechanism, if necessary. Also, make the function check if the device is power manageable by the platform before invoking the platform callback. This may matter if the device dependent on additional power resources controlled by the platform is being put into D0, in which case those power resources must be turned on before we attempt to handle the device itself. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 961d9120fa6f078492a1c762dd91f2c097e56c83 Author: Rafael J. Wysocki Date: Mon Jul 7 03:32:02 2008 +0200 PCI: Introduce platform_pci_power_manageable function Introduce function pointer platform_pci_power_manageable to be used by the platform-related code to point to a function allowing us to check if given device is power manageable by the platform. Introduce acpi_pci_power_manageable() playing that role for ACPI. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 3737b2b1046900660b42e25c904b85e78139d25b Author: Rafael J. Wysocki Date: Mon Jul 7 03:30:55 2008 +0200 ACPI: Introduce acpi_bus_power_manageable function Introduce function acpi_bus_power_manageable() allowing other (dependent) subsystems to check if ACPI is able to power manage given device. This may be useful, for example, for PCI device power management. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit c6c4f070a61b2b6e5cd317a5fbf25255878688a2 Author: Greg KH Date: Thu Jul 3 09:49:39 2008 -0700 PCI: make pci_name use dev_name Also fixes up the sparc code that was assuming this is not a constant. Acked-by: David S. Miller Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jesse Barnes commit 188237e28d7fece0471640ba86f6d8cd164ed085 Author: Saeed Bishara Date: Wed Jul 2 06:06:32 2008 -1100 [ARM] Feroceon: don't disable BPU on boot On Feroceon platforms that have a branch prediction unit, bit 11 of the cp15 control register controls the BPU. This patch keeps the old value of this bit instead of always clearing it. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 2e1117d307dba8185a72bac94e57f057e70590ca Author: Martin Michlmayr Date: Mon Jul 7 21:23:09 2008 +0300 [ARM] Orion: LED support for HP mv2120 The HP mv2120 has several LEDs that are controlled through gpio. Export the health LED, the red SATA LEDs as well as two gpios that control the brightness of _all_ LEDs to userland. The Ethernet and power LEDs can't be controlled through gpio and the blue SATA LEDs are handled via the SATA driver. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6b5cdf0f6d4dc3d98de20d6b0abe8500046f1cb1 Author: Nicolas Pitre Date: Fri Jun 27 18:56:22 2008 -0400 [ARM] Orion: add RD88F5181L-FXO support This patch adds support for the Marvell Orion-VoIP RD-88F5181L-FXO Reference Design, and enables use of the ethernet, USB, Cardbus and mini-PCIe ports. Signed-off-by: Nicolas Pitre commit 70129132322cdbb6683ab9e90419cd5a6f8294d3 Author: Lennert Buytenhek Date: Mon Jun 30 14:25:24 2008 -0400 [ARM] Orion: add RD88F5181L-GE support This patch adds support for the Marvell Orion-VoIP RD2-88F5181L-GE Reference Design, and enables use of the ethernet, USB, Cardbus and mini-PCIe ports. Signed-off-by: Lennert Buytenhek commit 2f8209788d774c66efb5e2991affc06b1d1c7314 Author: Imre Kaloz Date: Thu Jun 26 01:30:41 2008 +0200 [ARM] Orion: add Netgear WNR854T support Signed-off-by: Imre Kaloz Signed-off-by: Lennert Buytenhek commit fa6868508a0102b150ca03d976e3a1c234e4e387 Merge: 5b23538... 4ed4789... Author: Russell King Date: Mon Jul 7 22:21:34 2008 +0100 Merge branch 'machtypes' into orion commit 1191828f8e6454ebb51da3e1da21912f1783e469 Author: John Linn Date: Mon Jul 7 16:17:48 2008 -0400 Input: add new serio driver for Xilinx XPS PS2 IP Added a new driver for Xilinx XPS PS2 IP. This driver is a flat driver to better match the Linux driver pattern. Signed-off-by: Sadanand Signed-off-by: John Linn Signed-off-by: Dmitry Torokhov commit e518f0560a191269bd345178c899c790eb1ad4c8 Author: Benny Halevy Date: Fri Jul 4 15:38:41 2008 +0300 nfsd: take file and mnt write in nfs4_upgrade_open testing with newpynfs revealed this warning: Jul 3 07:32:50 buml kernel: writeable file with no mnt_want_write() Jul 3 07:32:50 buml kernel: ------------[ cut here ]------------ Jul 3 07:32:50 buml kernel: WARNING: at /usr0/export/dev/bhalevy/git/linux-pnfs-bh-nfs41/include/linux/fs.h:855 drop_file_write_access+0x6b/0x7e() Jul 3 07:32:50 buml kernel: Modules linked in: nfsd auth_rpcgss exportfs nfs lockd nfs_acl sunrpc Jul 3 07:32:50 buml kernel: Call Trace: Jul 3 07:32:50 buml kernel: 6eaadc88: [<6002f471>] warn_on_slowpath+0x54/0x8e Jul 3 07:32:50 buml kernel: 6eaadcc8: [<601b790d>] printk+0xa0/0x793 Jul 3 07:32:50 buml kernel: 6eaadd38: [<601b6205>] __mutex_lock_slowpath+0x1db/0x1ea Jul 3 07:32:50 buml kernel: 6eaadd68: [<7107d4d5>] nfs4_preprocess_seqid_op+0x2a6/0x31c [nfsd] Jul 3 07:32:50 buml kernel: 6eaadda8: [<60078dc9>] drop_file_write_access+0x6b/0x7e Jul 3 07:32:50 buml kernel: 6eaaddc8: [<710804e4>] nfsd4_open_downgrade+0x114/0x1de [nfsd] Jul 3 07:32:50 buml kernel: 6eaade08: [<71076215>] nfsd4_proc_compound+0x1ba/0x2dc [nfsd] Jul 3 07:32:50 buml kernel: 6eaade48: [<71068221>] nfsd_dispatch+0xe5/0x1c2 [nfsd] Jul 3 07:32:50 buml kernel: 6eaade88: [<71312f81>] svc_process+0x3fd/0x714 [sunrpc] Jul 3 07:32:50 buml kernel: 6eaadea8: [<60039a81>] kernel_sigprocmask+0xf3/0x100 Jul 3 07:32:50 buml kernel: 6eaadee8: [<7106874b>] nfsd+0x182/0x29b [nfsd] Jul 3 07:32:50 buml kernel: 6eaadf48: [<60021cc9>] run_kernel_thread+0x41/0x4a Jul 3 07:32:50 buml kernel: 6eaadf58: [<710685c9>] nfsd+0x0/0x29b [nfsd] Jul 3 07:32:50 buml kernel: 6eaadf98: [<60021cb0>] run_kernel_thread+0x28/0x4a Jul 3 07:32:50 buml kernel: 6eaadfc8: [<60013829>] new_thread_handler+0x72/0x9c Jul 3 07:32:50 buml kernel: Jul 3 07:32:50 buml kernel: ---[ end trace 2426dd7cb2fba3bf ]--- Bruce Fields suggested this (Thanks!): maybe we need to be doing a mnt_want_write on open_upgrade and mnt_put_write on downgrade? This patch adds a call to mnt_want_write and file_take_write (which is doing the actual work). The counter-calls mnt_drop_write a file_release_write are now being properly called by drop_file_write_access in the exact path printed by the warning above. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 4f83aa302f8f8b42397c6d3703d670f0588c03ec Author: J. Bruce Fields Date: Mon Jul 7 15:02:02 2008 -0400 nfsd: document open share bit tracking It's not immediately obvious from the code why we're doing this. Signed-off-by: J. Bruce Fields Cc: Benny Halevy commit 7ba06b17a1931b2c9e1bee525a8c36920f5be0e0 Author: Ben Dooks Date: Mon Jul 7 18:12:49 2008 +0100 [ARM] s3c2410_defconfig: update for current build Update the s3c2410_defconfig for the current set of added patches. Signed-off-by: Ben Dooks commit a67557801aeda1f9f19e4606a00c948f6054417c Author: Ben Dooks Date: Mon Jul 7 18:12:48 2008 +0100 [ARM] Acer n30: Minor style and indentation fixes. Minor style fixes. Signed-off-by: Ben Dooks commit 9a2ddb7866c2887352e85c6443dfb5e679140aff Author: Christer Weinigel Date: Mon Jul 7 18:12:47 2008 +0100 [ARM] Acer n30: Hardware initialisation. Initialise the hardware register settings on boot, to allow the device to function correctly. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit e43f238390168a13416d4f21803f76b1ff45fb95 Author: Christer Weinigel Date: Mon Jul 7 18:12:46 2008 +0100 [ARM] Acer n30: LCD support. This patch adds the configuration needed for the LCD display on the n30. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 9579087331ee0cd220d29aa5bda79ff55b33c228 Author: Christer Weinigel Date: Mon Jul 7 18:12:45 2008 +0100 [ARM] Acer n30: Add support for n35 and related devices. Add support for the Acer N35 and related devices. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 865cc639a636b58612becfb6a337945c022596ac Author: Christer Weinigel Date: Mon Jul 7 18:12:44 2008 +0100 [ARM] Acer n30: LED support. Add support for the LEDs on the Acer N30. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 620657500263cca4a4d9845eeaeba47e03447075 Author: Christer Weinigel Date: Mon Jul 7 18:12:43 2008 +0100 [ARM] Acer n30: GPIO buttons support Add support for the GPIO buttons on the Acer N30. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit d088e5fe586287da003341e7bbfdad15e0f432f7 Author: Christer Weinigel Date: Mon Jul 7 18:12:42 2008 +0100 [ARM] Acer n30: USB bus pull-up support. Add support for the USB D+ pull up on the Acer N30. This is needed for the USB gadget to work properly. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 196a047574e1465b89bc41fda573efc9b9be70e5 Author: Christer Weinigel Date: Mon Jul 7 18:12:41 2008 +0100 [ARM] Acer n30: Source file cleanups. Clean up some junk from the official kernel. The compile-command is something that's only useful for me personally and doesn't belong in the mainstream kernel. Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks commit 2e16c27aa379793c354012e5fae0aae89103b19b Author: Ben Dooks Date: Mon Jul 7 18:12:40 2008 +0100 [ARM] S3C2443: Add prediv clk and fix setting of h and p clocks Update the S3C2443 clock support to add the prediv clock that is sourced via a divider from msysclk. Also fix the setting of p and h clocks from this prediv clock. Signed-off-by: Ben Dooks commit ba7622a19fabb853b8bbb918a5d76557f88e4274 Author: Ben Dooks Date: Mon Jul 7 18:12:39 2008 +0100 [ARM] S3C2443: Add armdiv and arm clocks Add the armdiv and arm clocks to the S3C2443 clock framework and ensure they are correctly setup. Signed-off-by: Ben Dooks commit 29a7bcfd144a577b5cdb3b735c58e20d0489b30e Author: Ben Dooks Date: Mon Jul 7 18:12:38 2008 +0100 [ARM] S3C2443: Fix s3c2443_clkcon_enable_p() using wrong register. s3c2443_clkcon_enable_p() was reading from the correct register S3C2443_PCLKCON, but then writing the value back to the wrong register S3C2443_HCLKCON. Signed-off-by: Ben Dooks commit 66493c2d88d5086399c5a485d6e41cb76b241a1f Author: Ramax Lo Date: Mon Jul 7 18:12:37 2008 +0100 [ARM] AT2440EVB: Add DM9000A network controller support. Add DM9000AEP network controller support for AT2440EVB. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 4ab9897172b7ff3a1a37b65b53f71c5795a577b0 Author: Ramax Lo Date: Mon Jul 7 18:12:36 2008 +0100 [ARM] S3C2440: Add AT2440EVB board support Add basic support for AT2440EVB board based on Samsung S3C2440 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ramax Lo commit 73422392734bb68c8ff8bc74ce1bbdc32f1b639a Author: Claudio Nieder Date: Mon Jul 7 11:56:30 2008 -0400 Input: add driver for Tabletkiosk Sahara TouchIT-213 touchscreen Signed-off-by: Claudio Nieder Signed-off-by: Dmitry Torokhov commit 66ee156078697cdc013d46aed3b2fee445c325a1 Merge: 946e2ad... e22af66... 4ed4789... Author: Russell King Date: Mon Jul 7 16:26:41 2008 +0100 Merge branches 'ns9x' and 'machtypes' into devel commit 4ed47896935573c8423d05bddda3f269d6e6c613 Author: Russell King Date: Thu Jul 3 16:11:06 2008 +0100 [ARM] mach-types update Update mach-types. Remove invalid or incorrect entries. Signed-off-by: Russell King commit 3bee2a04cf14f599e094a37445f2eb4e6bb316bc Author: Thomas Bogendoerfer Date: Mon Jul 7 09:07:31 2008 -0400 Input: new driver for SGI O2 volume buttons This driver adds support for the volume buttons on the front of every SGI O2 workstation. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Dmitry Torokhov commit b4ecda3e965a87881a94017cb0cd484d65799261 Author: Oliver Neukum Date: Thu Jul 3 12:02:03 2008 -0400 Input: yealink - reliably kill urbs Yealink uses two URBs that submit each other. This arrangement cannot be reliably killed with usb_kill_urb() alone, as there's a window during which the wrong URB may be killed. The fix is to introduce a flag. [dtor@mail.ru: remove spinlock, flag alone should be enough] Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit 4ad88901dd675acb9c8d1eca1f083c3d22cbbd4d Author: Adrian Bunk Date: Thu Jul 3 12:10:52 2008 -0400 Input: q40kbd - make q40kbd_lock static This patch makes the needlessly global q40kbd_lock static. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit f4bc95d7bd5d2e57d5a64b5bcd35928beb7026de Author: Julia Lawall Date: Thu Jul 3 12:10:58 2008 -0400 Input: gtco - eliminate early return There seems to be no reason why this error case should do less cleaning up than the other adjacent ones, so the goto, which is currently dead code, seems to be what is intended. Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 0e7e92fa3c55eee0047ee894b7eb8eb2362d83d9 Author: Carlos Corbacho Date: Mon Jul 7 08:55:31 2008 -0400 Input: i8042 - add Dritek quirk for Acer Aspire 5720 The Acer Aspire 5720 series also requires the Dritek quirk to enable the extra scancodes. Signed-off-by: Carlos Corbacho Signed-off-by: Dmitry Torokhov commit 5e329d1c7f5fe6adfee99c783fa98bda7dae8ac5 Author: Stefan Schmidt Date: Fri Jun 6 10:12:37 2008 +0100 [ARM] 5079/1: Warn people when using pxa2xx-gpio.h Warn people when using pxa2xx-gpio.h as it is only here for backwards compatibility. The new mfp-pxa2[57]x.h and the relevant API should be used instead. Signed-off-by: Stefan Schmidt Signed-off-by: Russell King commit f1b23586c1f50d4c5684e56395140ec1cd8b688d Author: Philipp Zabel Date: Mon Jun 30 18:08:11 2008 +0100 [ARM] 5135/1: pxa: drop superfluous asm/arch/pxa2xx-gpio.h includes Both i2c-pxa.c and irq.c still include pxa2xx-gpio.h although is is not needed anymore. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit 9f17f2874834f4cdbe48cc05676d8f7558793204 Author: Jaya Kumar Date: Sun Jun 22 04:27:28 2008 +0100 [ARM] 5118/1: pxafb: add exit and remove handlers This patch adds exit and remove handlers to pxafb so that it can be loaded and unloaded as a module. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit 5a2cc50f166babc26103279c4fbc9f2bf73b79de Author: eric miao Date: Mon May 26 03:28:09 2008 +0100 [ARM] 5063/1: pxa: add clk support for pxa2xx I2S Signed-off-by: Eric Miao Acked-by: Mark Brown Signed-off-by: Russell King commit 938870491f0cad030b358af47e28d124b72702d1 Author: Dmitry Baryshkov Date: Mon Jul 7 10:50:06 2008 +0100 [ARM] 5152/1: Add myself to tosa maintainers list Since the beginning of this year I'm providing fixes and updates for the Sharp SL-6000 (tosa). Add myself as one of the maintainers of the machine. Cc: Dirk Opfer Signed-off-by: Dmitry Baryshkov Acked-by: Eric Miao Signed-off-by: Russell King commit 0121702dbaf961b4c996f2579d4286a0a1ed877c Author: Dmitry Baryshkov Date: Mon Jul 7 10:09:29 2008 +0100 [ARM] 5151/1: Tosa: remove double inclusion of linux/delay.h The patch applies to the linux-next tree. Signed-off-by: Alexander Beregalov Acked-by: Dmitry Baryshkov Signed-off-by: Russell King commit 16b32fd0a35b30cbd67395cfcbd360354db44f39 Author: Dmitry Baryshkov Date: Sat Jul 5 09:02:48 2008 +0100 [ARM] 5150/1: Tosa: support built-in bluetooth power-up The driver is pretty much generic and will be later shared with a few other devices, like hx4700 ipaq. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 5289fecda021828af85fccc8cc2613a85d0fcf52 Author: Dmitry Baryshkov Date: Fri Jun 27 10:38:44 2008 +0100 [ARM] 5129/1: tosa: tmio-nand data Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit f024ff10b1ab13da4d626366019fd05c49721af7 Author: Dmitry Baryshkov Date: Fri Jun 27 10:37:57 2008 +0100 [ARM] 5128/1: tc6393xb: tmio-nand support Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit aa613de676986f136fa6f48a4d709b5d264f4f38 Author: Dmitry Baryshkov Date: Fri Jun 27 10:37:19 2008 +0100 [ARM] 5127/1: Core MFD support This patch provides a common subdevice registration system for MFD type chips, using platfrom device. Signed-off-by: Ian Molton Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 53b14ea336ca45f34821ad78a1b45c2315283621 Author: Dmitry Baryshkov Date: Sat Jun 14 11:43:36 2008 +0100 [ARM] 5099/1: Tosa: support AC-in detection. Add support for ac-in via pda_power device. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 4440cbd69fc71bab8ed932e237b2a453b365ab9b Author: Dmitry Baryshkov Date: Sat Jun 14 11:42:57 2008 +0100 [ARM] 5098/1: fix sound/soc/pxa/tosa.c to new gpio api The sound/soc/pxa/tosa.c contains dependencies on parts that never ever hit mainline. Replace them with current support for tc6393xb. Signed-off-by: Dmitry Baryshkov Acked-by: Mark Brown Signed-off-by: Russell King commit bf0116e54e185fd63025f2b975f0f1616ffe41f1 Author: Dmitry Baryshkov Date: Sat Jun 14 11:42:02 2008 +0100 [ARM] 5097/1: Tosa: support TC6393XB device Add definitions for Toshiba TC6393XB companion chip and register the tc6393xb device. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit d6315949ac5527efd00d48283a9e33361c86e8e9 Author: Dmitry Baryshkov Date: Sun Jun 22 12:01:58 2008 +0100 [ARM] 5096/2: Support Toshiba TC6393XB Mobile I/O Controller. Add support for Toshiba TC6393XB companion chip. Currently only GPIO and part of IRQ features of the device are supported. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit b032fccca80cbbedaa80e5a72a202a43f08aa97e Author: Dmitry Baryshkov Date: Thu Jun 12 11:42:07 2008 +0100 [ARM] 5083/2: Tosa: fix IrDA transciver powerup. On tosa the tranciver LED isn't powered down if the GPIO47 (STUART_TX) isn't configured as low-level. Power it down if IrDA is off to save a bit of power. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit debba222b20c7e98d7875d9c70552b3094038ab2 Author: Dmitry Baryshkov Date: Wed Jun 11 13:27:24 2008 +0100 [ARM] 5089/1: tosa: cleanup includes Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit c4d5f8d43a5423a6bbba4eec1fab9c46e8d53c5d Author: Dmitry Baryshkov Date: Mon Jun 9 13:23:50 2008 +0100 [ARM] 5081/1: tosa: fix SD GPIOs This changes SD-related GPIO names to be more informative, and allocates two more SD-related GPIOs. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit c867155cde9905dfbcb16fcadb1840b06f8869d4 Author: eric miao Date: Mon May 26 03:28:50 2008 +0100 [ARM] 5064/1: pxa: explicitly specify tosa keyboard GPIOs' low power states to DRIVE_LOW Signed-off-by: Eric Miao Acked-by: Dmitry Baryshkov Signed-off-by: Russell King commit 86159a98adbb33682a4658c9b1eae95d9c9e25ed Author: Dmitry Baryshkov Date: Thu May 22 16:21:48 2008 +0100 [ARM] 5048/2: Clean up tosa and spitz resetting Use new reset_gpio to reset tosa and spitz PDAs. Signed-off-by: Dmitry Baryshkov Acked-by: Eric Miao Signed-off-by: Russell King commit 4d1fe075e5a84aaae00614cb23096336fda6374f Author: Philipp Zabel Date: Thu May 29 21:18:07 2008 +0100 [ARM] 5069/1: pxa: include pxa2xx-regs.h in reset.c for RSCR The RCSR definition was moved into pxa2xx-regs.h. Signed-off-by: Philipp Zabel Acked-by: Dmitry Baryshkov Signed-off-by: Russell King commit 75f10b465af9efd59906e9079ed9cbda7e0f7a43 Author: Dmitry Baryshkov Date: Thu May 22 16:20:18 2008 +0100 [ARM] 5047/2: Support resetting by asserting GPIO pin This adds support for resetting via assertion of GPIO pin. This e.g. is used on Sharp Zaurus SL-6000. Signed-off-by: Dmitry Baryshkov Acked-by: Eric Miao Signed-off-by: Russell King commit d6d6a86e14a6b5a26c785b45268874a8f7a52b4d Merge: f38bb7d... 1b40a89... Author: Jiri Kosina Date: Mon Jul 7 11:30:31 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 209806aba9d540dde3db0a5ce72307f85f33468f Author: Steven Whitehouse Date: Mon Jul 7 10:07:28 2008 +0100 [GFS2] Allow local DF locks when holding a cached EX glock We already allow local SH locks while we hold a cached EX glock, so here we allow DF locks as well. This works only because we rely on the VFS's invalidation for locally cached data, and because if we hold an EX lock, then we know that no other node can be caching data relating to this file. It dramatically speeds up initial writes to O_DIRECT files since we fall back to buffered I/O for this and would otherwise bounce between DF and EX modes on each and every write call. The lessons to be learned from that are to ensure that (for the time being anyway) O_DIRECT files are preallocated and that they are written to using reasonably large I/O sizes. Even so this change fixes that corner case nicely Signed-off-by: Steven Whitehouse commit 265d529cef6fd57698d79b3c0edd3a8178059ea6 Author: Steven Whitehouse Date: Mon Jul 7 10:02:36 2008 +0100 [GFS2] Fix delayed demote race There is a race in the delayed demote code where it does the wrong thing if a demotion to UN has occurred for other reasons before the delay has expired. This patch adds an assert to catch that condition as well as fixing the root cause by adding an additional check for the UN state. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit 8b7fd21511f9b5016665814e03f7fc948bb64a98 Author: FUJITA Tomonori Date: Mon Jul 7 16:40:26 2008 +0900 x86: clean up amd_iommu documentation amd_iommu=off was replaced with a common parameter, iommu=off. Signed-off-by: FUJITA Tomonori Cc: joerg.roedel@amd.com Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: rjw@sisk.pl Signed-off-by: Ingo Molnar commit 4d51c7587bb13dbb2fafcad6c0b5231bd864b55f Merge: d763d5e... f4628e6... Author: Ingo Molnar Date: Mon Jul 7 08:08:19 2008 +0200 Merge branch 'tracing/mmiotrace-mergefixups' into tracing/mmiotrace commit d763d5edf945eec47bd443b699f174976f0afc13 Merge: 790e2a2... 1b40a89... Author: Ingo Molnar Date: Mon Jul 7 08:07:35 2008 +0200 Merge branch 'linus' into tracing/mmiotrace commit 032f82786f9be4635acaa5f77feca175a4ac5fe1 Merge: 46ac22b... b727946... Author: Ingo Molnar Date: Mon Jul 7 08:01:26 2008 +0200 Merge commit 'v2.6.26-rc9' into sched/devel commit 38b221957b155ef410bdc28856a66386303fbd5a Author: Patrick McHardy Date: Sun Jul 6 20:48:41 2008 -0700 netdrv: don't truncate VLAN TCI with VLAN stripping The vlan_hwaccel_{rx,receive_skb} functions expect the full TCI field for priority mappings, don't truncate the upper 4 bits. Signed-off-by: Patrick McHardy Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 4b5a698ef423eebc37cfacc6d3376d6dffd5bf83 Author: Patrick McHardy Date: Sun Jul 6 15:49:08 2008 -0700 net: fix dev_set_promiscuity() breakage Commit dad9b335 (netdevice: Fix promiscuity and allmulti overflow) broke dev_set_promiscuity() by returning on success without reprogramming the device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9982fbface82893e77d211fbabfbd229da6bdde6 Author: Ingo Molnar Date: Sun Jul 6 14:24:08 2008 +0200 Revert "cpumask: introduce new APIs" This reverts commit acb7669c125676e63cf96582455509216c39745e. the wrappers are not needed anymore. Signed-off-by: Ingo Molnar commit 68083e05d72d94f347293d8cc0067050ba904bfa Merge: 7baac8b... b727946... Author: Ingo Molnar Date: Sun Jul 6 14:23:39 2008 +0200 Merge commit 'v2.6.26-rc9' into cpus4096 commit 5e374fb62621aca9522f76c2317c9acda75a8e88 Author: Jens Axboe Date: Tue Jul 1 13:12:04 2008 +0200 generic-ipi: fixlet create proper stackframe. Signed-off-by: Ingo Molnar commit fb0305ce1b03f6ff17f84f2c63daccecb45f2805 Author: Patrick McHardy Date: Sat Jul 5 23:40:21 2008 -0700 net-sched: consolidate default fifo qdisc setup Signed-off-by: Patrick McHardy Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit aee18a8cf28808b7302ef698d77fa73883e60f1b Author: Patrick McHardy Date: Sat Jul 5 23:23:27 2008 -0700 net-sched: sch_htb: remove write-only qdisc filter_cnt The filter_cnt is supposed to count filter references to a class. Since the qdisc can't be the target of a filter, it doesn't need a filter_cnt. In fact the counter is never decreased since cls_api considers a return value of zero a failure and doesn't unbind again. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4207759939c208f24d7e09596753e67b6bc188f9 Author: Patrick McHardy Date: Sat Jul 5 23:22:53 2008 -0700 net-sched: sch_htb: remove child and sibling lists Now that the qdisc isn't destroyed in hierarchical order anymore, the only user of the child lists left is htb_parent_last_child(). This can be easily changed to use a counter of children to save a few bytes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4c1f3e0c59be0e6566d9c00b1d8b204ffb861a2 Author: Patrick McHardy Date: Sat Jul 5 23:22:35 2008 -0700 net-sched: sch_htb: use dynamic class hash helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fbd8f1379aeeb3e44a59302a6b2850636130bb2a Author: Patrick McHardy Date: Sat Jul 5 23:22:19 2008 -0700 net-sched: sch_htb: move hash and sibling list removal to htb_delete Hash list removal currently happens twice (once in htb_delete, once in htb_destroy_class), which makes it harder to use the dynamically sized class hash without adding special cases for HTB. The reason is that qdisc destruction destroys classes in hierarchical order, which is not necessary if filters are destroyed in a separate iteration during qdisc destruction. Adjust qdisc destruction to follow the same scheme as other hierarchical qdiscs by first performing a filter destruction pass, then destroying all classes in hash order. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d77fea2eb9206833c7aa1b013044ddeb5225b92c Author: Patrick McHardy Date: Sat Jul 5 23:22:05 2008 -0700 net-sched: sch_cbq: use dynamic class hash helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit be0d39d52ce35554e856de7e9ea37ac1fa4a7f91 Author: Patrick McHardy Date: Sat Jul 5 23:21:47 2008 -0700 net-sched: sch_hfsc: use dynamic class hash helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6fe1c7a5556807e9d7154a2d2fb938d8a9e47e5f Author: Patrick McHardy Date: Sat Jul 5 23:21:31 2008 -0700 net-sched: add dynamically sized qdisc class hash helpers Currently all qdiscs which allow to create classes uses a fixed sized hash table with size 16 to hash the classes. This causes a large bottleneck when using thousands of classes and unbound filters. Add helpers for dynamically sized class hashes to fix this. The following patches will convert the qdiscs to use them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea2aca084ba82aaf7c148d04914ceed8758ce08a Merge: f3032be... c5a78ac... Author: David S. Miller Date: Sat Jul 5 23:08:07 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wan/hdlc_fr.c drivers/net/wireless/iwlwifi/iwl-4965.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit f3032be921cd126615ce3bfd7084e3d319f3f892 Merge: 70c03b4... 18d7260... Author: David S. Miller Date: Sat Jul 5 21:41:53 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 70c03b49b80ba3634958acc31853771019c0ebd3 Author: Patrick McHardy Date: Sat Jul 5 21:26:57 2008 -0700 vlan: Add GVRP support Add GVRP support for dynamically registering VLANs with switches. By default GVRP is disabled because we only support the applicant-only participant model, which means it should not be enabled on vlans that are members of a bridge. Since there is currently no way to cleanly determine that, the user is responsible for enabling it. The code is pretty small and low impact, its wrapped in a config option though because it depends on the GARP implementation and the STP core. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce305002e1c9b90c2c151ce18bab0b895dd55ae6 Author: Patrick McHardy Date: Sat Jul 5 21:26:41 2008 -0700 vlan: Move device unregistration before lower dev cleanup Move the unregister_netdevice() call for the VLAN device before cleanup for the lower device. This is needed by GVRP so it can send a leave message before the applicant on the lower device is cleaned up. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b3ce0325f2bf1bb737cb8fc7c349ce8fefdd9e40 Author: Patrick McHardy Date: Sat Jul 5 21:26:27 2008 -0700 vlan: Change vlan_dev_set_vlan_flag() to handle multiple flags at once Change vlan_dev_set_vlan_flag() to handle multiple flags at once and rename to vlan_dev_change_flags(). This allows to to use it from the netlink interface, which in turn allows to handle necessary adjustments when changing flags centrally. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit eca9ebac651f774d8b10fce7c5d173c3c3d3394f Author: Patrick McHardy Date: Sat Jul 5 21:26:13 2008 -0700 net: Add GARP applicant-only participant Add an implementation of the GARP (Generic Attribute Registration Protocol) applicant-only participant. This will be used by the following patch to add GVRP support to the VLAN code. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c85fbf0657f216557b0c9c4a2e4e07f37d8bb8c Author: Patrick McHardy Date: Sat Jul 5 21:25:56 2008 -0700 bridge: Use STP demux Use the STP demux layer for receiving STP PDUs instead of directly registering with LLC. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a19800d704177caaa5874baf5819307c5b7d5e4f Author: Patrick McHardy Date: Sat Jul 5 21:25:39 2008 -0700 net: Add STP demux layer Add small STP demux layer for demuxing STP PDUs based on MAC address. This is needed to run both GARP and STP in parallel (or even load the modules) since both use LLC_SAP_BSPAN. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef28d1a20f9f18ebf1be15ef6f097a76f9a63499 Author: Pavel Emelyanov Date: Sat Jul 5 21:19:40 2008 -0700 MIB: add struct net to UDP6_INC_STATS_BH Signed-off-by: Pavel Emelyanov Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 235b9f7ac53489011d32efeb89e12e308fdd2c64 Author: Pavel Emelyanov Date: Sat Jul 5 21:19:20 2008 -0700 MIB: add struct net to UDP6_INC_STATS_USER As simple as the patch #1 in this set. Signed-off-by: Pavel Emelyanov Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0283328e2360bbf3081e97f1b720dd4c4dbae111 Author: Pavel Emelyanov Date: Sat Jul 5 21:18:48 2008 -0700 MIB: add struct net to UDP_INC_STATS_BH Two special cases here - one is rxrpc - I put init_net there explicitly, since we haven't touched this part yet. The second place is in __udp4_lib_rcv - we already have a struct net there, but I have to move its initialization above to make it ready at the "drop" label. Signed-off-by: Pavel Emelyanov Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 629ca23c331ec75ac87b016debbb3c4d2fe62650 Author: Pavel Emelyanov Date: Sat Jul 5 21:18:07 2008 -0700 MIB: add struct net to UDP_INC_STATS_USER Nothing special - all the places already have a struct sock at hands, so use the sock_net() net. Signed-off-by: Pavel Emelyanov Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4ce2417bfb3c7b1c5ed449782f4d86bafd7f1b69 Merge: 32cb5b4... 055e511... Author: David S. Miller Date: Sat Jul 5 21:03:31 2008 -0700 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 32cb5b4e035e3d7b52f1e9de87920645a00e5234 Author: Denis V. Lunev Date: Sat Jul 5 19:06:12 2008 -0700 netns: selective flush of rt_cache dst cache is marked as expired on the per/namespace basis by previous path. Right now we have to implement selective cache shrinking. This procedure has been ported from older OpenVz codebase. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e84f84f276473dcc673f360e8ff3203148bdf0e2 Author: Denis V. Lunev Date: Sat Jul 5 19:04:32 2008 -0700 netns: place rt_genid into struct net Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b00180defdeeac8e07e3dc02e53e7395d42bbd19 Author: Denis V. Lunev Date: Sat Jul 5 19:04:09 2008 -0700 ipv4: pass current value of rt_genid into rt_hash Basically, there is no difference to atomic_read internally or pass it as a parameter as rt_hash is inline. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 86c657f6b5bbf2f3ec2213eca528998134a9b344 Author: Denis V. Lunev Date: Sat Jul 5 19:03:31 2008 -0700 netns: add struct net parameter to rt_cache_invalidate Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9f5e97e53675caeda48e9988122a30470f4d309d Author: Denis V. Lunev Date: Sat Jul 5 19:02:59 2008 -0700 netns: make rt_secret_rebuild timer per namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 39a23e75087ce815abbddbd565b9a2e567ac47da Author: Denis V. Lunev Date: Sat Jul 5 19:02:33 2008 -0700 netns: register net.ipv4.route.flush in each namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 639e104facec20f64f2eb940851ae45e5f255e6b Author: Denis V. Lunev Date: Sat Jul 5 19:02:06 2008 -0700 ipv4: remove static flush_delay variable flush delay is used as an external storage for net.ipv4.route.flush sysctl entry. It is write-only. The ctl_table->data for this entry is used once. Fix this case to point to the stack to remove global variable. Do this to avoid additional variable on struct net in the next patch. Possible race (as it was before) accessing this local variable is removed using flush_mutex. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ae299fc051aa68ca6ef1807c37bb92d9b6ff817c Author: Denis V. Lunev Date: Sat Jul 5 19:01:28 2008 -0700 net: add fib_rules_ops to flush_cache method This is required to pass namespace context into rt_cache_flush called from ->flush_cache. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 76e6ebfb40a2455c18234dcb0f9df37533215461 Author: Denis V. Lunev Date: Sat Jul 5 19:00:44 2008 -0700 netns: add namespace parameter to rt_cache_flush Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1bd55a436f1f90de0e7f476e514e01bd67497b88 Author: Juergen Beisert Date: Sat Jul 5 10:03:02 2008 +0200 i.MX2 family: Add basic mach support This patch adds basic mach support for the mx2 processor family, based on the original freescale code and adapted to mainline kernel coding style. This part adds the global build only. Signed-off-by: Juergen Beisert commit ff6552e4f3505da9c2886098773146be71c872e3 Author: Juergen Beisert Date: Sat Jul 5 10:03:01 2008 +0200 i.MX27 family: Add the Phytec PCM970 evaluation board The Phytec phyCORE-i.MX27 CPU module is delivered with the PCM970 baseboard by default. This patch adds support for the hardware. This code is only an empty stub; it is filled up with functionality in a later patch series. Signed-off-by: Juergen Beisert commit 7e5e9f5457f5cd019fd7e2f3da94e9fc72cc9ff6 Author: Juergen Beisert Date: Sat Jul 5 10:03:00 2008 +0200 i.MX27: Adding PCM038 platform support This patch adds support for the phyCORE-i.MX27 cpu module (aka pcm038). It is as generic as possible in order to support any kind of baseboard. Note: This CPU module implementation can't work without a baseboard support. Baseboard support can be added by the PCM-970 (included in this patch stack) or any custom variant. Signed-off-by: Juergen Beisert commit 80eedae6f0322dafc749140b67986b2472473745 Author: Juergen Beisert Date: Sat Jul 5 10:03:00 2008 +0200 i.MX27: Add ADS platform support This patch adds basic support for the Freescale MX27ADS reference board. Currently only a serial console can be used. Signed-off-by: Juergen Beisert commit c46f5856517c2d4f438df87dac81f2295931ee93 Author: Juergen Beisert Date: Sat Jul 5 10:02:59 2008 +0200 i.MX2 family: Add clock handling for i.MX27 CPU Internal clock path handling for the i.MX27 CPU. Changed against the original Freescale code (and against clocklib for example): - clock rate is always calculated whenever one ask for the current rate. (means no "rate" member in the clock structure). So switching the PLL base frequency will propagate immediately to all other clocks that are depending on this frequency. TODO: - Check if the i.MX21 CPU can share the same code. Signed-off-by: Juergen Beisert commit f31405cc4cc568baad28273c7f45b0563b57a17d Author: Juergen Beisert Date: Sat Jul 5 10:02:59 2008 +0200 i.MX27 CPU: Add basic i.MX27 CPU support Add basic i.MX27 CPU support Signed-off-by: Juergen Beisert commit 604cbadce2292d979749e2f5c6c3f75ee10f4c9e Author: Sascha Hauer Date: Sat Jul 5 10:02:58 2008 +0200 MX2 add support for mx2 in i.MX serial driver add support for mx2 in i.MX serial driver Signed-off-by: Sascha Hauer commit fc80a5e3d0480d416e4f53b0680aaf525b5076d8 Author: Juergen Beisert Date: Sat Jul 5 10:02:57 2008 +0200 i.MX2 family: Add basic device support This patch adds a few on-chip devices for i.MX21/i.MX27 procesors. Signed-off-by: Juergen Beisert commit 32dc80c9cb13a7ce686bcc26efcf39e35719b466 Author: Juergen Beisert Date: Sat Jul 5 10:02:56 2008 +0200 i.MX2 family: Add basic mach support (headers) This patch adds basic mach support for the mx2 processor family, based on the original freescale code and adapted to mainline kernel coding style. Signed-off-by: Juergen Beisert commit eea643f7ff04fe17c3ff71d41a9487c0753bd821 Author: Juergen Beisert Date: Sat Jul 5 10:02:56 2008 +0200 i.MX2 family: Add basic mach support (sources) This patch adds basic mach support for the mx2 processor family, based on the original freescale code and adapted to mainline kernel coding style. Signed-off-by: Juergen Beisert commit aa10abd381b9493a88f6b9e111adc79e33d548fa Author: Juergen Beisert Date: Sat Jul 5 10:02:55 2008 +0200 i.MX2 family: Add GPIO multiplexing support This patch adds GPIO multiplexing support for the imx1/mxc2 family of procesors. Signed-off-by: Juergen Beisert commit 259bcaae9a2f28d7e3303b202b64a1fb0a9ab9e4 Author: Juergen Beisert Date: Sat Jul 5 10:02:54 2008 +0200 MXC arch: Simplify architecture's irq sources Simplify architecture's irq headers and sources, to share these files between MXC3 and MXC2. Signed-off-by: Juergen Beisert commit 9e8a30dce1bd38cf7b941c707da504d28a907f5c Author: Juergen Beisert Date: Sat Jul 5 10:02:53 2008 +0200 MX3: Adapt mx31lite to new timer init style This patch converts the external "add_mx31lite-basic_defconfig.diff" to our MXC implementation. Note: This patch fixes a board reference only. Signed-off-by: Juergen Beisert commit 9a4cd7a5c836e189a1712c9ffd2d76b2302ce212 Author: Daniel Mack Date: Sat Jul 5 10:02:53 2008 +0200 MX3: Add basic support for LogicPD i.MX31 LiteKit This patch adds basic support for i.MX31 LiteKit by LogicPD. With printascii() in kernel/printk.c, it boots right into the rootfs-panic. Note: This is a modified version of Daniel's patch to fit into this patch stack. > On 09.06.2008, at 17:26, Russell King - ARM Linux wrote: > > > I would much prefer it if board specific includes were included by the > > code which needs them rather than in asm/arch/hardware.h.  With the > > device model, drivers shouldn't need to include any board specific > > includes - only the board specific C file should need it. > > The new version of this patch (#5102) has been uploaded to the patch > tracker this morning. Signed-off-by: Daniel Mack -- arch/arm/configs/mx31litekit_defconfig | 1100 ++++++++++++++++++++++++++++++ arch/arm/mach-mx3/Kconfig | 7 arch/arm/mach-mx3/Makefile | 1 arch/arm/mach-mx3/mx31lite.c | 96 ++ include/asm-arm/arch-mxc/board-mx31lite.h | 38 + include/asm-arm/arch-mxc/debug-macro.S | 3 6 files changed, 1245 insertions(+) commit ce8ffef0bfd6e55d5da3923d8e9af27c3b5c4eff Author: Sascha Hauer Date: Sat Jul 5 10:02:52 2008 +0200 MX31: add basic pcm037 board support This patch adds basic board support for phytecs pmc037 board. Signed-off-by: Sascha Hauer commit 1b53218bfa4c0e17fc16ff7fadb85b82bbd3c77c Author: Juergen Beisert Date: Sat Jul 5 10:02:51 2008 +0200 i.MX3: Add a basic default config for the imx31ads (reference only) Currently there is a mx31ads BSP file in the kernel, but no default config file. This patch adds a basic default config for the imx31ads but it is for test purposes only to ensure the i.MX2 patch stack doesn't break the i.MX3. Note: For reference only. This configuration is untested as I have no access to an mx31ads. Signed-off-by: Juergen Beisert commit 4bc256501a159abc7e9fee43f63c68894f6a11d8 Author: Sascha Hauer Date: Sat Jul 5 10:02:51 2008 +0200 MXC: add debug-macro.S for mxc This patch adds debug-macro.S for arch-mxc Disadvantage: Due to the board specific UART definition, these macros (and compile time) will fail for multi board kernels. Signed-off-by: Sascha Hauer commit d0f349fbce2905607e0473d2358f97f48866e52c Author: Juergen Beisert Date: Sat Jul 5 10:02:50 2008 +0200 i.MXC family: Adding timer support This patch adds timer support for the i.MX machine family. This code can be used on the following machs: - i.MX1 (tested) - i.MX2 (i.MX21 (to be tested), i.MX27 (tested)) - i.MX3 (i.MX31 (tested)) TODO: It seems impossible to build a kernel for more than one CPU because the timer do not follow the platform device rules. So it does only work if timer 1 can be accessed on all CPUs at the same address. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 90292ea60f1c730efb9fea02b2e12676da89ebef Author: Sascha Hauer Date: Sat Jul 5 10:02:50 2008 +0200 MXC: add io multiplexing functions for mx3 This patch adds functions to use the io multiplexer on mx3 platforms. Signed-off-by: Sascha Hauer commit 07bd1a6cc7cbb3f373fbe49b204c6cde5e9155fc Author: Juergen Beisert Date: Sat Jul 5 10:02:49 2008 +0200 MXC arch: Add gpio support for the whole platform This patch bases on the one from Daniel Mack. The most important change to Daniel's patch is to be more generic. This gpio routine supports at least the i.MX27 and i.MX31 processors. Signed-off-by: Juergen Beisert Acked-by: Daniel Mack commit e3d13ff4b9d3b05d7a969153e2c049548e25deea Author: Sascha Hauer Date: Sat Jul 5 10:02:48 2008 +0200 mxc: add MX3 support for i.MX internal UART driver This patch adds MX3 support for the i.MX internal uart driver. Signed-off-by: Sascha Hauer commit df1bf4bdb2a3a26d4bde8ae1aefc16385dd4898f Author: Sascha Hauer Date: Sat Jul 5 10:02:48 2008 +0200 i.MX3: introduce clock API This patch introduces the clock API for for arch-mxc Signed-off-by: Sascha Hauer commit c0db2ea4e366c94dd3f880928c02534156e3d1b9 Author: Juergen Beisert Date: Sat Jul 5 10:02:47 2008 +0200 MXC family: Add clock handling Internal clock path handling for the mxc CPUs. Changed against the original Freescale code (and against clocklib for example): - clock rate is always calculated whenever one ask for the current rate (means struct clk has no more a member called "rate"). So switching the PLL base frequency will propagate immediately to all other clocks that are depending on this frequency. Signed-off-by: Juergen Beisert commit 38a41fdf94c449c165213e4665c3f8a0d30f8aba Author: Sascha Hauer Date: Sat Jul 5 10:02:46 2008 +0200 IMX: introduce clock API This patch introduces the clock API for i.MX and converts all in-Kernel drivers to use it. Signed-off-by: Sascha Hauer commit dbff4e9ea2e83fda89143389bfb229cb29425a32 Author: Sascha Hauer Date: Sat Jul 5 10:02:45 2008 +0200 IMX UART: remove statically initialized tables This patch removes the statically initialized tables from the i.MX serial driver and makes the driver fully dependent on the information provided by the platform_device. Signed-off-by: Sascha Hauer commit 2582d8c1655f2eda42d5358a242b256fd6e88571 Author: Sascha Hauer Date: Sat Jul 5 10:02:45 2008 +0200 IMX UART: Add board specific init/exit functions Add platform specific init functions. Also rename the struct platform_device dev into pdev. Signed-off-by: Sascha Hauer commit 036bb15ec94216e28cb1550af0fdcdfb90c549df Author: Sascha Hauer Date: Sat Jul 5 10:02:44 2008 +0200 IMX UART: do not assume 16MHz reference frequency We assumed a 16MHz reference frequency for the UART. While this is true for i.MX1 most of the time it is not true for MX27/MX31. Also, add handling for the ONEMS register which is present on newer versions of the chip and pass a sane minimum baudrate to uart_get_baud_rate(). Signed-off-by: Sascha Hauer commit 63dd10846d4917534e9ec7bddf43be786effe8b8 Author: Sascha Hauer Date: Sat Jul 5 10:02:43 2008 +0200 MXC: do not include board specific header from architecture include do not include board-mx31ads.h from hardware.h, instead include it directly only where needed. Signed-off-by: Sascha Hauer commit 695e12f8d2917378d3b93059209e17415de96204 Author: Benny Halevy Date: Fri Jul 4 14:38:33 2008 +0300 nfsd: tabulate nfs4 xdr encoding functions In preparation for minorversion 1 All encoders now return an nfserr status (typically their nfserr argument). Unsupported ops go through nfsd4_encode_operation too, so use nfsd4_encode_noop to encode nothing for their reply body. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 5b2d281acb04a29fcdc76ced5ca6099565a0747f Author: Roland Dreier Date: Fri Jun 27 14:43:20 2008 -0700 IB/uverbs: BKL is not needed for ib_uverbs_open() Remove explicit lock_kernel() calls and document why the code is safe. Signed-off-by: Roland Dreier Signed-off-by: Jonathan Corbet commit 84e65b0a84a2c856bef36f13d122047678408b0a Author: Richard Kennedy Date: Fri Jul 4 13:56:16 2008 +0100 x86: cacheline_align tss_struct The manual padding to align on cacheline size only worked in 32 bit In 64 bit the structure was not aligned and contained wasted space. use the compiler ____cachline_aligned to save space & properly align this structure. x86_64_default size goes from 9136 -> 8960 x86_64_AMD size goes from 9136 -> 8896 built & running on 2.6.26-rc8. Signed-off-by: Richard Kennedy Signed-off-by: Ingo Molnar commit 055e5110ae0c0c1176a75b78d789294f2ff2f7af Author: Alan Cox Date: Thu Jul 3 23:43:12 2008 -0700 8390: Split 8390 support into a pausing and a non pausing driver core Only a few ISA controllers need the pausing version of the 8390 core while PCMCIA, later ISA and PCI do not. More importantly the ISA delays can break non ISA boxes so we must use a different build of 8390.c for the two sets of controllers. No changes since last time as all the points of concerns raised proved to be invalid Signed-off-by: Alan Cox Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 141766cf9755e773b980238da52f5f5da5c69abe Author: Krzysztof Halasa Date: Tue Jul 1 14:42:07 2008 +0200 WAN: Remove no longer needed pvc_desc in FR code. Remove no longer needed struct pvc_desc in FR code. Requires "WAN: convert drivers to use built-in netdev_stats" patch. Signed-off-by: Krzysztof HaÅ‚asa Signed-off-by: Jeff Garzik commit 198191c4a7ce4daba379608fb38b9bc5a4eedc61 Author: Krzysztof Halasa Date: Mon Jun 30 23:26:53 2008 +0200 WAN: convert drivers to use built-in netdev_stats There is no point in using separate net_device_stats structs when the one in struct net_device is present. Compiles. Signed-off-by: Krzysztof HaÅ‚asa Signed-off-by: Jeff Garzik commit 844290e56067aed0a54142d756565abb9614136c Author: PJ Waskiewicz Date: Fri Jun 27 11:00:39 2008 -0700 igb: add NAPI Rx queue support Update the NAPI implementation to use the new napi_struct infrstructure. This removes the need of multiple net_device structs to implement a multiqueue NAPI. Signed-off-by: PJ Waskiewicz Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 662d7205b3db0bf9ebcae31f30ed72a1bceb47af Author: Alexander Duyck Date: Fri Jun 27 11:00:29 2008 -0700 igb: fix init on 82575 with MNG enabled This patch resolves an issue seen on 82575 adapters with managability pass-thru enabled, which could cause the system to panic. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 652fff321490fc3fcc8e8d302826a9c2379f03d2 Author: Auke Kok Date: Fri Jun 27 11:00:18 2008 -0700 igb: eliminate hw from the hw_dbg macro arguments Various cosmetic cleanups. Comment fixes. Eliminate the hw part out of the hw_dbg macro since it's always used. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit d67ce5338c7c71313f01e508d893bb8104ce459a Author: Alexander Duyck Date: Fri Jun 27 11:00:07 2008 -0700 igb: fix parameter options Currently there are items in the driver to support parameters, but there are no parameters being added to the driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 733596bea6ba7ea7949720b86794eda4e1b793d1 Author: Jeff Kirsher Date: Fri Jun 27 10:59:59 2008 -0700 igb: cleanup function header comments Function header comments do not match function name. Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 3b644cf6cef0324c595b86181220901b5bed0b99 Author: Mitch Williams Date: Fri Jun 27 10:59:48 2008 -0700 igb: Remove adapter struct from these function call parameters Simplify a bunch of calls to these functions by moving the adapter struct out of the function arguments since that is not needed. Signed-off-by: Mitch Williams Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 5c3cad754cba4252f5b4e74fb217e3bdd0c03662 Author: Jeff Kirsher Date: Fri Jun 27 10:59:33 2008 -0700 igb: limit EEPROM access EEPROM access beyond the base eeprom page is unsupported. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 532f4aee934cf26f1905fae101ac9f0ba3087f21 Author: Pekka Enberg Date: Mon Jun 23 14:36:56 2008 +0300 ipg: run-time configurable jumbo frame support Make jumbo frame support configurable via ifconfig mtu option as suggested by Stephen Hemminger. Cc: Stephen Hemminger Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit da02b23192e8c1dc6830fc38840ea1c5e416a43c Author: Pekka Enberg Date: Mon Jun 23 14:36:35 2008 +0300 ipg: per-device max_rxframe_size Add a ->max_rxframe member to struct ipg_nic_private and convert the users of IPG_MAX_RXFRAME_SIZE to use it instead to enable per-device jumbo frame configuration. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit 39f205854c829294f9b4db65100d3abdf9c9c145 Author: Pekka Enberg Date: Mon Jun 23 14:36:18 2008 +0300 ipg: per-device rxsupport_size Add a ->max_rxframe member to struct ipg_nic_private and convert the users of IPG_RXSUPPORT_SIZE to use it instead to enable per-device jumbo frame configuration. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit 18a9cdb9c7ec88f6e94cd8dcb03fb6cded067119 Author: Pekka Enberg Date: Mon Jun 23 14:36:00 2008 +0300 ipg: per-device rxfrag_size Add a ->max_rxframe member to struct ipg_nic_private and convert the users of IPG_RXFRAG_SIZE to use it instead to enable per-device jumbo frame configuration. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit 83042955210aaee70b881240fe4f5e8409235308 Author: Pekka Enberg Date: Mon Jun 23 14:35:37 2008 +0300 ipg: remove jumbo frame #ifdef from mtu Remove JUMBO_FRAME #ifdef from dev->mtu setting in ipg_nic_open() so that we can make IPG_TXFRAG_SIZE configurable. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit 024f4d88b45003710e8e2ee937b0c56aaf2dff2d Author: Pekka Enberg Date: Mon Jun 23 14:35:16 2008 +0300 ipg: always compile in jumbo frame support Add a ->is_jumbo boolean to struct ipg_nic_private and fix up ipg_interrupt_handler() to call the jumbo frame version of ipg_nic_rx() if the boolean is set to true. Also remove the JUMBO_FRAME #ifdefs so we can always compile in support for jumbo frames. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit 16e605a2a0398bc1e693e8571bf0cbc5aa5c00c8 Merge: 44d28ab... 865c652... Author: Jeff Garzik Date: Fri Jul 4 08:35:57 2008 -0400 Merge branch 'r8169-next' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream-next commit 46ac22bab42cc868b9c1d0e915ddbc8e8065a44d Author: Ankita Garg Date: Tue Jul 1 14:30:06 2008 +0530 sched: fix accounting in task delay accounting & migration On Thu, Jun 19, 2008 at 12:27:14PM +0200, Peter Zijlstra wrote: > On Thu, 2008-06-05 at 10:50 +0530, Ankita Garg wrote: > > > Thanks Peter for the explanation... > > > > I agree with the above and that is the reason why I did not see weird > > values with cpu_time. But, run_delay still would suffer skews as the end > > points for delta could be taken on different cpus due to migration (more > > so on RT kernel due to the push-pull operations). With the below patch, > > I could not reproduce the issue I had seen earlier. After every dequeue, > > we take the delta and start wait measurements from zero when moved to a > > different rq. > > OK, so task delay delay accounting is broken because it doesn't take > migration into account. > > What you've done is make it symmetric wrt enqueue, and account it like > > cpu0 cpu1 > > enqueue > > dequeue > enqueue > > run > > Where you add both d1 and d2 to the run_delay,.. right? > Thanks for reviewing the patch. The above is exactly what I have done. > This seems like a good fix, however it looks like the patch will break > compilation in !CONFIG_SCHEDSTATS && !CONFIG_TASK_DELAY_ACCT, of it > failing to provide a stub for sched_info_dequeue() in that case. Fixed. Pl. find the new patch below. Signed-off-by: Ankita Garg Acked-by: Peter Zijlstra Cc: Gregory Haskins Cc: rostedt@goodmis.org Cc: suresh.b.siddha@intel.com Cc: aneesh.kumar@linux.vnet.ibm.com Cc: dhaval@linux.vnet.ibm.com Cc: vatsa@linux.vnet.ibm.com Cc: David Bahi Signed-off-by: Ingo Molnar commit 2087a1ad822cd3a68b73338457047fcc54da726b Author: Gregory Haskins Date: Fri Jun 27 14:30:00 2008 -0600 sched: add avg-overlap support to RT tasks We have the notion of tracking process-coupling (a.k.a. buddy-wake) via the p->se.last_wake / p->se.avg_overlap facilities, but it is only used for cfs to cfs interactions. There is no reason why an rt to cfs interaction cannot share in establishing a relationhip in a similar manner. Because PREEMPT_RT runs many kernel threads as FIFO priority, we often times have heavy interaction between RT threads waking CFS applications. This patch offers a substantial boost (50-60%+) in perfomance under those circumstances. Signed-off-by: Gregory Haskins Cc: npiggin@suse.de Cc: rostedt@goodmis.org Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c4acb2c0669c5c5c9b28e9d02a34b5c67edf7092 Author: Gregory Haskins Date: Fri Jun 27 14:29:55 2008 -0600 sched: terminate newidle balancing once at least one task has moved over Inspired by Peter Zijlstra. Signed-off-by: Gregory Haskins Cc: npiggin@suse.de Cc: rostedt@goodmis.org Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit fb339690a0506d2aca447b5e888fd6ac39ea4fa2 Author: Joerg Roedel Date: Thu Jul 3 19:35:11 2008 +0200 x86, AMD IOMMU: remove unnecessary code from the iommu_enable function This code removes a leftover from the iommu_enable function. The ctrl variable is assigned but never used. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit c1cbebeec4a6be1c1fb54fbf2395ade2534b03c4 Author: Joerg Roedel Date: Thu Jul 3 19:35:10 2008 +0200 x86, AMD IOMMU: don't try to init IOMMU if early detect code did not detect one This patch adds a check if the early detect code has found AMD IOMMU hardware descriptions and does not try to initialize hardware if the check failed. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 8b14518fadd9d5915827d86d5c10e602fedf042e Author: Joerg Roedel Date: Thu Jul 3 19:35:09 2008 +0200 x86, AMD IOMMU: honor iommu=off instead of amd_iommu=off This patch removes the amd_iommu=off kernel parameter and honors the generic iommu=off parameter for the same purpose. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 999ba417cc1a43881126d08876d5d7e653113ae3 Author: Joerg Roedel Date: Thu Jul 3 19:35:08 2008 +0200 x86, AMD IOMMU: flush domain TLB when there is more than one page to flush This patch changes the domain TLB flushing behavior of the driver. When there is more than one page to flush it flushes the whole domain TLB instead of every single page. So we send only a single command to the IOMMU in every case which is faster to execute. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 5f6a59d8ad55781d4d2ff0d327f84aaeed2c4127 Author: Joerg Roedel Date: Thu Jul 3 19:35:07 2008 +0200 x86, AMD IOMMU: remove unnecessary set_bit_string The set_bit_string call in the address allocator is not necessary because its already called in iommu_area_alloc(). Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 18d22200740b83a5d968d3236c27c310b3e8fda6 Author: Joerg Roedel Date: Thu Jul 3 19:35:06 2008 +0200 x86, AMD IOMMU: more verbose Kconfig description text This patch replaces the short description text for AMD IOMMU in Kconfig with a more verbose one. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: robert.richter@amd.com Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit ba8dd03ac09f51a69c154b8cb508b701d713a2cd Author: Heiko Carstens Date: Fri Jul 4 11:26:40 2008 +0200 generic-ipi: fix s390 build bug forgot to remove #include from linux/smp.h while fixing the original s390 build bug. Patch below fixes this build bug caused by header inclusion dependencies: CC kernel/timer.o In file included from include/linux/spinlock.h:87, from include/linux/smp.h:11, from include/linux/kernel_stat.h:4, from kernel/timer.c:22: include/asm/spinlock.h: In function '__raw_spin_lock': include/asm/spinlock.h:69: error: implicit declaration of function 'smp_processor_id' Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit 32502b8413a77b54b9e19809404109590c32dfb7 Author: Miklos Szeredi Date: Fri Jul 4 09:35:17 2008 +0200 splice: fix generic_file_splice_read() race with page invalidation If a page was invalidated during splicing from file to a pipe, then generic_file_splice_read() could return a short or zero count. This manifested itself in rare I/O errors seen on nfs exported fuse filesystems. This is because nfsd uses splice_direct_to_actor() to read files, and fuse uses invalidate_inode_pages2() to invalidate stale data on open. Fix by redoing the page find/create if it was found to be truncated (invalidated). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 8b3d3567f72aa61d5d6f4ce89d289b154e1ea866 Author: Octavian Purdila Date: Fri Jul 4 09:33:33 2008 +0200 ramfs: enable splice write Signed-off-by: Octavian Purdila Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 7c0c0b5b19611ac15eec69043cb5588f6cbfbd7b Author: Christophe Jaillet Date: Fri Jul 4 09:33:17 2008 +0200 drivers/block/pktcdvd.c: avoid useless memset Avoid the 'memset(...,0, ...)' before calling 'init_cdrom_command' because this function already does it. Signed-off-by: Christophe Jaillet Acked-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit fce5384755e8e0e56c5609d2972db4702990d592 Author: FUJITA Tomonori Date: Fri Jul 4 09:33:01 2008 +0200 cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack) The commit 22a9189fd073db3d03a4cf8b8c098aa207602de1 (cdrom: use kmalloced buffers instead of buffers on stack) is introduced to use kmalloced buffers for packet commands to avoid stack corruption on non coherent platforms. SCSI cdrom uses blk_rq_map_kern, which properly avoids DMA on the stack by using the bounce buffers. IDE cdrom also has the mechnism to avoids DMA on the stack. So we don't need this extra complexitiy in cdrom.c, such as allocating just 8 bytes. The lower layers can handle it. Signed-off-by: FUJITA Tomonori Cc: Thomas Bogendoerfer Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 62858dacc8dea55c5bdb474ccd8acb0657e23dd0 Author: FUJITA Tomonori Date: Fri Jul 4 09:31:50 2008 +0200 scsi: sr avoids useless buffer allocation blk_rq_map_kern can handle the stack buffers correctly (avoid DMA from/to the stack buffers by using the bounce buffer) so we don't need to complicate the code by allocating just 8 bytes. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 30c00eda73d5db5bd64dd0c370161abd8df5ba4a Author: FUJITA Tomonori Date: Fri Jul 4 09:31:11 2008 +0200 block: blk_rq_map_kern uses the bounce buffers for stack buffers blk_rq_map_kern is used for kernel internal I/Os. Some callers use this function with stack buffers but DMA to/from the stack buffers leads to memory corruption on a non-coherent platform. This patch make blk_rq_map_kern uses the bounce buffers if a caller passes a stack buffer (on the all platforms for simplicity). Signed-off-by: FUJITA Tomonori Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 27f8221af406e43b529a5425bc99c9b1e9bdf521 Author: FUJITA Tomonori Date: Fri Jul 4 09:30:03 2008 +0200 block: add blk_queue_update_dma_pad This adds blk_queue_update_dma_pad to prevent LLDs from overwriting the dma pad mask wrongly (we added blk_queue_update_dma_alignment due to the same reason). This also converts libata to use blk_queue_update_dma_pad instead of blk_queue_dma_pad. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Cc: Thomas Bogendoerfer Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 2610324fcacf38a24b630090ebcb802538763187 Author: Alan Cox Date: Fri Jul 4 09:29:31 2008 +0200 DAC960: push down BKL Signed-off-by: Alan Cox Cc: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 5b6155ee70e9c4d2ad7e6f514c8eee06e2711c3a Author: Alan Cox Date: Fri Jul 4 09:29:16 2008 +0200 pktcdvd: push BKL down into driver Push the lock_kernel down into the driver and switch to unlocked_ioctl [akpm@linux-foundation.org: build fix] Signed-off-by: Alan Cox Acked-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit be1fd70fea1100c57f3aa1934ebb93abc474e50c Author: Alan Cox Date: Fri Jul 4 09:51:21 2008 +0200 paride: push ioctl down into driver Leaves us with lock_kernel for two methods. Also remove a bogus printk with no printk level and return -ENOTTY not -EINVAL for correctness. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton (Jens: added smp_lock.h include to pt.c, otherwise it wont compile because of missing {un}lock_kernel() definition) Signed-off-by: Jens Axboe commit 72f6befeea7dc634a83219287d5b874734b85637 Author: Hans-Christian Egtvedt Date: Fri Jul 4 09:33:03 2008 +0200 avr32: Fix typo of IFSR in a comment in the PIO header file Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 823ed72e8fe566983b121e8cc3147dd50ce63a8a Author: Harvey Harrison Date: Fri Jul 4 09:28:32 2008 +0200 block: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 1d46e379aae7349069f459618f53fd5193c2fd29 Author: Grant Likely Date: Fri Jul 4 00:59:37 2008 -0600 powerpc/bootwrapper: add missing bit of simpleImage target The wrapper script is missing the bits needed for building generic simpleImage targets (targets which don't depend on any particular firmware interface and retrieve all their data from the device tree). Signed-off-by: Grant Likely commit 70bf0333d72cd66daf7664c44708f65518b267cc Author: Grant Likely Date: Wed Jun 25 13:14:36 2008 -0700 powerpc/bootwrapper: Add documentation of boot wrapper targets There have been many questions on and off the mailing list about how exactly the bootwrapper is used for embedded targets. Add some documentation and help text to try and clarify the system. Signed-off-by: Grant Likely commit 94ec359e45f2d6ec27027055f64bece03ea2bf07 Author: John Linn Date: Wed Jul 2 15:48:34 2008 -0700 powerpc/virtex: add defconfig for virtex 5 platforms This defconfig file is specific to Xilinx Virtex 5 FXT platform. Signed-off-by: John Linn Signed-off-by: Grant Likely commit 23e7237e096aa69e1061294c8af2b592f7802808 Author: John Linn Date: Tue Jul 1 09:42:07 2008 -0700 powerpc/virtex: add Xilinx 440 cpu to the cputable Updates the cputable to include the 440 processor found in the Xilinx Virtex5 FXT FPGA. Signed-off-by: John Linn Signed-off-by: Grant Likely commit 39fd0e92b3dc864f36c1253006b8b831844d36f1 Author: John Linn Date: Thu Jul 3 07:05:04 2008 -0700 powerpc/virtex: add Xilinx Virtex 5 ppc440 platform support Support for the Xilinx Virtex5 FXT 440 is being added. Signed-off-by: John Linn Signed-off-by: Grant Likely commit d58577d8f36f66dbb5dec30fc01dfddda0cfd1fa Author: John Linn Date: Wed Jul 2 15:11:28 2008 -0700 powerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440 The following changes add processing to initialize the Xilinx 16550 UART in the boot wrapper for Virtex targets without firmware. Normally the boot wrapper assumes that the serial port has already been initialized by firmware. The wrapper was also modified to add the 440 build. Signed-off-by: John Linn Signed-off-by: Grant Likely commit dc568ec4906ac2478e2d692adc6b12fbb6e4657e Author: John Linn Date: Tue Jul 1 16:02:54 2008 -0700 powerpc/virtex: add dts file for ML507 reference design This new file adds support for the ML507 reference design. The ML507 uses the Virtex 5 FXT FPGA which embeds a ppc440 core. Signed-off-by: John Linn Signed-off-by: Grant Likely commit e86322f611eef95aafaf726fd3965e5b211f1985 Merge: b001a1b... 8948896... Author: J. Bruce Fields Date: Thu Jul 3 16:24:06 2008 -0400 Merge branch 'for-bfields' of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into for-2.6.27 commit eebfcfb52ce753eaaa8525078bda6b539586066c Author: Greg Kroah-Hartman Date: Wed Jul 2 13:24:49 2008 -0700 PCI: handle pci_name() being const This changes pci_setup_device to handle pci_name() now returning a constant string. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jesse Barnes commit b497549a035c2a81b71c7a27f2b00c8a16c09423 Author: Ben Dooks Date: Thu Jul 3 12:32:51 2008 +0100 [ARM] S3C24XX: Split serial driver into core and per-cpu drivers The S3C2410 serial driver in drivers/serial/s3c2410.c has been growing bigger with the addition of more variants of this hardware with the growing Samsung SoCs range. As such, it would be easier to split this code up into a core and per-cpu drivers to make driver addition easier, and the core smaller. Signed-off-by: Ben Dooks commit 6fc601e37bbb4045ee0afefc76b64284ea800c89 Author: Ben Dooks Date: Tue Jul 1 13:17:24 2008 +0100 [ARM] S3C24XX: PWM API support. Add support for PWM in the S3C24XX series of SoC via the PWM API. Signed-off-by: Ben Dooks commit d5c52922b618aa6ddd6b5ebebc8d0a5ec9a20f10 Author: Matthieu Castet Date: Thu Jul 3 11:24:45 2008 +0100 [ARM] S3C2412: Correct parents for EREFCLK and UREFCLK For s3c2412, set parent for clk_erefclk and clk_urefclk. This allow for example to use xtal or extclk for i2s clock. Signed-off-by: Ben Dooks Signed-off-by: Matthieu Castet commit 9c3871ca59884563e3f41669a330c9231952643b Author: Ben Dooks Date: Thu Jul 3 11:24:44 2008 +0100 [ARM] VR1000: Add tmp101 to list of I2C devices on the board Add tmp101 support via the new style I2C driver registration on the VR1000. Signed-off-by: Ben Dooks commit 7a28db61463d90043f7298a2e130af5630ff06ac Author: Ben Dooks Date: Thu Jul 3 11:24:43 2008 +0100 [ARM] ANUBIS: Add i2c device list to Simtec Anubis Add i2c board info initialiser to setup the list of I2C devices present on an Simtec Anubis. Signed-off-by: Ben Dooks commit 60d6698bb39a16f11006735cde9d55a4654c34ca Author: Ben Dooks Date: Thu Jul 3 11:24:42 2008 +0100 [ARM] VR1000: Add i2c device list to Thorcom VR1000 Add i2c board intialisers to specify the I2C devices attached on the Thorcom VR1000. Signed-off-by: Ben Dooks commit 042cf0f21feebc07b70bab9176c6be59f5fcdbc5 Author: Ben Dooks Date: Thu Jul 3 11:24:41 2008 +0100 [ARM] BAST: Add i2c device list on Simtec Bast Add i2c boardinfo for the connected i2c devices on the Simtec Bast. Signed-off-by: Ben Dooks commit f337422147ca28fad0ff18d67a82c8b475872109 Author: Ben Dooks Date: Thu Jul 3 11:24:40 2008 +0100 [ARM] OSIRIS: Add i2c device list to Simtec Osiris Add an i2c board information initialisers to the board to define which devices are present. Signed-off-by: Ben Dooks commit 9d529c6e7b73088551057445763b2be755a3b82f Author: Ben Dooks Date: Thu Jul 3 11:24:39 2008 +0100 [ARM] S3C24XX: Add physmap device for all Simtec NOR equiped boards. Move to using the physmap platform device code to attached NOR flash on Simtec boards so that the old bast-flash driver can be safely removed. Signed-off-by: Ben Dooks commit b9db83af69e4c61107803c85872d01a45949e052 Author: Ben Dooks Date: Thu Jul 3 11:24:38 2008 +0100 [ARM] ANUBIS: Move to using ata_platform driver (libata) Change the (as yet unused) IDE bus on the Simtec Anubis board to use pata_platform and thus libata to provide IDE support. Signed-off-by: Ben Dooks commit b7a12d1923f12aa00a68347a3ad97c43ecf55667 Author: Ben Dooks Date: Thu Jul 3 11:24:37 2008 +0100 [ARM] BAST/VR1000: Move to using ata_platform (libata) Use the pata_platform driver to provide the IDE port drivers on the Simntec BAST and Thorcom VR1000 machines as a precursor to removing drivers/ide/arm/bast-ide.c This will mean that the system will need SCSI and SCSI disc support as a minimum, and any references to hdX will be changed to sdX. Signed-off-by: Ben Dooks commit dd1086f43dc7205b451ae95e37d4813a9c28611d Author: Ben Dooks Date: Thu Jul 3 11:24:36 2008 +0100 [ARM] JIVE: Add power off on shutdown support Add pm_power_off hook to allow the Logitech Jive to shutdown when asked to halt. Signed-off-by: Ben Dooks commit d10d8a5f79e3e33db1a9f177c54187e2312598f2 Author: Ben Dooks Date: Thu Jul 3 11:24:35 2008 +0100 [ARM] JIVE: Add i2c device info for LIS302DL sensor Add i2c bus definition for the LIS302DL sensor driver which is connected on the i2c bus. Signed-off-by: Ben Dooks commit fd2de272b23bbb866294ff72f55d3731fe6a4c92 Author: Ben Dooks Date: Thu Jul 3 11:24:34 2008 +0100 [ARM] JIVE: Add board definitions for audio Add board definitions for the audio device connected on the Logitech Jive. Signed-off-by: Ben Dooks commit c2c1708f9d2d0435ff136acbb98f8cfbeded09e4 Author: Ben Dooks Date: Thu Jul 3 11:24:33 2008 +0100 [ARM] JIVE: Add LCD display setup information Add the setup information for the LCD display connected to the device. Signed-off-by: Ben Dooks commit a2ed4065159d87d88f2bdc5a3a53e96b76f5a198 Author: Ben Dooks Date: Thu Jul 3 11:24:32 2008 +0100 [ARM] JIVE: Add SPI bus definitions for LCD controller Add the definitions for the VGG2432A4 intelligent LCD display conneected via an GPIO-based SPI bus on the Logitech Jive. Signed-of-by: Ben Dooks commit 0f99263cda230415a48163fe9c30447173f73ff1 Author: Ben Dooks Date: Thu Jul 3 11:24:31 2008 +0100 [ARM] JIVE: Add setup information for the S3C2412 LCD controller Setup the video controller information for the Jive. Signed-off-by: Ben Dooks commit 54c272acd16dbfb7b83948b04bf19ba451885284 Author: Ben Dooks Date: Thu Jul 3 11:24:30 2008 +0100 [ARM] JIVE: Initialise the sleep configuration registers Ensure that the S3C2412 sleep configuration registers are approriately setup so that the device can safely go to sleep. Signed-off-by: Ben Dooks commit 9db829f485c553a0e677a165b37f877bf74f36ff Author: Ben Dooks Date: Thu Jul 3 11:24:29 2008 +0100 [ARM] JIVE: Initial machine support for Logitech Jive This is the base machine support for the Logitech Jive machine. Signed-off-by: Ben Dooks commit b999f0db941f56bb0f68ebf455f6e2960cfd5804 Author: Ben Dooks Date: Thu Jul 3 11:24:27 2008 +0100 [ARM] S3C24XX: Support for PWM timer clocks via clk_* API Add support for the PWM timer clock routing via the standard clk_ API. Signed-off-by: Ben Dooks commit b4b68f8cfaf583945019e41674cfa858c83316c3 Author: Ben Dooks Date: Thu Jul 3 11:24:26 2008 +0100 [ARM] S3C24XX: Add PWM timer MUX defines Add timer defines for the MUX settings for each of the PWM timers to add to the per-timer defines already in the file. Signed-off-by: Ben Dooks commit f348a2a2817e9d24b1edd4befc9659ec83501ca5 Author: Ben Dooks Date: Thu Jul 3 11:24:25 2008 +0100 [ARM] S3C24XX: Add gpiolib support Add support for gpilib on all S3C24XX platforms. Signed-off-by: Ben Dooks commit ed9137f10377a59487cf43c76dd0d3bbf489d799 Author: Ben Dooks Date: Thu Jul 3 11:32:28 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: enable USB subset of drivers Enable a subset of USB drivers which are useful for using on these devices. Signed-off-by: Ben Dooks commit 328dce1fa0407aae96f58ca114d0d80b587b86f5 Author: Ben Dooks Date: Thu Jul 3 11:32:27 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: add SCSI support Enable SCSI support, mainly to help with adding USB storage support later and for the imminent changes for libata. Signed-off-by: Ben Dooks commit 186eb08b8b8c637eac658e58b7dccc1f381a4551 Author: Ben Dooks Date: Thu Jul 3 11:32:26 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update networking options Add the following to the networking confgiuration: 1) Packet socket support (useful for userland dhcp) 2) Add bluetooth and USB bluetooth drivers as modules 3) Add basic IPv6 support as modules. 4) Add the wireless core as modules. Signed-off-by: Ben Dooks commit d947ae572149b30207ce2e0bde5ab0a658059df6 Author: Ben Dooks Date: Thu Jul 3 11:32:25 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update miscellaneous options Add some basic config filesystem, ensure errors are verbose by default. Signed-off-by: Ben Dooks commit fa941dc98668e80c11c7d4faa1c5f5163556bdfe Author: Ben Dooks Date: Thu Jul 3 11:32:24 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update filesystem options Enable new filesystem options, such as: - JFFS2 summary nodes - Ext2/3 externed options - Standard CDROM filesystems Also add NTFS as a module. Signed-off-by: Ben Dooks commit a373473a90122cf5ea5779d62d603fcb3201ab5b Author: Ben Dooks Date: Thu Jul 3 11:32:23 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: enable useful NLS options Enable some useful NLS codepages to be built into the kernel, and build the rest as modules. Signed-off-by: Ben Dooks commit d951f55d6aface8dbeaed2e8d8d35d29afa37921 Author: Ben Dooks Date: Thu Jul 3 11:32:22 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update list of used drivers Update the drivers built, such as the SM501 and parallel port. Signed-off-by: Ben Dooks commit 0acaff300fbdc7752b80b9cd8181bfdcedef012f Author: Ben Dooks Date: Thu Jul 3 11:32:21 2008 +0100 [ARM] S3C24XX: s3c2410_defconfig: update to rc8 Update the s3c2410_defconfig to rc8 Signed-off-by: Ben Dooks commit ea304e394f78af6bafee07e0ed916af9c38abf48 Author: Ben Dooks Date: Thu Jul 3 11:24:23 2008 +0100 [ARM] S3C2410: Add sysfs attribute for serial driver clock source Add attribute to show the current clock source for the serial driver and remove old and annoying debug output. Note, this only currently shows the current source with a "* " prefix to indicate that it is the current source. Future code will list all the clock sources, with the non-selected one with " " prefix. Signed-off-by: Ben Dooks PATCH FOLLOWS KernelVersion: 2.6.26-rc3 commit 9cf345e3991623d4b7e4df2624b898d7f20ec37f Author: Ben Dooks Date: Thu Jul 3 11:24:22 2008 +0100 [ARM] S3C2410: Fix flags on DM9000 resources on BAST and VR1000 Fix the flags entries for the DM9000 IRQ entries on both the Simtec BAST and Thorcom VR1000 board. The current entries use the IRQF_ flags, but we should be using the IORESOURCE_IRQ_ definitions. Signed-off-by: Ben Dooks PATCH FOLLOWS KernelVersion: 2.6.26-rc5 commit f7def13ed0775ee506c62a8612a124dce1776ac2 Author: Paulius Zaleckas Date: Wed Jun 25 13:25:13 2008 +0100 [ARM] 5122/1: imx_dma_request_by_prio simpilfication imx_dma_request_by_prio can return channel number by itself. No need to supply variable address through parameters. Also converted all drivers using this function. Signed-off-by: Paulius Zaleckas Acked-by: Sascha Hauer Signed-off-by: Russell King commit 60a752ef34e23be5e6c91c0734d30447ce15b63b Author: Paulius Zaleckas Date: Wed Jun 25 13:33:14 2008 +0100 [ARM] 5123/1: Select GENERIC_HARDIRQS_NO__DO_IRQ for ARM arch ARM architecture is not using __do_IRQ Acked-By: Uwe Kleine-König Signed-off-by: Paulius Zaleckas Signed-off-by: Russell King commit 826cbdaff29764bb6928c715c6a025e49469dda9 Author: Catalin Marinas Date: Fri Jun 13 10:28:36 2008 +0100 [ARM] 5092/1: Fix the I-cache invalidation on ARMv6 and later CPUs This patch adds the I-cache invalidation in update_mmu_cache if the corresponding vma is marked as executable. It also invalidates the I-cache if a thread migrates to a CPU it never ran on. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 43df5220e455d426ec7462d0bf906e686c65ebb5 Author: Catalin Marinas Date: Mon Jun 23 16:32:14 2008 +0100 [ARM] 5121/1: Annotate platform_secondary_init with trace_hardirqs_off This patch annotates the platform_secondary_init function in arch/arm/mach-realview/platsmp.c with trace_hardirqs_off to avoid a warning when LOCKDEP and TRACE_IRQFLAGS are enabled. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit d41d219e8154885105d631661e5a86ba6461fb81 Author: Matthias Kaehlcke Date: Mon Jun 9 16:24:08 2008 -0700 [ARM] OMAP1: N770: Convert audio_pwr_sem in a mutex ARM: OMAP1: N770: The semaphore audio_pwr_sem is used as a mutex. Convert it to the mutex API [akpm@linux-foundation.org: include mutex.h] Signed-off-by: Matthias Kaehlcke Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 3c093f9f182eef6a8dc535f2c62b36a0320d0db1 Author: Vegard Nossum Date: Mon Jun 9 16:24:10 2008 -0700 [ARM] fix header guards Acked-by: Dan Williams Signed-off-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 6ccc3fc56e4cca6aceb81376fdb5d4c3340e72d8 Author: Adrian Bunk Date: Mon Jun 9 16:24:09 2008 -0700 [ARM] remove drivers/acorn/char/defkeymap-l7200.c The config option for building drivers/acorn/char/defkeymap-l7200.c is not present since at least kernel 2.6.0. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Russell King commit ec42d4481e36cbdb5b2801f957e678211a9e5ae2 Author: Daniel Ritz Date: Thu Jul 3 10:45:37 2008 -0400 Input: usbtouchscreen - ignore eGalax screens supporting HID protocol The newer versions of the eGalax/EETI screen implement the HID protocol. The device IDs are still the same, but the USB interface descriptor shows the device being of HID class. Change usbtouchscreen to ignore the HID models as they are handled properly by usbhid. Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 8fe059df33f82fb785dd795391498ad8bc6fac09 Author: Ben Dooks Date: Fri May 23 11:48:00 2008 +0100 [ARM] 5054/1: S3C2410: Add GPLv2 license to the s3c2410 serial driver The original driver had an MODULE_LICENSE statement for GPL, but no explict license in the header of the file. To make this more explicit, and since I am the original authour, we will add a GPLv2 header. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 05a78966395c5a115be3d38f6eb82efc94ee45b0 Author: Ben Dooks Date: Thu May 22 16:36:45 2008 +0100 [ARM] 5050/1: S3C2410: Cleanup header on S3C2410 serial driver Remove the changelog which should really be found in the version control system. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 89cdb8cebe6ab6590f8083877c4ca5e92303b3b0 Author: Dmitry Torokhov Date: Thu Jul 3 11:00:28 2008 -0400 Input: i8042 - add Medion NAM 2070 to noloop blacklist AUX LOOP command fails with a timeout although this laptop has a touchpad. Signed-off-by: Dmitry Torokhov commit 5b5b43d0b32ea586036638288c31179f00de5443 Author: Jiri Kosina Date: Thu Jul 3 11:00:28 2008 -0400 Input: i8042 - add Gericom Bellagio to nomux blacklist Gericom Bellagio needs to be added to nomux blacklist, otherwise its touchpad misbehaves. Reported-by: Roland Kletzing Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 0376bce7b0659fe1e80d045860087072583ab93f Author: Jiri Kosina Date: Thu Jul 3 10:45:38 2008 -0400 Input: i8042 - add Acer Aspire 1360 to nomux blacklist Acer Aspire 1360 needs to be added to nomux blacklist, otherwise its touchpad misbehaves. Reported-by: Clark Tompsett Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 946e2ad040000a14b7316fae722e7e65fa09ffe5 Merge: 543cf4c... e055d5b... Author: Russell King Date: Thu Jul 3 16:13:28 2008 +0100 Merge branch 'fb' into devel Conflicts: arch/arm/Kconfig commit 341eb781019afbf279b42722b00f63c6db00bf09 Author: Ben Dooks Date: Tue Jul 1 14:16:49 2008 +0100 [ARM] 5140/1: RPC: Use HAVE_PATA_PLATFORM to select pata platform driver Use HAVE_PATA_PLATFORM for ARCH_RPC Cc: Linux ARM Kernel Cc: Russell King Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9ecba1f288d2cf87d1b6a9401d5ce17464eb776d Author: Russell King Date: Sat Apr 19 16:01:38 2008 +0100 [ARM] rpc: ecard: remove deprecated ecard_address() and relatives ecard_address() is obsolete, and has been marked deprecated since at least 2.6.12-rc2. All in-tree users have been updated to use the new approach, so it's time to remove this. Signed-off-by: Russell King commit 50bbb05d60e1897abad92d42bf185314be36bd74 Author: Russell King Date: Sat Apr 19 15:56:08 2008 +0100 [ARM] rpc: deprecate __ioaddr() and __ioaddrc() helpers Now everything is converted to use MMIO accessors, these helpers are no longer required. Signed-off-by: Russell King commit e95a1b656a9809acd8ba8eb867ac6a7759d6180e Author: Russell King Date: Sat Apr 19 15:42:57 2008 +0100 [ARM] rpc: acornscsi: update to new style ecard driver Update acornscsi as per all the other ecard drivers to use MMIO accessors rather than the obsolete 'pc io' style inb/outb accessors. Use ecard_request_resources()/ecard_release_resources() for easier resource handling, rather than requesting 5 separate regions individually. Acked-by: James Bottomley Signed-off-by: Russell King commit a796ef7035c6c5cc5726c3e4e8d71175c13828df Author: Russell King Date: Sat Apr 19 15:37:44 2008 +0100 [ARM] rpc: acornscsi: stop using private __stringify() The kernel has its own, so let's use that instead. Acked-by: James Bottomley Signed-off-by: Russell King commit ffd7858dd8ebb93fad700b830b3b9f6d024c9eac Author: Russell King Date: Sat Apr 19 14:26:18 2008 +0100 [ARM] rpc: acornscsi: convert hardware accessors to take 'AS_Host *' Acked-by: James Bottomley Signed-off-by: Russell King commit 324b9337f246e5f00aad10220d8d4bc13f1922ed Author: Russell King Date: Sat Apr 19 15:13:45 2008 +0100 [ARM] rpc: acornscsi: fixup abort/reset methods, fix build errors Revive the AcornSCSI driver, update it for the replacement command abort and host reset methods, and fix the build errors in acornscsi-io.S. Acked-by: James Bottomley Signed-off-by: Russell King commit d8f8eb43e9d6d5789f37c8a80db99af894944d41 Author: Russell King Date: Sat Apr 19 15:20:23 2008 +0100 [ARM] rpc: acornscsi: remove unused 'ADDR' macro Acked-by: James Bottomley Signed-off-by: Russell King commit 36149f02cb830570ca57228c8ad3d82742485eb7 Author: Russell King Date: Sat Apr 19 15:12:23 2008 +0100 [ARM] rpc: etherh: fix unused variable warning Fix: drivers/net/arm/etherh.c:650: warning: unused variable `i' Signed-off-by: Russell King commit 95c60b08c6af6db2165837139da10f593462d51c Author: Gustavo Fernando Padovan Date: Wed Jun 25 04:03:19 2008 -0300 x86: remove unnecessary #ifdef CONFIG_X86_32...#else Remove the #ifdef conditional because this comparison is already done in user_mode_vm(). Signed-off-by: Gustavo F. Padovan Cc: akpm@osdl.org Signed-off-by: Ingo Molnar commit 2d144e63098be47c21ad59d68a4fd17bd73a3aaf Author: Venki Pallipadi Date: Tue Jun 24 17:12:56 2008 -0700 x86, mce_64.c: mce_cpu_quirks being ignored Quirks getting ignored was a bug. Below patch fixes the bug, until we have the dynamic banks support. Sysfs choice configuration should not have any issues with the earlier patch as we look for NR_SYSFS_BANKS in do_machine_check(). Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: Max Asbock Signed-off-by: Ingo Molnar commit a8cac817764a494705aebd99fd51bdf6cdc28ec9 Merge: b4b3bd9... 543cf4c... Author: Ingo Molnar Date: Thu Jul 3 15:03:02 2008 +0200 Merge commit 'v2.6.26-rc8' into x86/mce commit 98a05ed4bd7774f533ab185fe0bf2fdc58292d7c Author: Abhishek Sagar Date: Thu Jun 26 22:51:51 2008 +0530 ftrace: prevent ftrace modifications while being kprobe'd, v2 add two missing chunks for ftrace+kprobe. Signed-off-by: Abhishek Sagar Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 6bcb13b35a2ea39be6c7cc0292b8ad1191b1a748 Author: Ben Collins Date: Wed Jun 18 14:04:35 2008 -0400 x86: config option to disable info from decompression of the kernel This patch allows the disabling of decompression messages during x86 bootup. Signed-off-by: Ben Collins Signed-off-by: Ingo Molnar commit c0f7edb3099d538017c52556aab596b857dc92ee Author: Guennadi Liakhovetski Date: Fri Jun 13 11:50:44 2008 +0100 [ARM] 5094/1: pcm990: Add framebuffer and backlight support PCM990 boards can be assembled with either a Sharp STN or a NEC TFT LCD. This patch adds support for these displays and for the backlight, using the pwm_bl driver. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 85847a360ff5012ed7932bb5bb63566ad584e02f Author: Philipp Zabel Date: Thu May 22 14:20:01 2008 +0100 [ARM] 5045/1: magician: use the pwm_bl driver for the LCD backlight magician has a GPIO that modifies the brightness level additionally to the PWM duty value. This patch makes use of the pwm_bl notify callback to present userspace with a single brightness scale. This gets rid of the pxa_set_cken calls and direct PWM register access. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 43bda1a6d218744382547a2f8be3240d1c3a151b Author: Ben Dooks Date: Tue Jul 1 14:18:27 2008 +0100 [ARM] 5141/1: PWM: pwm_request() should return an PTR_ERR() instead of NULL. Make the return of pwm_request() be more informative than just being NULL on error by using PTR_ERR() to respond with an approriate error. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3b73125af69f93972625f4b655675f42ca4274eb Author: Philipp Zabel Date: Thu May 22 14:18:40 2008 +0100 [ARM] 5044/1: pwm_bl: add init/notify/exit callbacks This allows platform code to manipulate GPIOs and brightness level as needed. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 4a73071947d21f3aa39fa3a4bac104aaab94cfca Author: Russell King Date: Sun May 18 13:11:02 2008 +0100 [ARM] pxa: make LogicPD 270 use the generic PWM backlight driver Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 402e490997ddaae310a080534a61d7ec24df8124 Author: Russell King Date: Sun Apr 13 21:47:01 2008 +0100 [ARM] pxa: make mainstone use the generic PWM backlight driver Signed-off-by: Russell King commit 5cca91479b8ac6a60b61bc56e72389c681387211 Author: eric miao Date: Sun Apr 13 21:46:34 2008 +0100 [ARM] pxa: make zylonite use the generic PWM backlight driver Patch mostly by Eric Miao, minor edits by rmk. Signed-off-by: eric miao Signed-off-by: Russell King commit 42796d37da6ef4fd851dc6d5d0387baf7e2b0c3c Author: eric miao Date: Mon Apr 14 09:35:08 2008 +0100 [ARM] pxa: add generic PWM backlight driver Patch mostly from Eric Miao, with minor edits by rmk to convert Eric's driver to a generic PWM-based backlight driver. Signed-off-by: eric miao Signed-off-by: Russell King commit c860d701cc5f77b74c481dcbd25b2d8b31c622fc Author: Robert Jarzmik Date: Tue Jun 10 23:02:31 2008 +0100 [ARM] 5087/1: Get the PWM layer to handle clock enable/disable properly. Allow pwm_enable()/pwm_disable() to be called as many times as the driver wants (and not even count them). The PWM model is different from things like the clock API where we need enable counting, because PWMs have one exclusive user per PWM whereas the clock API can have multiple users of the same clock. Acked-by: eric miao Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit b5f0228afa7810f3cad1f2f741cc747a2378b890 Author: Guennadi Liakhovetski Date: Thu Jun 5 10:45:02 2008 +0100 [ARM] 5078/1: pxa-pwm: Add missing MODULE_LICENSE to be able to build the driver as a module Without a GPL-compatible license this driver cannot be built as a module, because the platform_driver_* API is only exported to GPL modules. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Russell King commit 0b1c25d2c0f35b4cdd3f04f365cff31fc5a21813 Author: Philipp Zabel Date: Mon Jun 30 18:09:03 2008 +0100 [ARM] 5136/1: pxa: fix PWM device order for pxa27x Currently PWM0/2 (pxa27x_device_pwm0 at 0x40b00000 and 0x40b00010 are registered as as pwm_id 0 and 1, PWM1/3 (pxa27x_device_pwm1 at 0x40c00000 and 0x40c00010) are registered as pwm_id 2 and 3. This patch corrects the pwm_ids to match the documented register names. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit e48ec69005f02b70b7ecfde1bc39a599086d16ef Author: Jens Axboe Date: Thu Jul 3 13:18:54 2008 +0200 block: extend queue_flag bitops Add test_and_clear and test_and_set. Signed-off-by: Jens Axboe commit e180f5949327e897bc35a816f4f4010186632df9 Author: maximilian attems Date: Tue Jul 1 09:42:47 2008 +0200 block: request_module(): use format string Avoid bad things happening if the module has a printk control string in its name. Signed-off-by: maximilian attems Signed-off-by: Jens Axboe commit cc371e66e340f35eed8dc4651c7c18e754c7fb26 Author: Alasdair G Kergon Date: Thu Jul 3 09:53:43 2008 +0200 Add bvec_merge_data to handle stacked devices and ->merge_bvec() When devices are stacked, one device's merge_bvec_fn may need to perform the mapping and then call one or more functions for its underlying devices. The following bio fields are used: bio->bi_sector bio->bi_bdev bio->bi_size bio->bi_rw using bio_data_dir() This patch creates a new struct bvec_merge_data holding a copy of those fields to avoid having to change them directly in the struct bio when going down the stack only to have to change them back again on the way back up. (And then when the bio gets mapped for real, the whole exercise gets repeated, but that's a problem for another day...) Signed-off-by: Alasdair G Kergon Cc: Neil Brown Cc: Milan Broz Signed-off-by: Jens Axboe commit b24498d477a14680fc3bb3ad884fa9fa76a2d237 Author: Jens Axboe Date: Fri Jun 27 09:12:09 2008 +0200 block: integrity flags can't use bit ops on unsigned short Just use normal open coded bit operations instead, they need not be atomic. Signed-off-by: Jens Axboe commit 06a452e5b95eb669b7ad414ccf587dfc2d91b217 Author: Adel Gadllah Date: Fri Jun 27 09:16:17 2008 +0200 cmdfilter: extend default read filter This patch adds the commands that the former sg filter allowed for read access to the cmdfilter to keep userspace apps that rely on them working. Signed-off-by: Adel Gadllah Signed-off-by: Jens Axboe commit 2b272d4f7953a73ea1c1f7ba33d5a2d7439ce71b Author: Jens Axboe Date: Thu Jun 26 19:45:54 2008 +0200 sg: fix odd style (extra parenthesis) introduced by cmd filter patch Signed-off-by: Jens Axboe commit 07359fc61bb8ed786f96a1c24cca6f94dd17e329 Author: FUJITA Tomonori Date: Thu Jun 26 19:39:23 2008 +0200 block: add bounce support to blk_rq_map_user_iov blk_rq_map_user_iov can't handle the bounce buffer (it means that the bio_map_user_iov path doesn't work with a LLD that needs GFP_DMA). This patch fixes blk_rq_map_user_iov to support the bounce buffer. Signed-off-by: FUJITA Tomonori Cc: Mike Christie Signed-off-by: Jens Axboe commit c265a7f41706cee20508de5b4a919214cfd7a11b Author: Jens Axboe Date: Thu Jun 26 13:49:33 2008 +0200 cfq-iosched: get rid of enable_idle being unused warning Signed-off-by: Jens Axboe commit 0b07de85a76e1346e675f0e98437378932473df7 Author: Adel Gadllah Date: Thu Jun 26 13:48:27 2008 +0200 allow userspace to modify scsi command filter on per device basis This patch exports the per-gendisk command filter to user space through sysfs, so it can be changed by the system administrator. All users of the old cmd filter have been converted to use the new one. Original patch from Peter Jones. Signed-off-by: Adel Gadllah Signed-off-by: Peter Jones Signed-off-by: Jens Axboe commit 6e2401ad6f33de15ff00f78b88159f00a14f3b35 Author: Jens Axboe Date: Wed Jun 18 10:15:02 2008 +0200 block: integrity cleanups - No need to check for NULL bio, we'll get an immediate oops anyway. - Make bio_integrity() a proper function. Signed-off-by: Jens Axboe commit da9cbc87395308a21465bd25441297bbba0477e1 Author: Jens Axboe Date: Mon Jun 30 20:42:08 2008 +0200 block: blkdev.h cleanup, move iocontext stuff to iocontext.h Signed-off-by: Jens Axboe commit b984679efe1a616ec4ac919dba08286d71593900 Author: Jens Axboe Date: Tue Jun 17 19:05:48 2008 +0200 block: integrity checkpatch cleanups > 80 char lines and that sort of thing. Signed-off-by: Jens Axboe commit c1c72b59941e2f5aad4b02609d7ee7b121734b8d Author: Martin K. Petersen Date: Tue Jun 17 18:59:57 2008 +0200 block: Data integrity infrastructure documentation Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 7ba1ba12eeef0aa7113beb16410ef8b7c748e18b Author: Martin K. Petersen Date: Mon Jun 30 20:04:41 2008 +0200 block: Block layer data integrity support Some block devices support verifying the integrity of requests by way of checksums or other protection information that is submitted along with the I/O. This patch implements support for generating and verifying integrity metadata, as well as correctly merging, splitting and cloning bios and requests that have this extra information attached. See Documentation/block/data-integrity.txt for more information. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 51d654e1d885607a6edd02b337105fa5c28b6d33 Author: Martin K. Petersen Date: Tue Jun 17 18:59:56 2008 +0200 block: Globalize bio_set and bio_vec_slab Move struct bio_set and biovec_slab definitions to bio.h so they can be used outside of bio.c. Signed-off-by: Martin K. Petersen Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit a144ff09bc52ef3f3684ed23eadc9c7c0e57b3aa Author: Ian Campbell Date: Tue Jun 17 10:47:08 2008 +0200 xen: Avoid allocations causing swap activity on the resume path Avoid allocations causing swap activity on the resume path by preventing the allocations from doing IO and allowing them to access the emergency pools. These paths are used when a frontend device is trying to connect to its backend driver over Xenbus. These reconnections are triggered on demand by IO, so by definition there is already IO underway, and further IO would naturally deadlock. On resume, this path is triggered when the running system tries to continue using its devices. If it cannot then the resume will fail; to try to avoid this we let it dip into the emergency pools. [ linux-2.6.18-xen changesets e8b49cfbdac, fdb998e79aba ] Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 5a60d0cd4ff227c4c5212898ecbeeaf5662eb5fa Author: Jan Beulich Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: add __exit to module_exit() handlers Signed-off-by: Jan Beulich Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 04c0635058256e2f4618139c237e56b5a4bdbb8f Author: Wim Colgate Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: Make sure that the device is fully ready before allowing release. [ linux-2.6.18-xen changeset c1c57fea77e9 ] Signed-off-by: Wim Colgate Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 440a01a7f46742400c74d9d346118523e81d188b Author: Christian Limpach Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: Add the CDROM_GET_CAPABILITY ioctl to blkfront. Return 0 instead of -EINVAL if the blkfront device is a cdrom, i.e. had the VDISK_CDROM attribute. This allows udev's cdrom_id to correctly detect the device as a cdrom device. [ Add blkif_ioctl, and CDROMMULTISESSION ] [ linux-2.6.18-xen changeset d2bd9af846b5 ] Signed-off-by: Christian Limpach Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 1c91fe1a0d577f2e53475e789c9d63a0feb7d93c Author: Ian Campbell Date: Tue Jun 17 10:47:08 2008 +0200 xen/blkfront: Make sure we don't use bounce buffers, we don't need them. [ linux-2.6.18-xen changeset 667228bf8fc5 ] Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 244b4d56f85bcd11b21ab0b94845a3dabeed5c10 Author: Jens Axboe Date: Thu Jun 12 20:12:36 2008 +0200 block: kill request_queue_t Everything was moved to struct request_queue a few kernel revisions ago, maintaining the deprecated typedef to avoid breaking things. Now the time has come to get rid of that typedef. Signed-off-by: Jens Axboe commit 1c9ce5276324ae566ca409491b99a2cc8d5986fa Author: Kay Sievers Date: Fri Jun 13 09:41:00 2008 +0200 block: export "ro" attribute Signed-off-by: Kay Sievers Signed-off-by: Jens Axboe commit 02c62304e6af60f1963695c6bc1bbffe619aa585 Author: Alan D. Brunelle Date: Wed Jun 11 09:12:52 2008 +0200 Added in user-injected messages into blk traces This allows a user to annotate the blk trace stream: writing a suitable message to {/sys/kernel/debug}/block//msg will have it propagated into the trace stream. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit 7b679138b3237a9a3d45a4fda23a58ac79cd279c Author: Jens Axboe Date: Fri May 30 12:23:07 2008 +0200 cfq-iosched: add message logging through blktrace Now that blktrace has the ability to carry arbitrary messages in its stream, use that for some CFQ logging. Signed-off-by: Jens Axboe commit 863fddcb4b0caee4c2d5bd6e3b28779920516db3 Author: Jens Axboe Date: Thu May 29 09:35:22 2008 +0200 as-iosched: properly protect ioc_gone and ioc count If we have multiple tasks freeing io contexts when as-iosched is being unloaded, we could complete() ioc_gone twice. Fix that by protecting ioc_gone complete() and clearing with a spinlock for just that purpose. Doesn't matter from a performance perspective, since it'll only enter that path when ioc_gone != NULL (when as-iosched is being rmmod'ed). Signed-off-by: Jens Axboe commit 9a11b4ed0e7c44bca7c939aa544c3c47aae40c12 Author: Jens Axboe Date: Thu May 29 09:32:08 2008 +0200 cfq-iosched: properly protect ioc_gone and ioc count If we have multiple tasks freeing cfq_io_contexts when cfq-iosched is being unloaded, we could complete() ioc_gone twice. Fix that by protecting ioc_gone complete() and clearing with a spinlock for just that purpose. Doesn't matter from a performance perspective, since it'll only enter that path when ioc_gone != NULL (when cfq-iosched is being rmmod'ed). Signed-off-by: Jens Axboe commit f43798c27684ab925adde7d8acc34c78c6e50df8 Author: Rusty Russell Date: Thu Jul 3 03:48:02 2008 -0700 tun: Allow GSO using virtio_net_hdr Add a IFF_VNET_HDR flag. This uses the same ABI as virtio_net (ie. prepending struct virtio_net_hdr to packets) to indicate GSO and checksum information. Signed-off-by: Rusty Russell Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit 5228ddc98fa49b3cedab4024e269d62410a0d806 Author: Rusty Russell Date: Thu Jul 3 03:46:16 2008 -0700 tun: TUNSETFEATURES to set gso features. ethtool is useful for setting (some) device fields, but it's root-only. Finer feature control is available through a tun-specific ioctl. (Includes Mark McLoughlin 's fix to hold rtnl sem). Signed-off-by: Rusty Russell Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit 07240fd0902c872f044f523893364a1a24c9f278 Author: Rusty Russell Date: Thu Jul 3 03:45:32 2008 -0700 tun: Interface to query tun/tap features. The problem with introducing checksum offload and gso to tun is they need to set dev->features to enable GSO and/or checksumming, which is supposed to be done before register_netdevice(), ie. as part of TUNSETIFF. Unfortunately, TUNSETIFF has always just ignored flags it doesn't understand, so there's no good way of detecting whether the kernel supports new IFF_ flags. This patch implements a TUNGETFEATURES ioctl which returns all the valid IFF flags. It could be extended later to include other features. Here's an example program which uses it: #include #include #include #include #include #include #include static struct { unsigned int flag; const char *name; } known_flags[] = { { IFF_TUN, "TUN" }, { IFF_TAP, "TAP" }, { IFF_NO_PI, "NO_PI" }, { IFF_ONE_QUEUE, "ONE_QUEUE" }, }; int main() { unsigned int features, i; int netfd = open("/dev/net/tun", O_RDWR); if (netfd < 0) err(1, "Opening /dev/net/tun"); if (ioctl(netfd, TUNGETFEATURES, &features) != 0) { printf("Kernel does not support TUNGETFEATURES, guessing\n"); features = (IFF_TUN|IFF_TAP|IFF_NO_PI|IFF_ONE_QUEUE); } printf("Available features are: "); for (i = 0; i < sizeof(known_flags)/sizeof(known_flags[0]); i++) { if (features & known_flags[i].flag) { features &= ~known_flags[i].flag; printf("%s ", known_flags[i].name); } } if (features) printf("(UNKNOWN %#x)", features); printf("\n"); return 0; } Signed-off-by: Rusty Russell Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit 44d28ab19c64d095314ac66f765d0c747519f4ed Merge: 40b215e... e0835f8... Author: David S. Miller Date: Thu Jul 3 03:07:58 2008 -0700 Merge branch 'net-next-2.6-v6ready-20080703' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-next commit bc4e0f9ae2b1b133d36c1392d0145d2997cff272 Author: Ben Castricum Date: Tue Jun 10 13:15:12 2008 +0200 x86: microcode: cosmetic changes First announce ourself, then start working. Currently this module reports itself when all is completed which is not most modules do. Plus some cosmetic/whitespace cleanups. Signed-off-by: Ben Castricum Cc: trivial@kernel.org Signed-off-by: Ingo Molnar commit 88b8ba90570067178d32c654ad95786041e86e86 Author: Paul Walmsley Date: Thu Jul 3 12:24:46 2008 +0300 ARM: OMAP2: Clock: New OMAP2/3 DPLL rate rounding algorithm This patch adds a new rate rounding algorithm for DPLL clocks on the OMAP2/3 architecture. For a desired DPLL target rate, there may be several multiplier/divider (M, N) values which will generate a sufficiently close rate. Lower N values result in greater power economy. However, lower N values can cause the difference between the rounded rate and the target rate ("rate error") to be larger than it would be with a higher N. This can cause downstream devices to run more slowly than they otherwise would. This DPLL rate rounding algorithm: - attempts to find the lowest possible N (DPLL divider) to reach the target_rate (since, according to Richard Woodruff , lower N values save more power than higher N values). - allows developers to set an upper bound on the error between the rounded rate and the desired target rate ("rate tolerance"), so an appropriate balance between rate fidelity and power savings can be set. This maximum rate error tolerance is set via omap2_set_dpll_rate_tolerance(). - never returns a rounded rate higher than the target rate. The rate rounding algorithm caches the last rounded M, N, and rate computation to avoid rounding the rate twice for each clk_set_rate() call. (This patch does not yet implement set_rate for DPLLs; that follows in a future patch.) The algorithm trades execution speed for rate accuracy. It will find the (M, N) set that results in the least rate error, within a specified rate tolerance. It does this by evaluating each divider setting - on OMAP3, this involves 128 steps. Another approach to DPLL rate rounding would be to bail out as soon as a valid rate is found within the rate tolerance, which would trade rate accuracy for execution speed. Alternate implementations welcome. This code is not yet used by the OMAP24XX DPLL clock, since it is currently defined as a composite clock, fusing the DPLL M,N and the M2 output divider. This patch also renames the existing OMAP24xx DPLL programming functions to highlight that they program both the DPLL and the DPLL's output multiplier. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 542313cc98e72d026d2df86f515699dfaface460 Author: Paul Walmsley Date: Thu Jul 3 12:24:45 2008 +0300 ARM: OMAP2: Clock: Add OMAP3 DPLL autoidle functions This patch adds support for DPLL autoidle control to the OMAP3 clock framework. These functions will be used by the noncore DPLL enable and disable code - this is because, according to the CDP code, the DPLL autoidle status must be saved and restored across DPLL lock/bypass/off transitions. N.B.: the CORE DPLL (DPLL3) has three autoidle mode options, rather than just two. This code currently does not support the third option, low-power bypass autoidle. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 097c584cd48844d9ef8402bdc6ab49e7e2135f31 Author: Paul Walmsley Date: Thu Jul 3 12:24:45 2008 +0300 ARM: OMAP: Add OMAP chip type structure; clean up mach-omap2/id.c Add a new OMAP chip identification interface, omap_chip_id. omap_chip_id is a structure which contains one bit for each OMAP2/3 CPU type, and on 3430, ES level. For example, the CHIP_IS_OMAP2420 bit is set in omap_chip at boot on an OMAP2420. On OMAP3430ES2, both CHIP_IS_OMAP3430 and CHIP_IS_OMAP3430ES2 bits are set. omap_chip is set in mach-omap2/id.c by _set_omap_chip(). Other code should use the omap_chip_is() function to test against omap_chip. Also, clean up id.c by splitting some code out of omap_check_revision() into its own function, _set_system_rev(); and converting some debug printk()s into pr_debug(). Second revision. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit ff00fcc9ca8f18facbc3fcd779e85887e5a0d247 Author: Tony Lindgren Date: Thu Jul 3 12:24:44 2008 +0300 ARM: OMAP: Turn CM and PRM access into functions Otherwise compiling in omap2 and omap3 will not work. Signed-off-by: Tony Lindgren commit a58caad11301a5bdc2d7b76596ab5477221f7a9b Author: Tony Lindgren Date: Thu Jul 3 12:24:44 2008 +0300 ARM: OMAP: Introduce omap_globals and prcm access functions for multi-omap New struct omap_globals contains the omap processor specific module bases. Use omap_globals to set the various base addresses to make detecting omap chip type simpler. Also introduce OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS for future multi-omap patches. Signed-off-by: Tony Lindgren commit e1f80bfca86ab48b7bed731b32262fb1a2835de5 Author: Tony Lindgren Date: Thu Jul 3 12:24:43 2008 +0300 ARM: OMAP: Remove __REG access for multi-omap This does not play nicely with multi-omap as it cannot be replaced by a function in io.c for omaps with different IO bases. Signed-off-by: Tony Lindgren commit f35ae6346850f6c192269b09088b20261760f0e0 Author: Tony Lindgren Date: Thu Jul 3 12:24:43 2008 +0300 ARM: OMAP: USB: Change omap USB code to use omap_read/write instead of __REG Change omap USB code to use omap_read/write instead of __REG for multi-omap Cc: David Brownell Cc: linux-usb@vger.kernel.org Cc: i2c@lm-sensors.org Signed-off-by: Tony Lindgren commit 030b15457d8069a6255579a28db196e002cb9c86 Author: Tony Lindgren Date: Thu Jul 3 12:24:41 2008 +0300 ARM: OMAP: Change omap_cf.c and omap_nor.c to use omap_readw/writew instead of __REG Change omap_cf.c and omap_nor.c to use omap_readw/writew instead of __REG. This is needed for multi-omap in the future. Cc: David Brownell Cc: linux-pcmcia@lists.infradead.org Cc: linux-mtd@lists.infradead.org Signed-off-by: Tony Lindren commit 137b3ee27ab1b27dba081542476054836978ca45 Author: Hiroshi DOYU Date: Thu Jul 3 12:24:41 2008 +0300 ARM: OMAP: CLKFW: Initial debugfs support for omap clock framework debugfs can provide the infrastructure to trace the dependencies of clock tree hierarchy quite visibly. This patch enables to keep track of clock tree hierarchy and expose their attributes under each clock directry as below: omap:~# tree -d -L 2 /debug/clock/omap_32k_fck/ /debug/clock/omap_32k_fck/ |-- gpt10_fck |-- gpt11_fck |-- gpt1_fck |-- per_32k_alwon_fck | |-- gpio2_fck | |-- gpio3_fck | |-- gpio4_fck | |-- gpio5_fck | |-- gpio6_fck | `-- wdt3_fck |-- ts_fck `-- wkup_32k_fck |-- gpio1_fck `-- wdt2_fck 14 directories omap:~# tree /debug/clock/omap_32k_fck/gpt10_fck/ /debug/clock/omap_32k_fck/gpt10_fck/ |-- flags |-- rate `-- usecount 0 directories, 3 files Although, compared with David Brownell's small patch, this may look bit overkilling, I expect that this debugfs can deal with other PRCM complexities at the same time. For example, powerdomain dependencies can be expressed by using symbolic links of these clocks if powerdomain supports dubgfs as well. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 44f78f43b349d19d378a996c4a2d9fcdff771b1e Author: Tony Lindgren Date: Thu Jul 3 12:24:41 2008 +0300 ARM: OMAP: Clean up interrupt lines to fix warnings for multi-omap If boards with different NR_IRQS are compiled together, tons of compiler warnings are emitted about redefining NR_IRQS. This patch fixes the problem by adding up NR_IRQS in a common place. Patch also removes quite a bit of now unnecessary code. Signed-off-by: Tony Lindgren commit 78673bc898c2db7f4fac4871ec702c3443642308 Author: Eduardo Valentin Date: Thu Jul 3 12:24:40 2008 +0300 ARM: OMAP: McBSP: Add support for mcbsp on mach-omap2 This patch adds support for mach-omap2 based on current mcbsp platform driver. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit 44ec9a3371d5cab323b81c95a4c01d7b5a89cdda Author: Eduardo Valentin Date: Thu Jul 3 12:24:40 2008 +0300 ARM: OMAP: McBSP: Add support for mcbsp on mach-omap1 This patch adds support for mach-omap1 based on current mcbsp platform driver. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit bc5d0c89c88df67f92d5d5882c27437379e9e8af Author: Eduardo Valentin Date: Thu Jul 3 12:24:39 2008 +0300 ARM: OMAP: McBSP: Prepare for splitting into omap1 and omap2 code This patch transform mcbsp code to use platform data from arch/arm/plat-omap/devices.c It also gets ride of ifdefs on mcbsp.c code. To do it, a platform data structure was defined. Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit fb78d80808a75213f399b7b10048d72a0b39b494 Author: Eduardo Valentin Date: Thu Jul 3 12:24:39 2008 +0300 ARM: OMAP: McBSP: Coding style cleanup on arch/arm/plat-omap/mcbsp.c This patch fix lots of warnings and errors reported by scripts/checkpatch.pl on arch/arm/plat-omap/mcbsp.c. Signed-off-by: Eduardo Valentin Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit c2d43e39c7c303db53facd0bea44b66f263e3f35 Author: Tony Lindgren Date: Thu Jul 3 12:24:38 2008 +0300 ARM: OMAP: SRAM: Split sram24xx.S into sram242x.S and sram243x.S Split sram24xx.S into sram242x.S and sram243x.S Signed-off-by: Tony Lindgren commit 373a67021d00a8b8c86bfa19f8914377de05b4bd Author: Tony Lindgren Date: Thu Jul 3 12:24:38 2008 +0300 ARM: OMAP: SRAM: Move omap2 sram-fn.S to sram242x.S This file will get split between sram242x.S and sram243x.S in following patch. Signed-off-by: Tony Lindgren commit 99f143b316b056a86c8226c15882cc0718f0b3b0 Author: Tony Lindgren Date: Thu Jul 3 12:24:38 2008 +0300 ARM: OMAP: SRAM: Move sram-fn.S from plat-omap to mach-omap1 This file is omap1 specific. Signed-off-by: Tony Lindgren commit 97b7f715589fb997e430c6aa824abbd9fd5ed42d Author: Tony Lindgren Date: Thu Jul 3 12:24:37 2008 +0300 ARM: OMAP: DMA: Clean-up code DMA clean-up, mostly checkpatch.pl fixes. Signed-off-by: Tony Lindgren commit 0499bdeb1dec30325aa282a83f9374fa849aa01c Author: Tony Lindgren Date: Thu Jul 3 12:24:36 2008 +0300 ARM: OMAP: DMA: Remove __REG access Remove __REG access in DMA code, use dma_read/write instead: - dynamically set the omap_dma_base based on the omap type - omap_read/write becomes dma_read/write - dma channel registers are read with dma_ch_read/write Cc: David Brownell Cc: linux-usb@vger.kernel.org Signed-off-by: Tony Lindgren commit 4d96372e6daae89166fed7883ee092dc8db80b21 Author: Tony Lindgren Date: Thu Jul 3 12:24:31 2008 +0300 ARM: OMAP: DMA: Make channels dynamic for multi-boot Make DMA channels dynamic for multi-boot Signed-off-by: Tony Lindgren commit 4a79acdc784c315d9c436ba2315d08f8f53b8adf Author: Paul Walmsley Date: Thu Jul 3 12:24:31 2008 +0300 ARM: OMAP: Add OMAP3430 base defines Add symbolic constants for OMAP3430 base addresses; include that file in hardware.h. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 3fddd09e59cf49dc339e2de74d31a76c1f7f172f Author: Richard Woodruff Date: Thu Jul 3 12:24:30 2008 +0300 ARM: OMAP: DMTimer: Optimize by adding load and start This patch optimizes the timer load and start sequence. By combining the load and start a needless posted wait can be removed from the system timer execution path. * Before patch register writes are taking up .078% @ 500MHz during idle. Address |total |min |max |avr |count|ratio% old\process\default_idle|7.369s |0.0us|999.902ms|14.477ms|509. |62.661% ld\Global\cpu_v7_do_idle|4.265s |0.0us|375.786ms|24.374ms|175. |36.270% (UNKNOWN)|17.503ms|0.us|531.080us|5.119us|3419. |0.148% r\omap_dm_timer_set_load|8.135ms|0.0us|79.887us|15.065us|540. |0.069% <-- \vmlinux-old\Global\_end|2.023ms|0.0us|4.000us|0.560us|3613. |0.017% -old\Global\__raw_readsw|1.962ms|0.0us|108.610us|9.167us|214. |0.016% old\smc91x\smc_interrupt|1.353ms|0.0us|10.212us|2.348us|576. |0.011% s/namei\__link_path_walk|1.161ms|0.0us|4.310us|0.762us| 1524. |0.009% \omap_dm_timer_write_reg|1.085ms|0.0us|126.150us|2.153us|504. |0.009% <-- * After patch timer functions do not show up in top listings for long captures. Signed-off-by: Richard Woodruff Signed-off-by: Tony Lindgren commit 0f0d0807093d2d72ee772a1b4ba1d0b088a79a2b Author: Richard Woodruff Date: Thu Jul 3 12:24:30 2008 +0300 ARM: OMAP: DMTimer: Use posted mode This patch adds the use of write posting for the timer. Previously, every write could lock the requestor for almost 3x32KHz cycles. This patch only synchronizes before writes and reads instead of after them and it does it on per register basis. Doing it this way there is some chance to hide some of the sync latency. It also removes some needless reads when non-posted mode is there. With out this fix the read/writes take almost 2% CPU load @500MHz just waiting on tick timer registers. Also define new 34xx only registers. Signed-off-by: Richard Woodruff Signed-off-by: Tony Lindgren commit 4621d588e0e8b5b11cd913fe706e35915c1b83a3 Author: Thara Gopinath Date: Thu Jul 3 12:24:30 2008 +0300 ARM: OMAP: Correcting the gpmc prefetch control register address Correcting the GPMC_PREFETCH_CONTROL register address Signed-off-by: Thara Gopinath Signed-off-by: Tony Lindgren commit 3f662c6eaa941414636336f1b9147a73a60c792f Author: Jarkko Nikula Date: Thu Jul 3 12:24:29 2008 +0300 ARM: OMAP: DMA: Don't mark channel active in omap_enable_channel_irq Channel should be marked active only when DMA is really started. Otherwise just omap_request_dma, omap_dma_link_lch and omap_dma_unlink_lch will cause incorrect dump_stack(). Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit f58ba889106af60f52af792efbe1973e458a2138 Author: Miklos Szeredi Date: Wed Jul 2 21:12:01 2008 +0200 [GFS2] don't call permission() GFS2 calls permission() to verify permissions after locks on the files have been taken. For this it's sufficient to call gfs2_permission() instead. This results in the following changes: - IS_RDONLY() check is not performed - IS_IMMUTABLE() check is not performed - devcgroup_inode_permission() is not called - security_inode_permission() is not called IS_RDONLY() should be unnecessary anyway, as the per-mount read-only flag should provide protection against read-only remounts during operations. do_gfs2_set_flags() has been fixed to perform mnt_want_write()/mnt_drop_write() to protect against remounting read-only. IS_IMMUTABLE has been added to gfs2_permission() Repeating the security checks seems to be pointless, as they don't normally change, and if they do, it's independent of the filesystem state. Signed-off-by: Miklos Szeredi Signed-off-by: Steven Whitehouse commit e0835f8fa56d2d308486f8a34cf1c4480cd27f4e Author: YOSHIFUJI Hideaki Date: Thu Jul 3 16:51:22 2008 +0900 ipv4,ipv6 mroute: Add some helper inline functions to remove ugly ifdefs. ip{,v6}_mroute_{set,get}sockopt() should not matter by optimization but it would be better not to depend on optimization semantically. Signed-off-by: YOSHIFUJI Hideaki commit 03d2f897e9fb3218989baa2139a951ce7f5414bf Author: Wang Chen Date: Thu Jul 3 12:13:36 2008 +0800 ipv4: Do cleanup for ip_mr_init Same as ip6_mr_init(), make ip_mr_init() return errno if fails. But do not do error handling in inet_init(), just print a msg. Signed-off-by: Wang Chen Signed-off-by: YOSHIFUJI Hideaki commit 623d1a1af77bd52a389c6eda5920e28eb2ee468b Author: Wang Chen Date: Thu Jul 3 12:13:30 2008 +0800 ipv6: Do cleanup for ip6_mr_init. If do not do it, we will get following issues: 1. Leaving junks after inet6_init failing halfway. 2. Leaving proc and notifier junks after ipv6 modules unloading. Signed-off-by: Wang Chen Signed-off-by: YOSHIFUJI Hideaki commit dd3abc4ef52597ec8268274222574b2700ba3ded Author: YOSHIFUJI Hideaki Date: Wed Jul 2 18:30:18 2008 +0900 ipv6 route: Prefer outgoing interface with source address assigned. Outgoing interface is selected by the route decision if unspecified. Let's prefer routes via interface(s) with the address assigned if we have multiple routes with same cost. With help from Naohiro Ooiwa . Signed-off-by: YOSHIFUJI Hideaki commit 1b34be74cbf18f5d58cc85c7c4afcd9f7d74accd Author: YOSHIFUJI Hideaki Date: Sat Jun 28 14:18:38 2008 +0900 ipv6 addrconf: add accept_dad sysctl to control DAD operation. - If 0, disable DAD. - If 1, perform DAD (default). - If >1, perform DAD and disable IPv6 operation if DAD for MAC-based link-local address has been failed (RFC4862 5.4.5). We do not follow RFC4862 by default. Refer to the netdev thread entitled "Linux IPv6 DAD not full conform to RFC 4862 ?" http://www.spinics.net/lists/netdev/msg52027.html Signed-off-by: YOSHIFUJI Hideaki commit 778d80be52699596bf70e0eb0761cf5e1e46088d Author: YOSHIFUJI Hideaki Date: Sat Jun 28 14:17:11 2008 +0900 ipv6: Add disable_ipv6 sysctl to disable IPv6 operaion on specific interface. Signed-off-by: YOSHIFUJI Hideaki commit 5ce83afaac956238c3c25f60a899c511e9d8cbf4 Author: YOSHIFUJI Hideaki Date: Wed Jun 25 16:58:17 2008 +0900 ipv6: Assume the loopback address in link-local scope. Handle interface property strictly when looking up a route for the loopback address (RFC4291 2.5.3). Signed-off-by: YOSHIFUJI Hideaki commit f81b2e7d8cf8c6a52b7a5224c3b89cee5aeb6811 Author: YOSHIFUJI Hideaki Date: Wed Jun 25 16:55:26 2008 +0900 ipv6: Do not forward packets with the unspecified source address. RFC4291 2.5.2. Signed-off-by: YOSHIFUJI Hideaki commit d68b82705a4a754e5773f412c6b8f1e65259bc8b Author: YOSHIFUJI Hideaki Date: Wed Jun 25 16:26:47 2008 +0900 ipv6: Do not assign non-valid address on interface. Check the type of the address when adding a new one on interface. - the unspecified address (::) is always disallowed (RFC4291 2.5.2) - the loopback address is disallowed unless the interface is (one of) loopback (RFC4291 2.5.3). - multicast addresses are disallowed. Signed-off-by: YOSHIFUJI Hideaki commit 40b215e594b65a3488576c9d24b367548e18902a Author: Pavel Emelyanov Date: Thu Jul 3 01:05:41 2008 -0700 tcp: de-bloat a bit with factoring NET_INC_STATS_BH out There are some places in TCP that select one MIB index to bump snmp statistics like this: if () NET_INC_STATS_BH(); else if () NET_INC_STATS_BH(); ... else NET_INC_STATS_BH(); or in a more tricky but still similar way. On the other hand, this NET_INC_STATS_BH is a camouflaged increment of percpu variable, which is not that small. Factoring those cases out de-bloats 235 bytes on non-preemptible i386 config and drives parts of the code into 80 columns. add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-235 (-235) function old new delta tcp_fastretrans_alert 1437 1424 -13 tcp_dsack_set 137 124 -13 tcp_xmit_retransmit_queue 690 676 -14 tcp_try_undo_recovery 283 265 -18 tcp_sacktag_write_queue 1550 1515 -35 tcp_update_reordering 162 106 -56 tcp_retransmit_timer 990 904 -86 Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 392096e98fd55e54035978fe03796fca8d26a574 Author: Stephen Rothwell Date: Thu Jul 3 17:10:07 2008 +1000 generic-ipi: fix linux-next tree build failure Today's linux-next build (powerpc ppc64_defconfig) failed like this: arch/powerpc/mm/tlb_64.c: In function 'pgtable_free_now': arch/powerpc/mm/tlb_64.c:66: error: too many arguments to function 'smp_call_function' arch/powerpc/kernel/machine_kexec_64.c: In function 'kexec_prepare_cpus': arch/powerpc/kernel/machine_kexec_64.c:175: error: too many arguments to function 'smp_call_function' Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Cc: Paul Mackerras Cc: Signed-off-by: Ingo Molnar commit 7b4c9505f2fd82b117dd015b561f723b9a5dab79 Author: Ingo Molnar Date: Thu Jul 3 09:17:55 2008 +0200 stacktrace: export save_stack_trace[_tsk] Andrew Morton reported this against linux-next: ERROR: ".save_stack_trace" [tests/backtracetest.ko] undefined! Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit 0db9360aaa9b95b0cf67f82874809f16e68068eb Author: Nathan Fontenot Date: Thu Jul 3 13:25:08 2008 +1000 powerpc/pseries: Update numa association of hotplug memory add for drconf memory Update the association of a memory section with a numa node that occurs during hotplug add of a memory section. This adds a check in the hot_add_scn_to_nid() routine for the ibm,dynamic-reconfiguration-memory node in the device tree. If present the new hot_add_drconf_scn_to_nid() routine is invoked, which can properly parse the ibm,dynamic-reconfiguration-memory node of the device tree and make the proper numa node associations. This also introduces the valid_hot_add_scn() routine as a helper function for code that is common to the hot_add_scn_to_nid() and hot_add_drconf_scn_to_nid() routines. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 8342681d3e1f5fbd404c21b5e10f87277411f3eb Author: Nathan Fontenot Date: Thu Jul 3 13:35:54 2008 +1000 powerpc/pseries: Split code into helper routines for drconf memory This splits off several pieces of code that parse the ibm,dynamic-reconfiguration-memory node of the device tree into separate helper routines. This is in preparation for the next commit that will use these helper routines. There are no functional changes in this patch. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 3c3f67eafad12d4ccabe491c6c8a50bf6e75b89a Author: Nathan Fontenot Date: Thu Jul 3 13:22:39 2008 +1000 powerpc/pseries: Update the device tree correctly for drconf memory add/remove This updates the device tree manipulation routines so that memory add/remove of lmbs represented under the ibm,dynamic-reconfiguration-memory node of the device tree invokes the hotplug notifier chain. This change is needed because of the change in the way memory is represented under the ibm,dynamic-reconfiguration-memory node. All lmbs are described in the ibm,dynamic-memory property instead of having a separate node for each lmb as in previous device tree layouts. This requires the update_node() routine to check for updates to the ibm,dynamic-memory property and invoke the hotplug notifier chain. This also updates the pseries hotplug notifier to be able to gather information for lmbs represented under the ibm,dynamic-reconfiguration-memory node and have the lmbs added/removed. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 92ecd1790b10e12015070e33a0f70493d51aca50 Author: Nathan Fontenot Date: Thu Jul 3 13:20:58 2008 +1000 powerpc/pseries: Use base address to derive starting page frame number Use the base address of the lmb to derive the starting page frame number instead of trying to extract it from the drc index of the lmb. The drc index should not be used for this as it will, and did, break. Until this point, systems that have had memory represented in the device tree with a node for each lmb the drc index would (luckily) closely track the base address of the lmb. For example a lmb with a drc index of 8000000a would have a base address of a0000000. This correlation allowed the current code to derive the starting page frame number from the drc inddex Device tree layouts where lmbs are represented under the ibm,dynamic-reconfiguration-memory node in the ibm,dynamic-memory property do not have this correlation between the drc index and base address of the lmb. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 4b6e805e4a327c7231ab6a7739d6344d68d231d0 Author: Nathan Fontenot Date: Thu Jul 3 13:19:24 2008 +1000 powerpc/pseries: Allow phandle to be specified in formats other than decimal Allow the phandle passed to the /proc/ppc64/ofdt file to be specified in formats other than decimal. This allows us to easily specify phandle values in hex that would otherwise appear as negative integers. This is an issue on systems where the value of /proc/device-tree/ibm,dynamic-reconfiguration-memory.ibm,phandle is fffffff9. Having to pass this to the ofdt file as a string results in a large negative number, and simple_strtoul() does not handle negative numbers. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 138fc1ee06e58f12fc2b755e435ce15bb36a0471 Author: Michael Neuling Date: Wed Jul 2 22:51:37 2008 +1000 powerpc: Remove old dump_task_* functions Since Roland's ptrace cleanup starting with commit f65255e8d51ecbc6c9eef20d39e0377d19b658ca ("[POWERPC] Use user_regset accessors for FP regs"), the dump_task_* functions are no longer being used. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 6a274c08f2f4dfac7167bbd849621f3a2b55d424 Author: Michael Neuling Date: Wed Jul 2 14:06:37 2008 +1000 powerpc: Clean up copy_to/from_user for vsx and fpr This merges and cleans up some of the ugly copy/to from user code which is required for the new fpr and vsx layout in the thread_struct. Also fixes some hard coded buffer sizes and removes a redundant fpr_flush_to_thread. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 2d1b2027626d5151fff8ef7c06ca8e7876a1a510 Author: Kumar Gala Date: Wed Jul 2 01:16:40 2008 +1000 powerpc: Fixup lwsync at runtime To allow for a single kernel image on e500 v1/v2/mc we need to fixup lwsync at runtime. On e500v1/v2 lwsync causes an illop so we need to patch up the code. We default to 'sync' since that is always safe and if the cpu is capable we will replace 'sync' with 'lwsync'. We introduce CPU_FTR_LWSYNC as a way to determine at runtime if this is needed. This flag could be moved elsewhere since we dont really use it for the normal CPU_FTR purpose. Finally we only store the relative offset in the fixup section to keep it as small as possible rather than using a full fixup_entry. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 5888da18765ca9af7f10015263d8bc8e3057f128 Author: Kumar Gala Date: Wed Jul 2 01:16:16 2008 +1000 powerpc: Fix building of feature-fixup tests on ppc32 We need to use PPC_LCMPI otherwise we get compile errors like: arch/powerpc/lib/feature-fixups-test.S: Assembler messages: arch/powerpc/lib/feature-fixups-test.S:142: Error: Unrecognized opcode: `cmpdi' arch/powerpc/lib/feature-fixups-test.S:149: Error: Unrecognized opcode: `cmpdi' arch/powerpc/lib/feature-fixups-test.S:164: Error: Unrecognized opcode: `cmpdi' Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit e17a2565bf61204cb925c3f77c3c7f6a09eb2fbe Author: Michael Neuling Date: Tue Jul 1 17:00:39 2008 +1000 powerpc: Fix compile warning in init_thread Currently we get this warning: arch/powerpc/kernel/init_task.c:33: warning: missing braces around initializer arch/powerpc/kernel/init_task.c:33: warning: (near initialization for 'init_task.thread.fpr[0]') This fixes it. Noticed by Stephen Rothwell. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit db7f37de2c8346c33cf9279fa9d8e8316e8d821c Author: Tony Breeds Date: Tue Jul 1 11:30:06 2008 +1000 powerpc: Fix building of arch/powerpc/mm/mem.o when MEMORY_HOTPLUG=y and SPARSEMEM=n Currently the kernel fails to build with the above config options with: CC arch/powerpc/mm/mem.o arch/powerpc/mm/mem.c: In function 'arch_add_memory': arch/powerpc/mm/mem.c:130: error: implicit declaration of function 'create_section_mapping' This explicitly includes asm/sparsemem.h in arch/powerpc/mm/mem.c and moves the guards in include/asm-powerpc/sparsemem.h to protect the SPARSEMEM specific portions only. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit b001a1b6aa960949a24c2cdc28257dfcc9428d74 Author: Benny Halevy Date: Wed Jul 2 11:15:03 2008 +0300 nfsd: dprint operation names Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 57debddaa1d247ed147209b22b5d40bd97526c33 Author: Jonathan Corbet Date: Mon Jun 30 16:45:15 2008 -0600 bf561-coreb: BKL unneeded for open() According to Mike Frysinger: http://permalink.gmane.org/gmane.linux.kernel/699279 open() does not need the BKL, so take it back out. commit a238b790d5f99c7832f9b73ac8847025815b85f7 Author: Jonathan Corbet Date: Fri Jun 20 09:12:01 2008 -0600 Call fasync() functions without the BKL lock_kernel() calls have been pushed down into code which needs it, so there is no need to take the BKL at this level anymore. This work inspired and aided by Andi Kleen's unlocked_fasync() patches. Acked-by: Andi Kleen Signed-off-by: Jonathan Corbet commit 2db9f0a35a4e4ad7cee756a4e0dabb7c1c8b6c72 Author: Jonathan Corbet Date: Mon Jun 23 17:40:43 2008 -0600 snd/PCM: fasync BKL pushdown Chances are this is unneeded, but the code is twisty enough that it is hard to tell. Signed-off-by: Jonathan Corbet commit 70b028b7ea94f1b36c61f3ee1c921cc3a87812e6 Author: Jonathan Corbet Date: Mon Jun 23 17:00:14 2008 -0600 ipmi: fasync BKL pushdown This driver really needs it to avoid races against open() Signed-off-by: Jonathan Corbet commit dda6445e219b5d1fd67e9426ce8d23f8fbfaaf66 Author: Jonathan Corbet Date: Thu Jun 19 16:18:25 2008 -0600 ecryptfs: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit dbfb2df7e9fbd6e5ab8cd9b94b27767fe311fa0d Author: Jonathan Corbet Date: Thu Jun 19 16:07:51 2008 -0600 Bluetooth VHCI: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit 5d1e3230f4b4a93c6561b0fb5a99bb1eb02227ed Author: Jonathan Corbet Date: Thu Jun 19 16:04:53 2008 -0600 tty_io: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit 9d319522576ce0b2fd023a965445f9c3739ee6f1 Author: Jonathan Corbet Date: Thu Jun 19 15:50:37 2008 -0600 tun: fasync BKL pushdown Signed-off-by: Jonathan Corbet commit 743115ee05f09f356d86763316acf627a7f5a6b3 Author: Jonathan Corbet Date: Thu Jun 19 15:44:57 2008 -0600 i2o: fasync BKL pushdown This driver appears to really need the BKL to protect open_files. Signed-off-by: Jonathan Corbet commit b7e3e1fbf69d1b6abfd337460ea17d7230e3a6e5 Author: Jonathan Corbet Date: Thu Jun 19 15:41:11 2008 -0600 mpt: fasync BKL pushdown It looks like this driver really needs the BKL here. Signed-off-by: Jonathan Corbet commit 9465efc9e96135a2cec8154c0c766fa59984a298 Author: Andi Kleen Date: Fri Jun 27 11:05:24 2008 +0200 Remove BKL from remote_llseek v2 - Replace remote_llseek with generic_file_llseek_unlocked (to force compilation failures in all users) - Change all users to either use generic_file_llseek_unlocked directly or take the BKL around. I changed the file systems who don't use the BKL for anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS take the BKL, but explicitely in their own source now. I moved them all over in a single patch to avoid unbisectable sections. Open problem: 32bit kernels can corrupt fpos because its modification is not atomic, but they can do that anyways because there's other paths who modify it without BKL. Do we need a special lock for the pos/f_version = 0 checks? Trond says the NFS BKL is likely not needed, but keep it for now until his full audit. v2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked and factor duplicated code (suggested by hch) Cc: Trond.Myklebust@netapp.com Cc: swhiteho@redhat.com Cc: sfrench@samba.org Cc: vandrove@vc.cvut.cz Signed-off-by: Andi Kleen Signed-off-by: Andi Kleen Signed-off-by: Jonathan Corbet commit 9c20616c385ebeaa30257ef5d35e8f346db4ee32 Author: Jonathan Corbet Date: Thu May 29 17:14:05 2008 -0600 Make FAT users happier by not deadlocking The FAT BKL removal patch can cause deadlocks. It turns out that the new lock_super() calls are unneeded, remove them (as directed by Linus). Reported-by: "Tony Luck" Signed-off-by: Jonathan Corbet commit 38c4c97c62a30aef276663c1128a2051a25ead7d Author: Arnd Bergmann Date: Tue May 20 19:17:02 2008 +0200 x86-mce: BKL pushdown Signed-off-by: Arnd Bergmann commit 3e0420f066c632e135939ccf218ae793e02dccd7 Author: Arnd Bergmann Date: Tue May 20 19:17:01 2008 +0200 vmwatchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit 6c111d886317513605c459cbe8d1970fab732c90 Author: Arnd Bergmann Date: Tue May 20 19:16:59 2008 +0200 vmcp: BKL pushdown Signed-off-by: Arnd Bergmann commit ffe83733b88655b643e9d4ad0dda5ef9584d5926 Author: Arnd Bergmann Date: Tue May 20 19:16:58 2008 +0200 via-pmu: BKL pushdown Signed-off-by: Arnd Bergmann commit 7eb500d1a0408c37d0c0360f066f8b7701835d68 Author: Arnd Bergmann Date: Tue May 20 19:16:57 2008 +0200 uml-random: BKL pushdown Signed-off-by: Arnd Bergmann commit bd6859fe836491d20ea6e57fee93e0e08ee69443 Author: Arnd Bergmann Date: Tue May 20 19:16:56 2008 +0200 uml-mmapper: BKL pushdown Signed-off-by: Arnd Bergmann commit 78dccb46ddc2ff460c8b4d5ec0886964bd4b59e5 Author: Arnd Bergmann Date: Tue May 20 19:16:54 2008 +0200 uml-harddog: BKL pushdown Signed-off-by: Arnd Bergmann commit 8702965848ed4bee27486a3e3d2ae34ebba6dd83 Author: Arnd Bergmann Date: Tue May 20 19:16:53 2008 +0200 uinput: BKL pushdown Signed-off-by: Arnd Bergmann commit f138e4814a9c28bc44d967a8effdd977ac00fc6e Author: Arnd Bergmann Date: Tue May 20 19:16:52 2008 +0200 uctrl: BKL pushdown Signed-off-by: Arnd Bergmann commit 25368ca579905efe7f7dda43c252eb7b371de98c Author: Arnd Bergmann Date: Tue May 20 19:16:51 2008 +0200 tpm-tpm: BKL pushdown Signed-off-by: Arnd Bergmann commit 09de36137c3794786bc75682c0e1ce45182c1772 Author: Arnd Bergmann Date: Tue May 20 19:16:50 2008 +0200 sparc64-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit ee30d64e42ee1384a81d241b3962d3c1e6174992 Author: Arnd Bergmann Date: Tue May 20 19:16:48 2008 +0200 sparc-apc: BKL pushdown Signed-off-by: Arnd Bergmann commit f8f2c79d594463427f7114cedb1555110d547d89 Author: Arnd Bergmann Date: Tue May 20 19:16:46 2008 +0200 sonypi: BKL pushdown Signed-off-by: Arnd Bergmann commit 0410e689b19b6ca010a6a44abfa820968ae15733 Author: Arnd Bergmann Date: Tue May 20 19:16:45 2008 +0200 sony-laptop: BKL pushdown Signed-off-by: Arnd Bergmann commit 9edca64b724db74373f0c9ef7cb044a5f221a4a3 Author: Arnd Bergmann Date: Tue May 20 19:16:43 2008 +0200 serio: BKL pushdown Signed-off-by: Arnd Bergmann commit 556e4b0b69d6e45e6b4e61390ef5aebce3ea432d Author: Arnd Bergmann Date: Tue May 20 19:16:42 2008 +0200 scsi-tgt: BKL pushdown Signed-off-by: Arnd Bergmann commit 5ab0854dd77a520abe7c3b9c7770972fd3e61e90 Author: Arnd Bergmann Date: Tue May 20 19:16:40 2008 +0200 sbus-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 41012735352e72b8a3f95521817dcad1b2986636 Author: Arnd Bergmann Date: Tue May 20 19:16:39 2008 +0200 rtc-rtc-m41t80: BKL pushdown Signed-off-by: Arnd Bergmann commit 4333deee6b7a5a82afb9e700e76cb46e68fde68d Author: Arnd Bergmann Date: Tue May 20 19:16:37 2008 +0200 rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit f29b889edef0c3ab98732c84247c790a1583cb94 Author: Arnd Bergmann Date: Tue May 20 19:16:35 2008 +0200 riowatchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit db26e64dc3f0d51c4db1a625c248a81f7850eee9 Author: Arnd Bergmann Date: Tue May 20 19:16:33 2008 +0200 pm_qos_params: BKL pushdown [jmc: added ] Signed-off-by: Arnd Bergmann Signed-off-by: Jonathan Corbet commit b691750098f830b748540cd955f5ac56545bab25 Author: Arnd Bergmann Date: Tue May 20 19:16:31 2008 +0200 parisc-kernel-perf: BKL pushdown Signed-off-by: Arnd Bergmann commit 6044c319d11051f3462dafd0e7a900ef121d7bc7 Author: Arnd Bergmann Date: Tue May 20 19:16:30 2008 +0200 parisc-eisa_eeprom: BKL pushdown Signed-off-by: Arnd Bergmann commit 7bcc3209be82d69361a944c57caeb548b35c7f04 Author: Arnd Bergmann Date: Tue May 20 19:16:29 2008 +0200 openprom: BKL pushdown Signed-off-by: Arnd Bergmann commit b7fdf9fdd6457c9ed02099fe82bab92b0b3e291b Author: Arnd Bergmann Date: Tue May 20 19:16:28 2008 +0200 ocfs2-stack_user: BKL pushdown Signed-off-by: Arnd Bergmann commit 930ab4e532623795f934467c452a8c71be2c30fe Author: Arnd Bergmann Date: Tue May 20 19:16:26 2008 +0200 nvram: BKL pushdown Signed-off-by: Arnd Bergmann commit fd3e05b6c82ebee06f888482975172028e89382d Author: Arnd Bergmann Date: Tue May 20 19:16:24 2008 +0200 net-tun: BKL pushdown Signed-off-by: Arnd Bergmann commit db41bc9c4dfeed656dfd63d26883f81abc4005df Author: Arnd Bergmann Date: Tue May 20 19:16:23 2008 +0200 mwave-mwavedd: BKL pushdown Signed-off-by: Arnd Bergmann commit e3e8e59dcd63621e3ade03083c17b6363a8e2dc8 Author: Arnd Bergmann Date: Tue May 20 19:16:22 2008 +0200 mvme16x-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit f9c8154f367d471f1af56742fe8534f8458adb98 Author: Arnd Bergmann Date: Tue May 20 19:16:20 2008 +0200 mousedev: BKL pushdown Signed-off-by: Arnd Bergmann commit dca67e9d3db27b090259b696e1166615f40099e2 Author: Arnd Bergmann Date: Tue May 20 19:16:18 2008 +0200 monwriter: BKL pushdown Signed-off-by: Arnd Bergmann commit 6ce46a435a3ac9e706d09a3075cbc60ed72d37db Author: Arnd Bergmann Date: Tue May 20 19:16:17 2008 +0200 monreader: BKL pushdown [jmc: added ] Signed-off-by: Arnd Bergmann Signed-off-by: Jonathan Corbet commit 8948896c9e098c6fd31a6a698a598a7cbd7fa40e Author: Tom Tucker Date: Wed May 28 15:14:02 2008 -0500 svcrdma: Change WR context get/put to use the kmem cache Change the WR context pool to be shared across mount points. This reduces the RDMA transport memory footprint significantly since idle mounts don't consume WR context memory. Signed-off-by: Tom Tucker commit bf5927d84e70d522f234ca247b27d27c63878b93 Author: Tom Tucker Date: Wed May 28 14:05:54 2008 -0500 svcrdma: Create a kmem cache for the WR contexts Create a kmem cache to hold WR contexts. Next we will convert the WR context get and put services to use this kmem cache. Signed-off-by: Tom Tucker commit 902a94e0889be1f9fcefc0e1b602b06136e01812 Author: Tom Tucker Date: Wed May 28 13:57:05 2008 -0500 svcrdma: Add flush_scheduled_work to module exit function Make certain all transports pending free are flushed from the wq before unloading the module. Signed-off-by: Tom Tucker commit 36ef25e464dbc5820c22a9b2f619b787eda594df Author: Tom Tucker Date: Mon May 19 19:00:24 2008 -0500 svcrdma: Limit ORD based on client's advertised IRD When adapters have differing IRD limits, the RDMA transport will fail to connect properly. The RDMA transport should use the client's advertised inbound read limit when computing its outbound read limit. For iWARP transports, there is currently no standard for exchanging IRD/ORD during connection establishment so the 'responder_resources' field in the connect event is the local device's limit. The RDMA transport can be configured to use a smaller ORD by writing the desired number to the /proc/sys/sunrpc/svc_rdma/max_outbound_read_requests file. Signed-off-by: Tom Tucker commit 779a48577ba88b6a7e9748a04b0b739f36c5e6f6 Author: Tom Tucker Date: Mon May 19 10:17:09 2008 -0500 svcrdma: Remove unused wait q from svcrdma_xprt structure The sc_read_wait queue head is no longer used. Remove it. Signed-off-by: Tom Tucker commit 94dba4918d4570bfa98776e54a5fa527c848dc78 Author: Tom Tucker Date: Wed May 28 13:20:24 2008 -0500 svcrdma: Remove unneeded spin locks from __svc_rdma_free At the time __svc_rdma_free is called, we are guaranteed that all references to this transport are gone. There is, therefore, no need to protect the resource lists with a spin lock. Signed-off-by: Tom Tucker commit 87295b6c5c7fd7bbc0ce3e7f42d2adbbac7352b9 Author: Tom Tucker Date: Wed May 28 13:17:44 2008 -0500 svcrdma: Add dma map count and WARN_ON Add a dma map count in order to verify that all DMA mapping resources have been freed when the transport is closed. Signed-off-by: Tom Tucker commit e6ab9143719ff76f0b95f0866c4d0f6c743ad2e0 Author: Tom Tucker Date: Wed May 28 12:08:48 2008 -0500 svcrdma: Move the DMA unmap logic to the CQ handler Separate DMA unmap from context destruction and perform DMA unmapping in the SQ/RQ CQ reap functions. This is necessary to support software based RDMA implementations that actually copy the data in their ib_dma_unmap callback functions and architectures that don't have cache coherent I/O busses. Signed-off-by: Tom Tucker commit f820c57ebf5493d4602cc00577c8b0fadd27a7b8 Author: Tom Tucker Date: Tue May 27 17:03:14 2008 -0500 svcrdma: Use reply and chunk map for RDMA_READ processing Modify the RDMA_READ processing to use the reply and chunk list mapping data types. Also add a special purpose 'hdr_count' field in in the context to hold the header page count instead of overloading the SGE length field and corrupting the DMA map length. Signed-off-by: Tom Tucker commit 34d16e42a6ab74a4a4389c061dfa3c6609e08fa0 Author: Tom Tucker Date: Wed Jul 2 14:56:13 2008 -0500 svcrdma: Use RPC reply map for RDMA_WRITE processing Use the new svc_rdma_req_map data type for mapping the client side memory to the server side memory. Move the DMA mapping to the context pointed to by each WR individually so that it is unmapped after the WR completes. Signed-off-by: Tom Tucker commit ab96dddbedf4bb8a7a0fe44012efc1d99598c36f Author: Tom Tucker Date: Wed May 28 13:54:04 2008 -0500 svcrdma: Add a type for keeping NFS RPC mapping Create a new data structure to hold the remote client address space to local server address space mapping. Signed-off-by: Tom Tucker commit f2feb96bc3d18e50cab7de9eab142f99d91aa5f6 Author: Benny Halevy Date: Wed Jul 2 11:14:22 2008 +0300 nfsd: nfs4 minorversion decoder vectors Have separate vectors of operation decoders for each minorversion. Obsolete ops in newer minorversions have default implementation returning nfserr_opnotsupp. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 3c375c6f3a809d0d999d6dc933634f0b97ed7ae9 Author: Benny Halevy Date: Wed Jul 2 11:14:01 2008 +0300 nfsd: unsupported nfs4 ops should fail with nfserr_opnotsupp nfserr_opnotsupp should be returned for unsupported nfs4 ops rather than nfserr_op_illegal. Signed-off-by: J. Bruce Fields commit 347e0ad9c91b5bd7506d61f236048cc72b7fc151 Author: Benny Halevy Date: Wed Jul 2 11:13:41 2008 +0300 nfsd: tabulate nfs4 xdr decoding functions In preparation for minorversion 1 Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 30cff1ffff3981c8d96dc33870b652e70190ba37 Author: Benny Halevy Date: Wed Jul 2 11:13:18 2008 +0300 nfsd: return nfserr_minor_vers_mismatch when compound minorversion != 0 Check minorversion once before decoding any operation and reject with nfserr_minor_vers_mismatch if != 0 (this still happens in nfsd4_proc_compound). In this case return a zero length resultdata array as required by RFC3530. minorversion 1 processing will have its own vector of decoders. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 18d7260527ce7c0d0a177afdf92d8f868f50b067 Author: Larry.Finger@lwfinger.net Date: Mon Jun 30 10:39:49 2008 -0500 p54: Add quality output to iwlist and iwconfig The p54 driver family reports a quality of 0 in iwconfig and iwlist output. This patch calculates a quality number as a percentage of the rssi to the maximum signal of 127 reported as the maximum signal. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f4ea83dd743d3e1bec8fdf954ac911c6b12ae87a Author: Johannes Berg Date: Mon Jun 30 15:10:46 2008 +0200 mac80211: rework debug settings and make debugging safer This patch reworks the mac80211 debug settings making them more focused and adding help text for those that didn't have one. It also removes a number of printks that can be triggered remotely and add no value, e.g. "too short deauthentication frame received - ignoring". If somebody really needs to debug that they should just add a monitor interface and look at the frames in wireshark. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 49461622edf74cd1e1a1056cee3ca8dd90cd9556 Author: Johannes Berg Date: Mon Jun 30 15:10:45 2008 +0200 mac80211: get rid of function pointers in RX path This changes the RX path to no longer use function pointers for RX handlers but rather invoke them directly. If debugging is enabled, mark the RX handlers noinline because otherwise they all get inlined into ieee80211_invoke_rx_handlers() which makes it harder to see where a bug is. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d9e8a70fa20dc3eaa00859a6eac0adfaef910c77 Author: Johannes Berg Date: Mon Jun 30 15:10:44 2008 +0200 mac80211: get rid of function pointers in TX path This changes the TX path to no longer use function pointers for TX handlers but rather invoke them directly. If debugging is enabled, mark the TX handlers noinline because otherwise they all get inlined into invoke_tx_handlers() which makes it harder to see where a bug is. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit acdfe9b4417fd04093bdaf8c0a4255ebfabc21a1 Author: Zhu Yi Date: Mon Jun 30 17:23:32 2008 +0800 iwl3945: remove RFKILL_STATE_HARD_BLOCKED warnings The patch fixes the compile warning of "enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch". Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5225640bbe397fea3f38031c53641aaaf11115a8 Author: Zhu Yi Date: Mon Jun 30 17:23:31 2008 +0800 iwlwifi: fix iwl4965 temperature callback calibration issue The patch fixes the temperature calibration issue introduced by the patch "iwlwifi: move RX stats to core, and move temperature to handler". It also remove the second parameter "stats" since it is already copied to priv->statistics. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 914233d68f07d5d9c22630cd5a84fdfd98f39da2 Author: Stefanik Gábor Date: Mon Jun 30 17:23:30 2008 +0800 iwlwifi: enable packet injection for iwl3945 This patch enables packet injection on iwl3945 devices. Tested with packetspammer and aireplay-ng. Signed-off-by: Gábor Stefanik Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 25b3f57c1f4572d9b2d5671d60e99f26d2a7a26b Author: Rick Farrington Date: Mon Jun 30 17:23:28 2008 +0800 iwlwifi: fix incorrect monitor mode operation This patch fixes monitor mode operation for iwlwifi. Problems addressed: 1. when monitor mode was enabled, multiple, overlapped calls were being made to 'iwl3945_bg_set_monitor' 2. when monitor mode was disabled (via the configure_filter callback), the driver was still enabling monitor mode 3. when monitor mode was enabled, the selected channel was not set (eg. 'iwconfig wlanx mode monitor channel n' DID NOT SET channel 'n' when packet capture was subsequently enabled) Signed-off-by: Rick Farrington Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b4653e99450693b75a3c6c8ff4f070164f12815e Author: Santwona Behera Date: Wed Jul 2 03:49:11 2008 -0700 niu: Add support for rx flow hash configuration. Implemented ethtool callback functions for configuring receive flow hashing in the niu driver. Signed-off-by: Santwona Behera Signed-off-by: David S. Miller commit 0853ad66b14feb12acde7ac13b7c3b75770a0adc Author: Santwona Behera Date: Wed Jul 2 03:47:41 2008 -0700 netdev: Add support for rx flow hash configuration, using ethtool. Added new interfaces to ethtool to configure receive network flow distribution across multiple rx rings using hashing. Signed-off-by: Santwona Behera Signed-off-by: David S. Miller commit 02a00cf672a37292c31bbdde191712bfa40a4f1d Author: Haavard Skinnemoen Date: Sun Feb 24 13:51:38 2008 +0100 avr32: Power Management support ("standby" and "mem" modes) Implement Standby support. In this mode, we'll suspend all drivers, put the SDRAM in self-refresh mode and switch off the HSB bus ("frozen" mode.) Implement Suspend-to-mem support. In this mode, we suspend all drivers, put the SDRAM into self-refresh mode and switch off all internal clocks except the 32 kHz oscillator ("stop" mode.) The lowest-level suspend code runs from a small portion of SRAM allocated at startup time. This gets rid of a small potential race with the SDRAM where we might try to enter self-refresh mode in the middle of an icache burst. We also relocate all interrupt and exception handlers to SRAM during the small window when we enter and exit the low-power modes. We don't need to do any special tricks to start and stop the PLL. The main clock is automatically gated by hardware until the PLL is stable. Signed-off-by: Haavard Skinnemoen commit aa8e87ca619a3d1944874e85d74fda90607c73b9 Author: Haavard Skinnemoen Date: Sun Feb 24 14:26:03 2008 +0100 avr32: Add system device for the internal interrupt controller (intc) This makes the intc show up in sysfs (probably not very useful), and allows us to easily add suspend/resume support later. Signed-off-by: Haavard Skinnemoen commit b83d6ee17588f1a4fbfc8ef0451b0900a5ef5950 Author: Haavard Skinnemoen Date: Wed Mar 5 10:00:28 2008 +0100 avr32: Add simple SRAM allocator Add SRAM allocator for avr32, which is just a thin wrapper around genalloc. Signed-off-by: Haavard Skinnemoen commit 7951f188a0b7f9b2f181c692efb0d31082bec346 Author: Haavard Skinnemoen Date: Wed Mar 5 15:08:27 2008 +0100 avr32: Enable SDRAMC clock at startup The SDRAM controller needs a clock in order to respond to our commands, and suspend doesn't work very well without the SDRAM in self-refresh mode. Signed-off-by: Haavard Skinnemoen commit f3a24e1e272f844a4d14a39731b4fa946ba36adc Author: Haavard Skinnemoen Date: Mon Jun 30 10:54:31 2008 +0200 rtc-at32ap700x: Enable wakeup Call device_init_wakeup() to signal that the RTC is capable of waking the system. This is needed for rtcwake to work. Signed-off-by: Haavard Skinnemoen Cc: Hans-Christian Egtvedt Cc: Alessandro Zummo commit c1f598fd71db6a971ee88311167c8003243ebff2 Author: Haavard Skinnemoen Date: Tue Mar 4 13:39:29 2008 +0100 macb: Basic suspend/resume support This implements suspend and resume callbacks for the macb driver. We may have to do some more to gracefully shut the MAC down, but this at least prevents the macb from waking the system when hooked up to a busy network. Signed-off-by: Haavard Skinnemoen Cc: Jeff Garzik Cc: Patrice Vilchez Cc: Nicolas FERRE commit e1c609efbc0333840f2af2d875ca52ed8ee18587 Author: Haavard Skinnemoen Date: Fri Mar 14 14:54:13 2008 +0100 atmel_serial: Drain console TX shifter before suspending Funny things may happen if we stop the USART clock before the shifter is empty. Prevent this from happening by waiting until the shifter is completely drained before allowing suspend to continue. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor commit f826caa44902ddbe93174f0b642d8abf9698c08e Author: Haavard Skinnemoen Date: Sun Feb 24 14:34:45 2008 +0100 atmel_serial: Fix build on avr32 with CONFIG_PM enabled AVR32 doesn't have at91_suspend_entering_slow_clock(). Just assume the clock will keep running for now. David has a better solution for this, but this works for now. Leaving the USART clock running won't prevent the PM code from entering deep power-down modes anyway. Signed-off-by: Haavard Skinnemoen Cc: David Brownell Cc: Andrew Victor commit 38510754a50192a072210e24fdc4ae65592182f0 Author: Haavard Skinnemoen Date: Mon Jan 14 23:35:32 2008 +0100 avr32: Use a quicklist for PTE allocation as well Using a quicklist to allocate PTEs might be slightly faster than using the page allocator directly since we might avoid zeroing the page after each allocation. Signed-off-by: Haavard Skinnemoen commit 5a4d5292779b6163aa41e594a56307e442fbe73c Author: Haavard Skinnemoen Date: Mon Jan 14 23:33:44 2008 +0100 avr32: Use a quicklist for PGD allocation Use a quicklist to allocate process PGDs. This is expected to be slightly faster since we need to copy entries from swapper_pg_dir, which can stay around for pages on the PGD quick list. Signed-off-by: Haavard Skinnemoen commit a9a934f278613885816aa9f177968c1dac557240 Author: Haavard Skinnemoen Date: Mon Jan 14 23:11:26 2008 +0100 avr32: Cover the kernel page tables in the user PGDs Expand the per-process PGDs so that they cover the kernel virtual memory area as well. This simplifies the TLB miss handler fastpath since it doesn't have to check for kernel addresses anymore. If a TLB miss happens on a kernel address and a second-level page table can't be found, we check swapper_pg_dir and copy the PGD entry into the user PGD if it can be found there. Signed-off-by: Haavard Skinnemoen commit cfd23e93a0289cf6711fd3877c5226658d87240a Author: Haavard Skinnemoen Date: Mon Jan 14 22:15:05 2008 +0100 avr32: Store virtual addresses in the PGD Instead of storing physical addresses along with page flags in the PGD, store virtual addresses and use NULL to indicate a not present second-level page table. A non-page-aligned page table indicates a bad PMD. This simplifies the TLB miss handler since it no longer has to check the Present bit and no longer has to convert the PGD entry from physical to virtual address. Instead, it has to check for a NULL entry, which is slightly cheaper than either. Signed-off-by: Haavard Skinnemoen commit ebe74597a55fef00edc80a414ef5c6477d035e0a Author: Haavard Skinnemoen Date: Mon Jan 14 22:16:50 2008 +0100 avr32: Remove useless zeroing of swapper_pg_dir at startup swapper_pg_dir is stored in .bss, so it must already be zeroed out when we get there. Signed-off-by: Haavard Skinnemoen commit b13d618b44fefea7529bd467e55423d353a599fc Author: Haavard Skinnemoen Date: Tue May 15 15:06:41 2007 +0200 avr32: Clean up and optimize the TLB operations This and the following patches aim to optimize the code dealing with page tables and TLB operations. Each patch reduces the time it takes to gzip a 16 MB file slightly, but I expect things like fork() and mmap() will improve somewhat more. This patch deals with the low-level TLB operations: * Remove unused _TLBEHI_I define * Use gcc builtins instead of inline assembly * Remove a few unnecessary pipeline flushes and nops * Introduce NR_TLB_ENTRIES define and use it instead of hardcoding it to 32 a few places throughout the code. * Use sysreg bitops instead of hardcoded shifts and masks * Make a few needlessly global functions static Signed-off-by: Haavard Skinnemoen commit ecbed6a41900126e7b9509e12a8d0cc22176e3eb Author: Vlad Yasevich Date: Tue Jul 1 20:06:22 2008 -0700 sctp: Mark GET_PEER|LOCAL_ADDR_OLD deprecated. Socket options SCTP_GET_PEER_ADDR_OLD, SCTP_GET_PEER_ADDR_NUM_OLD, SCTP_GET_LOCAL_ADDR_OLD, and SCTP_GET_PEER_LOCAL_ADDR_NUM_OLD have been replaced by newer versions a since 2005. It's time to officially deprecate them and schedule them for removal. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6dbf4bcac98bbc76ef425b3a2b4169f31199f6c7 Author: Stephen Hemminger Date: Tue Jul 1 19:29:07 2008 -0700 icmp: fix units for ratelimit Convert the sysctl values for icmp ratelimit to use milliseconds instead of jiffies which is based on kernel configured HZ. Internal kernel jiffies are not a proper unit for any userspace API. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 07cad1d2a4b0112acd41381d5bc6be82fd71ebac Author: Miklos Szeredi Date: Tue Jul 1 15:38:35 2008 +0200 nfsd: clean up mnt_want_write calls Multiple mnt_want_write() calls in the switch statement looks really ugly. Signed-off-by: Miklos Szeredi Acked-by: Christoph Hellwig Signed-off-by: J. Bruce Fields commit 760378e1497841246ea7e42abad617d8a8ac0bcc Author: Ingo Molnar Date: Tue Jul 1 17:35:06 2008 +0200 fix "ftrace: store mcount address in rec->ip" Alexander Beregalov reported this build failure: $ make CROSS_COMPILE=sparc64-unknown-linux-gnu- image modules && sudo make modules_install CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h dnsdomainname: Unknown host CC arch/sparc64/kernel/sparc64_ksyms.o arch/sparc64/kernel/sparc64_ksyms.c:116: error: '_mcount' undeclared here (not in a function) cc1: warnings being treated as errors arch/sparc64/kernel/sparc64_ksyms.c:116: error: type defaults to 'int' in declaration of '_mcount' And bisected it back to: | commit 395a59d0f8e86bb39cd700c3d185d30c670bb958 | Author: Abhishek Sagar | Date: Sat Jun 21 23:47:27 2008 +0530 | | ftrace: store mcount address in rec->ip the mcount prototype is only available under CONFIG_FTRACE, extend it to CONFIG_MCOUNT as well. Reported-and-bisected-by: Alexander Beregalov Signed-off-by: Ingo Molnar commit f294a8ce211bed7bfaca19bef21376a86200c421 Author: Vegard Nossum Date: Tue Jul 1 15:38:13 2008 +0200 x86: small unifications of address printing 'man 3 printf' tells me that %p should be printed as if by %#x, but this is not true for the kernel, which does not use the '0x' prefix for the %p conversion specifier. A small cast to (void *) is also prettier than #ifdef/#else/#endif. Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 45fdc3a7624a4a48185a04ae0abab5f9793d8952 Author: Roland McGrath Date: Mon Jun 30 14:02:41 2008 -0700 x86 ptrace: fix PTRACE_GETFPXREGS error ptrace has always returned only -EIO for all failures to access registers. The user_regset calls are allowed to return a more meaningful variety of errors. The REGSET_XFP calls use -ENODEV for !cpu_has_fxsr hardware. Make ptrace return the traditional -EIO instead of the error code from the user_regset call. Signed-off-by: Roland McGrath Cc: stable@kernel.org Signed-off-by: Ingo Molnar commit 2ee2394b682c0ee99b0f083abe6c57727e6edb69 Author: H. Peter Anvin Date: Mon Jun 30 15:42:47 2008 -0700 x86: fix regression: boot failure on AMD Elan TS-5500 Jeremy Fitzhardinge wrote: > > Maybe it really does require the far jump immediately after setting PE > in cr0... > > Hm, I don't remember this paragraph being in vol 3a, section 8.9.1 > before. Is it a recent addition? > > Random failures can occur if other instructions exist between steps > 3 and 4 above. Failures will be readily seen in some situations, > such as when instructions that reference memory are inserted between > steps 3 and 4 while in system management mode. > I don't remember that, either. Signed-off-by: Ingo Molnar commit 3e61e0c976532a542b23bbb74c8f631815171078 Author: Pekka Paalanen Date: Mon Jun 30 23:48:37 2008 +0300 mmiotrace broken in linux-next (8-bit writes only) The moment mmiotrace is enabled, I hit a NULL deref in: IP: [] __trace_special+0x17c/0x23a Call Trace: [] ftrace_special+0x6f/0x9a [] down+0x19/0x4a [] acquire_console_sem+0x42/0x58 [] con_flush_chars+0x28/0x43 [] write_chan+0x22e/0x334 [] ? default_wake_function+0x0/0xf [] tty_write+0x195/0x228 [] ? write_chan+0x0/0x334 [] vfs_write+0xae/0x137 [] sys_write+0x47/0x70 [] system_call_after_swapgs+0x7b/0x80 which means 'entry' in __trace_special() is NULL. [ mingo@elte.hu: that ftrace_special() was a leftover. ] Signed-off-by: Pekka Paalanen Cc: Steven Rostedt Cc: proski@gnu.org Cc: "Vegard Nossum" Signed-off-by: Ingo Molnar commit 3e2f69fdd1b00166e7d589bce56b2d36a9e74374 Author: Johannes Weiner Date: Tue Jul 1 09:12:04 2008 +0200 softlockup: fix watchdog task wakeup frequency The print_timestamp can never be bigger than the touch_timestamp, at maximum it can be equal. And if it is, the second check for touch_timestamp + 1 bigger print_timestamp is always true, too. The check for equality is sufficient as we proceed in one-second-steps and are at least one second away from the last print-out if we have another timestamp. Signed-off-by: Johannes Weiner Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit f3e909c2750eb20536bacacc867dc9047b70546a Author: Michael Neuling Date: Tue Jul 1 14:01:39 2008 +1000 powerpc: Update for VSX core file and ptrace This correctly hooks the VSX dump into Roland McGrath core file infrastructure. It adds the VSX dump information as an additional elf note in the core file (after talking more to the tool chain/gdb guys). This also ensures the formats are consistent between signals, ptrace and core files. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 436db693c4f4d02d375780a1f0b2ebdca2451cd6 Author: Michael Neuling Date: Tue Jul 1 14:01:39 2008 +1000 powerpc: Fix compile error for CONFIG_VSX Fix compile error when CONFIG_VSX is enabled. arch/powerpc/kernel/signal_64.c: In function 'restore_sigcontext': arch/powerpc/kernel/signal_64.c:241: error: 'i' undeclared (first use in this function) Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit a91a03ee31a5c29a934708b7cf37bb8da516d016 Author: Eric B Munson Date: Tue Jul 1 02:12:13 2008 +1000 powerpc: Keep 3 high personality bytes across exec Currently when a 32 bit process is exec'd on a powerpc 64 bit host the value in the top three bytes of the personality is clobbered. patch adds a check in the SET_PERSONALITY macro that will carry all the values in the top three bytes across the exec. These three bytes currently carry flags to disable address randomisation, limit the address space, force zeroing of an mmapped page, etc. Should an application set any of these bits they will be maintained and honoured on homogeneous environment but discarded and ignored on a heterogeneous environment. So if an application requires all mmapped pages to be initialised to zero and a wrapper is used to setup the personality and exec the target, these flags will remain set on an all 32 or all 64 bit envrionment, but they will be lost in the exec on a mixed 32/64 bit environment. Losing these bits means that the same application would behave differently in different environments. Tested on a POWER5+ machine with 64bit kernel and a mixed 64/32 bit user space. Signed-off-by: Eric B Munson Signed-off-by: Paul Mackerras commit 908ec7afacfdc83dc10938ed1d3c38b3526034ec Author: H. Peter Anvin Date: Mon Jun 30 14:42:18 2008 -0700 x86: remove arbitrary ELF section limit in i386 relocatable kernel Impact: build failure in maximal configurations The 32-bit x86 relocatable kernel requires an auxilliary host program to process the relocations. This program had a hard-coded arbitrary limit of a 100 ELF sections. Instead of a hard-coded limit, allocate the structures dynamically. Signed-off-by: H. Peter Anvin Acked-by: Vivek Goyal commit 89b5810f6ed4b2d42415e5ec656ab6b148cd2bde Author: Bart Van Assche Date: Sat Jun 28 16:51:35 2008 +1000 powerpc: Make sure that include/asm-powerpc/spinlock.h does not trigger compilation warnings When compiling kernel modules for ppc that include , gcc prints a warning message every time it encounters a function declaration where the inline keyword appears after the return type. This makes sure that the order of the inline keyword and the return type is as gcc expects it. Additionally, the __inline__ keyword is replaced by inline, as checkpatch expects. Signed-off-by: Bart Van Assche Signed-off-by: Paul Mackerras commit fcbc5a976b1cafe2e866871c86d239d57503bfd5 Author: Stephen Rothwell Date: Fri Jun 27 16:18:27 2008 +1000 powerpc: Explicitly copy elements of pt_regs Gcc 4.3 produced this warning: arch/powerpc/kernel/signal_64.c: In function 'restore_sigcontext': arch/powerpc/kernel/signal_64.c:161: warning: array subscript is above array bounds This is caused by us copying to aliases of elements of the pt_regs structure. Make those explicit. This adds one extra __get_user and unrolls a loop. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3420b5daffbf5892634fd89a04c010e71e8aeebf Author: Bernhard Walle Date: Fri Jun 27 03:02:15 2008 +1000 powerpc: Remove experimental status of kdump on 64-bit powerpc This removes the experimental status of kdump on PPC64. kdump is on PPC64 now since more than one year and it has proven to be stable. Signed-off-by: Bernhard Walle Signed-off-by: Paul Mackerras commit 016b33c4958681c24056abed8ec95844a0da80a3 Author: Andy Whitcroft Date: Thu Jun 26 19:55:58 2008 +1000 powerpc: Add 64 bit version of huge_ptep_set_wrprotect The implementation of huge_ptep_set_wrprotect() directly calls ptep_set_wrprotect() to mark a hugepte write protected. However this call is not appropriate on ppc64 kernels as this is a small page only implementation. This can lead to the hash not being flushed correctly when a mapping is being converted to COW, allowing processes to continue using the original copy. Currently huge_ptep_set_wrprotect() unconditionally calls ptep_set_wrprotect(). This is fine on ppc32 kernels as this call is generic. On 64 bit this is implemented as: pte_update(mm, addr, ptep, _PAGE_RW, 0); On ppc64 this last parameter is the page size and is passed directly on to hpte_need_flush(): hpte_need_flush(mm, addr, ptep, old, huge); And this directly affects the page size we pass to flush_hash_page(): flush_hash_page(vaddr, rpte, psize, ssize, 0); As this changes the way the hash is calculated we will flush the wrong pages, potentially leaving live hashes to the original page. Move the definition of huge_ptep_set_wrprotect() to the 32/64 bit specific headers. Signed-off-by: Andy Whitcroft Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 03d70617b8a789c3721afaafde06fcbba7c7ebf1 Author: Andrew Lewis Date: Thu Jun 26 19:29:05 2008 +1000 powerpc: Prevent memory corruption due to cache invalidation of unaligned DMA buffer On PowerPC processors with non-coherent cache architectures the DMA subsystem calls invalidate_dcache_range() before performing a DMA read operation. If the address and length of the DMA buffer are not aligned to a cache-line boundary this can result in memory outside of the DMA buffer being invalidated in the cache. If this memory has an uncommitted store then the data will be lost and a subsequent read of that address will result in an old value being returned from main memory. Only when the DMA buffer starts on a cache-line boundary and is an exact mutiple of the cache-line size can invalidate_dcache_range() be called, otherwise flush_dcache_range() must be called. flush_dcache_range() will first flush uncommitted writes, and then invalidate the cache. Signed-off-by: Andrew Lewis Signed-off-by: Paul Mackerras commit 9d4ae9fc92f347b93b42c9c0ccde7138c1202e36 Author: Kumar Gala Date: Thu Jun 26 18:58:11 2008 +1000 powerpc/bootwrapper: Pad .dtb by default Since most bootloaders or wrappers tend to update or add some information to the .dtb they a handled they need some working space to do that in. By default add 1K of padding via a default setting of DTS_FLAGS. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 96d5b52c8473ae6ee63d592474bcc1255df06102 Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Add CONFIG_VSX config option Add CONFIG_VSX config build option. Must compile with POWER4, FPU and ALTIVEC. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit ce48b2100785e5ca629fb3aa8e3b50aca808f692 Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Add VSX context save/restore, ptrace and signal support This patch extends the floating point save and restore code to use the VSX load/stores when VSX is available. This will make FP context save/restore marginally slower on FP only code, when VSX is available, as it has to load/store 128bits rather than just 64bits. Mixing FP, VMX and VSX code will get constant architected state. The signals interface is extended to enable access to VSR 0-31 doubleword 1 after discussions with tool chain maintainers. Backward compatibility is maintained. The ptrace interface is also extended to allow access to VSR 0-31 full registers. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 72ffff5b1792b0fa4d40a8e2f3276fff999820ec Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Add VSX assembler code macros This adds the macros for the VSX load/store instruction as most binutils are not going to support this for a while. Also add VSX register save/restore macros and vsr[0-63] register definitions. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit b962ce9d26fd6677e6720949642420ceb029a102 Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Add VSX CPU feature Add a VSX CPU feature. Also add code to detect if VSX is available from the device tree. Signed-off-by: Michael Neuling Signed-off-by: Joel Schopp Signed-off-by: Paul Mackerras commit c6e6771b87d4e339d27f1383c8a808ae9b4ee5b8 Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Introduce VSX thread_struct and CONFIG_VSX The layout of the new VSR registers and how they overlap on top of the legacy FPR and VR registers is: VSR doubleword 0 VSR doubleword 1 ---------------------------------------------------------------- VSR[0] | FPR[0] | | ---------------------------------------------------------------- VSR[1] | FPR[1] | | ---------------------------------------------------------------- | ... | | | ... | | ---------------------------------------------------------------- VSR[30] | FPR[30] | | ---------------------------------------------------------------- VSR[31] | FPR[31] | | ---------------------------------------------------------------- VSR[32] | VR[0] | ---------------------------------------------------------------- VSR[33] | VR[1] | ---------------------------------------------------------------- | ... | | ... | ---------------------------------------------------------------- VSR[62] | VR[30] | ---------------------------------------------------------------- VSR[63] | VR[31] | ---------------------------------------------------------------- VSX has 64 128bit registers. The first 32 regs overlap with the FP registers and hence extend them with and additional 64 bits. The second 32 regs overlap with the VMX registers. This commit introduces the thread_struct changes required to reflect this register layout. Ptrace and signals code is updated so that the floating point registers are correctly accessed from the thread_struct when CONFIG_VSX is enabled. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 6f3d8e6947ec98e358514fc0f7b2e37fe88a21bb Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Make load_up_fpu and load_up_altivec callable Make load_up_fpu and load_up_altivec callable so they can be reused by the VSX code. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 10e343925ab5d9f6c651ad808f2e413e3cc053b3 Author: Michael Neuling Date: Wed Jun 25 14:07:18 2008 +1000 powerpc: Move altivec_unavailable Move the altivec_unavailable code, to make room at 0xf40 where the vsx_unavailable exception will be. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 9c75a31c3525a127f70b919856e32be3d8b03755 Author: Michael Neuling Date: Thu Jun 26 17:07:48 2008 +1000 powerpc: Add macros to access floating point registers in thread_struct. We are going to change where the floating point registers are stored in the thread_struct, so in preparation add some macros to access the floating point registers. Update all code to use these new macros. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 9e7511861c4f8d35852a3721c5bcd92661cb4c9f Author: Michael Neuling Date: Wed Jun 25 14:07:17 2008 +1000 powerpc: Fix MSR setting in 32 bit signal code If we set the SPE MSR bit in save_user_regs we can blow away the VEC bit. This doesn't matter in reality as they are in fact the same bit but looks bad. Also, when we add VSX in a later patch, we need to be able to set two separate MSR bits here. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 9b09c6d909dfd8de96b99b9b9c808b94b0a71614 Author: Tony Breeds Date: Tue Jun 24 14:20:29 2008 +1000 powerpc: Change the default link address for pSeries zImage kernels Currently we set the start of the .text section to be 4Mb for pSeries. In situations where the zImage is > 8Mb we'll fail to boot (due to overlapping with OF). Move .text in a zImage from 4MB to 64MB (well past OF). We still will not be able to load large zImage unless we also move OF, to that end, add a note to the zImage ELF to move OF to 32Mb. If this is the very first kernel booted then we'll need to move OF manually by setting real-base. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit c230328def963373ec474056f372e1918692c3c8 Author: Michael Ellerman Date: Tue Jun 24 11:33:05 2008 +1000 powerpc: Use an alternative feature section in entry_64.S Use an alternative feature section in _switch. There are three cases handled here, either we don't have an SLB, in which case we jump over the entire code section, or if we do we either do or don't have 1TB segments. Boot tested on Power3, Power5 and Power5+. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 362e7701fd183d990e0863883461edef61392710 Author: Michael Ellerman Date: Tue Jun 24 11:33:03 2008 +1000 powerpc: Add self-tests of the feature fixup code This commit adds tests of the feature fixup code, they are run during boot if CONFIG_FTR_FIXUP_SELFTEST=y. Some of the tests manually invoke the patching routines to check their behaviour, and others use the macros and so are patched during the normal patching done during boot. Because we have two sets of macros with different names, we use a macro to generate the test of the macros, very niiiice. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 9b1a735de64cc975c31a1642ec55e082ddbdfeaf Author: Michael Ellerman Date: Tue Jun 24 11:33:02 2008 +1000 powerpc: Add logic to patch alternative feature sections This commit adds the logic to patch alternative sections. This is fairly straightforward, except for branches. Relative branches that jump from inside the else section to outside of it need to be translated as they're moved, otherwise they will jump to the wrong location. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit fac23fe4be23259a8eaa9bad822f5b14dd07d15c Author: Michael Ellerman Date: Tue Jun 24 11:32:54 2008 +1000 powerpc: Introduce infrastructure for feature sections with alternatives The current feature section logic only supports nop'ing out code, this means if you want to choose at runtime between instruction sequences, one or both cases will have to execute the nop'ed out contents of the other section, eg: BEGIN_FTR_SECTION or 1,1,1 END_FTR_SECTION_IFSET(FOO) BEGIN_FTR_SECTION or 2,2,2 END_FTR_SECTION_IFCLR(FOO) and the resulting code will be either, or 1,1,1 nop or, nop or 2,2,2 For small code segments this is fine, but for larger code blocks and in performance criticial code segments, it would be nice to avoid the nops. This commit starts to implement logic to allow the following: BEGIN_FTR_SECTION or 1,1,1 FTR_SECTION_ELSE or 2,2,2 ALT_FTR_SECTION_END_IFSET(FOO) and the resulting code will be: or 1,1,1 or, or 2,2,2 We achieve this by extending the existing FTR macros. The current feature section semantic just becomes a special case, ie. if the else case is empty we nop out the default case. The key limitation is that the size of the else case must be less than or equal to the size of the default case. If the else case is smaller the remainder of the section is nop'ed. We let the linker put the else case code in with the rest of the text, so that relative branches from the else case are more likley to link, this has the disadvantage that we can't free the unused else cases. This commit introduces the required macro and linker script changes, but does not enable the patching of the alternative sections. We also need to update two hand-made section entries in reg.h and timex.h Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit c1137c37a9370f510dc022e6e95fff036ccb90be Author: Michael Ellerman Date: Tue Jun 24 11:32:48 2008 +1000 powerpc: Consolidate feature fixup macros for 64/32 bit Currently we have three versions of MAKE_FTR_SECTION_ENTRY(), the macro that generates a feature section entry. There is 64bit version, a 32bit version and version for 32bit code built with a 64bit kernel. Rather than triplicating (?) the MAKE_FTR_SECTION_ENTRY() logic, we can move the 64bit/32bit differences into separate macros, and then only have one version of MAKE_FTR_SECTION_ENTRY(). Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit c5157e587b33b1185cf73207fc53760cf1351430 Author: Michael Ellerman Date: Tue Jun 24 11:32:39 2008 +1000 powerpc: Consolidate CPU and firmware feature fixup macros The CPU and firmware feature fixup macros are currently spread across three files, firmware.h, cputable.h and asm-compat.h. Consolidate them into their own file, feature-fixups.h Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 51c52e86694f19e84600a40f6156889feafd8ae9 Author: Michael Ellerman Date: Tue Jun 24 11:32:36 2008 +1000 powerpc: Split out do_feature_fixups() from cputable.c The logic to patch CPU feature sections lives in cputable.c, but these days it's used for CPU features as well as firmware features. Move it into it's own file for neatness and as preparation for some additions. While we're moving the code, we pull the loop body logic into a separate routine, and remove a comment which doesn't apply anymore. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit b7bcda631e87eb3466d0baa9885650ba7d7ed89d Author: Michael Ellerman Date: Tue Jun 24 11:32:35 2008 +1000 powerpc: Add PPC_NOP_INSTR, a hash define for the preferred nop instruction A bunch of code has hard-coded the value for a "nop" instruction, it would be nice to have a #define for it. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit ae0dc73625f9b0e636ccd130e394c9b654a062fb Author: Michael Ellerman Date: Tue Jun 24 11:32:32 2008 +1000 powerpc: Add tests of the code patching routines Add tests of the existing code patching routines, as well as the new routines added in the last commit. The self-tests are run late in boot when CONFIG_CODE_PATCHING_SELFTEST=y, which depends on DEBUG_KERNEL=y. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 411781a290b0d0a31fd73826b3ee110f1e3cc3b6 Author: Michael Ellerman Date: Tue Jun 24 11:32:29 2008 +1000 powerpc: Add new code patching routines This commit adds some new routines for patching code, which will be used in a following commit. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 07630a37beefe8e4401c602f04e3e5bcbba50b31 Author: Michael Ellerman Date: Tue Jun 24 11:32:28 2008 +1000 powerpc: Add ppc_function_entry() which gets the entry point for a function Because function pointers point to different things on 32-bit vs 64-bit, add a macro that deals with dereferencing the OPD on 64-bit. The soon to be merged ftrace wants this, as well as other code I am working on. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 053a858efa46c9ab86363b271374ec02ad2af753 Author: Michael Ellerman Date: Tue Jun 24 11:32:24 2008 +1000 powerpc: Make create_branch() return errors if the branch target is too large If you pass a target value to create_branch() which is more than 32MB - 4, or - 32MB away from the branch site, then it's impossible to create an immediate branch. The current code doesn't check, which will lead to us creating a branch to somewhere else - which is bad. For code that cares to check we return 0, which is easy to check for, and for code that doesn't at least we'll be creating an illegal instruction, rather than a branch to some random address. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit e7a57273c6407bb6903fbaddec8c2119bf318617 Author: Michael Ellerman Date: Tue Jun 24 11:32:22 2008 +1000 powerpc: Allow create_branch() to return errors Currently create_branch() creates a branch instruction for you, and patches it into the call site. In some circumstances it would be nice to be able to create the instruction and patch it later, and also some code might want to check for errors in the branch creation before doing the patching. A future commit will change create_branch() to check for errors. For callers that don't care, replace create_branch() with patch_branch(), which just creates the branch and patches it directly. While we're touching all the callers, change to using unsigned int *, as this seems to match usage better. That allows (and requires) us to remove the volatile in the definition of vector in powermac/smp.c and mpc86xx_smp.c, that's correct because now that we're passing vector as an unsigned int * the compiler knows that it's value might change across the patch_branch() call. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Acked-by: Jon Loeliger Signed-off-by: Paul Mackerras commit aaddd3eacaeaef3503035750b3f21ac2bfe97cbf Author: Michael Ellerman Date: Tue Jun 24 11:32:21 2008 +1000 powerpc: Move code patching code into arch/powerpc/lib/code-patching.c We currently have a few routines for patching code in asm/system.h, because they didn't fit anywhere else. I'd like to clean them up a little and add some more, so first move them into a dedicated C file - they don't need to be inlined. While we're moving the code, drop create_function_call(), it's intended caller never got merged and will be replaced in future with something different. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 73f38fe1b563a9d23ffacbda7b51decf41b0c49c Author: Julia Lawall Date: Tue Jun 24 04:14:52 2008 +1000 drivers/macintosh/smu.c: Improve error handling This makes two changes: * As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem never returns NULL and always returns a zeroed region of memory. Thus the error checking code and memset after the call to alloc_bootmem are not necessary. * The old error handling code consisted of setting a global variable to NULL and returning an error code, which could cause previously allocated resources never to be freed. The patch adds calls to appropriate resource deallocation functions. Signed-off-by: Julia Lawall Signed-off-by: Paul Mackerras commit 178f8d78fdeaace8b22a759a059b74f39caf23a4 Author: Adrian Bunk Date: Tue Jun 24 03:48:28 2008 +1000 powerpc: asm/elf.h: Reduce userspace header This makes asm/elf.h export less non-userspace stuff to userspace. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit d1cdcf2241723d6596d56abb8777b5ef79b4a878 Author: Adrian Bunk Date: Tue Jun 24 03:48:21 2008 +1000 powerpc: Don't export asm/asm-compat.h to userspace asm/asm-compat.h doesn't seem to be intended for userspace usage. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 9b4a8dd2e9f8af206eb39e3d99c442b0d6158953 Author: Adrian Bunk Date: Tue Jun 24 03:46:57 2008 +1000 drivers/macintosh: Various cleanups This contains the following cleanups: - make the following needlessly global code static: - adb.c: adb_controller - adb.c: adb_init() - adbhid.c: adb_to_linux_keycodes[] (also make it const) - via-pmu68k.c: backlight_level - via-pmu68k.c: backlight_enabled - remove the following unused code: - via-pmu68k.c: sleep_notifier_list Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f0c426bc3557a93e9d2f2863fda1e2042f942a60 Author: Kumar Gala Date: Sat Jun 21 02:31:01 2008 +1000 powerpc: Move common module code into its own file Refactor common code between ppc32 and ppc64 module handling into a shared filed. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 87e9ab13c36b838f7d557a6111dfdd29fcde85ad Author: Dave Kleikamp Date: Thu Jun 19 08:32:56 2008 +1000 powerpc: hash_huge_page() should get the WIMG bits from the lpte Signed-off-by: Dave Kleikamp Cc: Jon Tollefson Cc: Adam Litke Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0cb99013775f75a7b2cc72a26f48827601cf7cee Author: Joel Schopp Date: Thu Jun 19 06:23:23 2008 +1000 powerpc: Tell firmware we support architecture V2.06 Add the bits to the architecture-vec so that ibm,client-architecture lets the firmware know we support the 2.06 architecture. Signed-off-by: Joel Schopp Signed-off-by: Paul Mackerras commit 635f5a6354eaf2cf7d72116086175b82b12ac80a Author: Joel Schopp Date: Thu Jun 19 06:18:21 2008 +1000 powerpc: Add cputable entry for Power7 architected mode Add an entry for Power7 architected mode and add "(raw)" to Power7 raw mode to distinguish it more clearly. Signed-off-by: Joel Schopp Signed-off-by: Paul Mackerras commit 3a8247cc2c856930f34eafce33f6a039227ee175 Author: Paul Mackerras Date: Wed Jun 18 15:29:12 2008 +1000 powerpc: Only demote individual slices rather than whole process At present, if we have a kernel with a 64kB page size, and some process maps something that has to be mapped with 4kB pages (such as a cache-inhibited mapping on POWER5+, or the eHCA infiniband queue-pair pages), we change the process to use 4kB pages everywhere. This hurts the performance of HPC programs that access eHCA from userspace. With this patch, the kernel will only demote the slice(s) containing the eHCA or cache-inhibited mappings, leaving the remaining slices able to use 64kB hardware pages. This also changes the slice_get_unmapped_area code so that it is willing to place a 64k-page mapping into (or across) a 4k-page slice if there is no better alternative, i.e. if the program specified MAP_FIXED or if there is not sufficient space available in slices that are either empty or already have 64k-page mappings in them. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit b5470dc5fc18a8ff6517c3bb538d1479e58ecb02 Author: Dan Williams Date: Fri Jun 27 21:44:04 2008 -0700 md: resolve external metadata handling deadlock in md_allow_write md_allow_write() marks the metadata dirty while holding mddev->lock and then waits for the write to complete. For externally managed metadata this causes a deadlock as userspace needs to take the lock to communicate that the metadata update has completed. Change md_allow_write() in the 'external' case to start the 'mark active' operation and then return -EAGAIN. The expected side effects while waiting for userspace to write 'active' to 'array_state' are holding off reshape (code currently handles -ENOMEM), cause some 'stripe_cache_size' change requests to fail, cause some GET_BITMAP_FILE ioctl requests to fall back to GFP_NOIO, and cause updates to 'raid_disks' to fail. Except for 'stripe_cache_size' changes these failures can be mitigated by coordinating with mdmon. md_write_start() still prevents writes from occurring until the metadata handler has had a chance to take action as it unconditionally waits for MD_CHANGE_CLEAN to be cleared. [neilb@suse.de: return -EAGAIN, try GFP_NOIO] Signed-off-by: Dan Williams commit d17ffb4c9d86194bb74cbc30f4b65de59c27f6cd Merge: e05f86c... bd451d5... Author: Jesper Nilsson Date: Tue Jul 1 00:14:13 2008 +0200 Merge branch 'cris_debug_port_fix' into cris commit e05f86c13bca8eac80bccd1e86f3e09a7d3ae963 Merge: fea7263... d9fa021... Author: Jesper Nilsson Date: Tue Jul 1 00:14:07 2008 +0200 Merge branch 'asm_cris_kbuild' into cris commit fea72637c665f2143adcf8455fffa55160c2cad2 Merge: 53e43d0... f3c4b53... Author: Jesper Nilsson Date: Tue Jul 1 00:13:54 2008 +0200 Merge branch 'build_fix' into cris commit f3c4b53d5ec6bd2ae0f284c1e6371bff545f0f80 Author: Jesper Nilsson Date: Mon Jun 30 21:20:23 2008 +0200 [CRISv10] Clean up compressed/misc.c Many minor fixes in whitespace and formatting. Signed-off-by: Jesper Nilsson commit 0a078ffa011209c307880da10917ef205b4b11f4 Author: Tomas Winkler Date: Mon Jun 30 17:23:26 2008 +0800 iwlwifi: fix 4965 uCode load This patch fixes uCode load in 4965 HW Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a9efa652cbfead13bbe200878f8a2d74f3543e1b Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:25 2008 +0800 iwlwifi: clean up HW RF-kill state machine and restarts This patch cleans up HW RF-kill state machine. Signed-off-by: Mohamed Abbas Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 154b25ce9218fbe6eebacef7907fabf6d663e639 Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:24 2008 +0800 iwlwifi: blocking mac_start until uCode is complete This patch makes iwl4965_mac_start block until the uCode has been completely loaded. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 06da0699445631e6710b1f3b2e89570325b65e7e Author: Ron Rindjunsky Date: Mon Jun 30 17:23:23 2008 +0800 iwlwifi: eliminate iwl4965_mac_get_tsf This patch removes iwl4965_mac_get_tsf, as this function does not currently reports any actual value. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e58942a2ed4386ea19bae4342320d569e025dded Author: Abhijeet Kolekar Date: Mon Jun 30 17:23:22 2008 +0800 iwlwifi: Remove unnecessary code Removed unnecessary goto. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4977929304306b1b0712f9b99e3cbf95f75c31ea Author: Ron Rindjunsky Date: Mon Jun 30 17:23:21 2008 +0800 iwlwifi: control 11n capabilities through module param This patch adds module param 11n_disable to allow configuration of 11n capabilities. The default value of this param is 11n enabled (value 0). Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit da154e306eb04426a3693c947588d82c3da05337 Author: Ron Rindjunsky Date: Mon Jun 30 17:23:20 2008 +0800 iwlwifi: unite common settings of HW params This patch unites common settings of 4965 and 5000 hw params. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3bff19c203d216436a73e56b8298bebd5ea75a3f Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:19 2008 +0800 iwlwifi: don't bring up interface if RF-kill avoids radio This patch avoids the user from bringing up the interface if RF-kill doesn't allow radio. 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 ebef2008082f579d8a40cc92e868fe8bf1296a60 Author: Abhijeet Kolekar Date: Mon Jun 30 17:23:18 2008 +0800 iwlwifi : Patch adds rfkill subsystem for 3945 The patch removes the sysfs interface from iwl3945 and uses the rfkill subsystem instead. Original patch by Adel, I fixed the patch to work it properly. Signed-off-by: Adel Gadllah Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2ff75b7877c40b1917f23cc5fafccaf3c1ab4745 Author: Assaf Krauss Date: Mon Jun 30 17:23:17 2008 +0800 iwlwifi: adjust TSF in IBSS This patch makes the driver, in IBSS mode, comply with TSF requirements in 2 ways: 1. It notifies mac80211 of its TSF timestamp. 2. It uses the given timestamp in the beacon template to update the ucode. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4faeb86070c38c0df9f5a23c3f6acf5538492a33 Author: Assaf Krauss Date: Mon Jun 30 17:23:16 2008 +0800 mac80211: add beacon timestamp to beacon template in IBSS This patch adds a beacon timestamp to the beacon template used in IBSS mode. This way the underlying driver can update its TSF accordingly. According the spec station should adopt the highest TSF from an incoming beacons in the cell. Signed-off-by: Assaf Krauss Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 052ec3f13973c789c89068573d3b06c983711d81 Author: Mohamed Abbas Date: Mon Jun 30 17:23:15 2008 +0800 iwlwifi: keep the STATUS_EXIT_PENDING flag till the end of down flow This patch avoids unsetting STATUS_EXIT_PENDING in the middle of the down flow. Signed-off-by: Mohamed Abbas Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9185159d3e29eb5ef15c125089fd40c36ce0c24f Author: Tomas Winkler Date: Mon Jun 30 17:23:14 2008 +0800 iwlwifi: fix IBSS association flow This patch fixes regression caused by 'iwlwifi: send ADD_STA before RXON with assoc bit' patch. RXON associated wasn't IBSS flow. Signed-off-by: Tomas Winkler Signed-off-by: Assaf Krauss Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 36e1f16ed293d47f052f3532f2fc74c1bfe9c09e Author: Ron Rindjunsky Date: Mon Jun 30 17:23:13 2008 +0800 iwlwifi: remove obsolete lq_ready use This patch removes the use of lq_ready, once used to sync between link quality commands to avoid race conditions, but no longer needed as bss_info_changed is in use. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0c70515f2397b0e61a9961eba386a1277621a244 Author: Ron Rindjunsky Date: Mon Jun 30 17:23:12 2008 +0800 iwlwifi: move rx aggregation functions to iwl-rx.c This patch moves Rx aggregation functions into iwl-rx.c Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 653fa4a07525e4cd9e7b90e6fc1f792119910636 Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:11 2008 +0800 iwlwifi: setup compressed BA handler This patch sets the compressed BA handler for 5000. This allows the rate scaling algorithm to take in count frames that were sent in AMPDUs. The compressed BA handler has been moved to iwl-rx.c since it is common to 4965 and 5000. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4b8817b2a06958efd868677880334229fe5a96cf Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:10 2008 +0800 iwlwifi: remove useless network and duplicate checking The iwlwifi drivers go to great lengths to avoid passing packets to mac80211 they think shouldn't go there, while mac80211 can (of course!) handle them very well. Especially in the case of duplicate packets this is interesting because it's such a performance hog (especially for IBSS networks) while mac80211 does that work on the side without much effort. This patch removes all that and leaves only what is absolutely necessary for the hardware. Signed-off-by: Emmanuel Grumbach Signed-off-by: Johannes Berg Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1781a07fbe9cce3dc1697288a5edd260ea7edc02 Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:09 2008 +0800 iwlwifi: move RX handlers to iwl-rx.c This patch moves RX handlers to iwl-rx.c Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 37deb2a0baf1bb540b723cc8a3972b42ff2daac6 Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:08 2008 +0800 iwlwifi: don't send REPLY_REMOVE_ALL_STA upon exit This patch avoids sending REPLY_REMOVE_ALL_STA in down flow, this avoids a meaningless warning from being printed On the way this patch also renames the the function to iwl_clear_stations_table Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8f91aecb4cdc2d786df8941e827b9dff3c10a4e4 Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:07 2008 +0800 iwlwifi: move RX stats to core, and move temperature to handler This patch moves RX stats flow to core modules, and moves temperature calibration to handler since it is not needed in 5000. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 43d59b323743b8a01e9ad1a1b31b0d7c0ef6e35a Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:06 2008 +0800 iwlwifi: send ADD_STA before RXON with assoc bit This patch fixes a bug in association flow. As soon as RXON with assoc bit is sent, uCode expects to have an entry in its station table that describe the AP. Receiving a beacon from an HT AP before sending ADD_STA results a uCode error. This patch sends first the ADD_STA (bcast and bssid) and only then RXON with assoc bit set Signed-off-by: Emmanuel Grumbach Signed-off-by: Gregory Greenman Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ebbbdc3fb70ebb4dae1d319b723c14b5dc21cc71 Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:05 2008 +0800 iwlwifi: add REPLY_TX_POWER_DBM_CMD to get_cmd_string This patch adds REPLY_TX_POWER_DBM_CMD to get_cmd_string. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d1e2325acedfe0c7f101adb2e9d10bb0508090f Author: Ron Rindjunsky Date: Mon Jun 30 17:23:04 2008 +0800 iwlwifi: use iwl_is_associated when possible This patch add uses of iwl_is_associated in places it is suitable in. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 24e5c40130c29bed0fbfbcc9c23613ae6ffc4c0a Author: Emmanuel Grumbach Date: Mon Jun 30 17:23:03 2008 +0800 iwlwifi: better station table maintenance This patch makes the station table maintenance safer. Two flags are maintained: 1) if station is present in driver 2) if station is present in uCode This will allow us in the future to deal with more stations than the firmware allows. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f236a2657794b6f10b582bf6ccfbca7bf0d5ec82 Author: Tomas Winkler Date: Mon Jun 30 17:23:02 2008 +0800 iwlwifi: Add eeprom version to the version file in sysfs This patch adds eeprom version display into device/version sysfs file /sys/class/net/wlanX/devices/version Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 853554accce19d16b03476676bdcb1ccdd44caae Author: Gregory Greenman Date: Mon Jun 30 17:23:01 2008 +0800 iwlwifi: configure uCode to use open loop tx power algorithm This patch configures uCode to use open loop tx power algorithm via TX_POWER_DBM (0x98) host command. Signed-off-by: Gregory Greenman Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bc19d6e0b74ef03a3baf035412c95192b54dfc6f Author: Adel Gadllah Date: Sun Jun 29 19:20:21 2008 +0200 b43/b43legacy: add RFKILL_STATE_HARD_BLOCKED support This patch sets the rfkill state to RFKILL_STATE_HARD_BLOCKED when the radio is killed by the hardware switch. Signed-off-by: Adel Gadllah Signed-off-by: John W. Linville commit f97d1f489d8b44a2c6e8529af855e5e0a2ceaf1e Author: Adel Gadllah Date: Sat Jun 28 14:20:40 2008 +0200 b43/b43legacy: use RFKILL_STATE_UNBLOCKED instead of RFKILL_STATE_ON This patch removes the usage RFKILL_STATE_ON and uses RFKILL_STATE_UNBLOCKED instead. Signed-off-by: Adel Gadllah Signed-off-by: John W. Linville commit 5479d0e73958710b9a255337eaa2ba47eb492def Author: Tomas Winkler Date: Sat Jun 28 03:15:03 2008 +0300 mac80211: fix warning: unused variable invoke_tx_handlers This patch fixes warning: unused variable in invoke_tx_handlers when compiling without MAC80211_DEBUG option Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7cd8d3ea5173bb4b0dc3e84497048a5e3a14aec8 Author: Pavel Roskin Date: Fri Jun 27 16:20:16 2008 -0400 hostap: use radiotap headers by default Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 573b933f8f20ce298f6ff83d5ecc7b99ff3abb12 Author: Pavel Roskin Date: Fri Jun 27 16:20:10 2008 -0400 hostap: add radiotap support in monitor mode Provide MAC time, rate, channel, signal and noise. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit b53a5dabc5e0a0a1882a16446fb3d22d6a16114d Author: Pavel Roskin Date: Fri Jun 27 16:20:04 2008 -0400 hostap: don't skip any headers in hostap_80211_header_parse() Don't try to skip any headers in hostap_80211_header_parse(). We never use that function for interfaces affected by local->monitor_type. Both the master and the AP interface receive 802.11 frames without any additional headers. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 245727c1805d68e58810b58b24d967c5dd22a8fa Author: Adel Gadllah Date: Fri Jun 27 19:45:07 2008 +0200 iwlwifi: fix rfkill deps and remove input device usage This patch fixes the rfkill deps for iwl4965/5000 and removes the input device usage. Signed-off-by: Adel Gadllah Signed-off-by: John W. Linville commit ae6a44e3afae0e813e9ab707a2317b08e21f4ab2 Author: Ester Kummer Date: Fri Jun 27 18:54:48 2008 +0300 mac80211: removing duplicated parsing of information elements This patch removes the duplicated parsing of information elements in ieee80211_rx_bss_info and in ieee_rx_mgmt_beacon Signed-off-by: Tomas Winkler Signed-off-by: Ester Kummer Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e5f5e7339cd95d07937e6f8081b46fba86c742a7 Author: Adrian Bunk Date: Thu Jun 26 13:38:13 2008 +0300 build algorithms into the mac80211 module The old infrastructure was: - the default algorithm is built into mac80211 - other algorithms get into their own modules The implementation of this complicated scheme was horrible (just look at net/mac80211/Makefile), and anyone adding a new algorithm would most likely not get it right at his first attempt. This patch therefore builds all enabled algorithms into the mac80211 module. The user interface for the rate control algorithms changes as follows: - first the user can choose which algorithms to enable (currently only MAC80211_RC_PID is available) - if more than one algorithm is enabled (currently not possible since only one algorithm is present) the user then chooses the default one Note: - MAC80211_RC_PID is always enables for CONFIG_EMBEDDED=n Technical changes: - all selected algorithms get into the mac80211 module - net/mac80211/Makefile can now become much less complicated - support for rc80211_pid_algo.c being modular is no longer required - this includes unexporting mesh_plink_broken Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit bf998f686430107fb8790ef6713f8e352a3deede Author: Emmanuel Grumbach Date: Tue Jun 24 13:38:00 2008 +0300 mac80211: add last beacon time in scan list This patch adds the interval between the scan results and the last time a beacon was received in the result of the scan. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 06ff47bc9595848b818ac79e7d8069337c6e58b1 Author: Tomas Winkler Date: Wed Jun 18 17:53:44 2008 +0300 mac80211: add spectrum capabilities This patch add spectrum capability and required information elements to association request providing AP has requested it and it is supported by the driver Signed-off-by: Tomas Winkler Signed-off-by: Assaf Krauss Signed-off-by: John W. Linville commit 7b1e78d5052a92e95d851fbb0236a712264fe7e8 Author: Yi Zhu Date: Wed Jun 18 17:53:43 2008 +0300 mac80211: add MAC80211_VERBOSE_SPECT_MGMT_DEBUG Kconfig option The patch introduces MAC80211_VERBOSE_SPECT_MGMT_DEBUG Kconfig option to suppress Spectrum Management 802.11h related debug logs. Signed-off-by: Zhu Yi Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit edd4b53e03049f6fc2f46397b23e412cfe720a4e Author: John W. Linville Date: Fri Jun 27 13:04:25 2008 -0400 iwl-rfkill.c: correct 'recieved' typo Correct typo introduced by "wireless: remove RFKILL_STATE_HARD_BLOCKED warnings". Signed-off-by: John W. Linville commit bd451d5ed206cda4ed0e03fac4e5dece2fd7767f Author: Jesper Nilsson Date: Mon Jun 30 23:22:51 2008 +0200 [CRISv10] Correct whitespace damage. The previous patch was whitespace damaged, correct to indent using tabs. Signed-off-by: Jesper Nilsson commit d9fa021cfb62f44e6be3db916dbef78d7b05eca7 Author: Jesper Nilsson Date: Mon Jun 30 22:51:16 2008 +0200 [CRIS] Correct definition of subdirs for install_headers. Hinko Kocevar noted that the CRIS architecture subdirs were no longer exported correctly when doing install_headers. Correct this by exporting all directories as header-y. Signed-off-by: Jesper Nilsson commit 5b2353859f87748f0707cec57c3953022a3321f3 Author: Saeed Bishara Date: Thu Jun 5 13:19:30 2008 +0200 [ARM] Kirkwood: use chip_delay Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit f4db56ffd43a810424866fac6de9a32486415316 Author: Saeed Bishara Date: Sun May 4 19:25:52 2008 -1100 [MTD] orion_nand: add chip_delay parameter Some SoCs need a different chip_delay value. Signed-off-by: Saeed Bishara Acked-by: Jörn Engel Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 395aed6de6d063bc234a179d65d3b6d720ce589a Author: Imre Kaloz Date: Thu Jun 26 01:39:19 2008 +0200 [ARM] Orion: enable all currently supported boards in defconfig Signed-off-by: Imre Kaloz Signed-off-by: Lennert Buytenhek commit da01bba3cb8814b17d809e09c301e1dad86fec87 Author: Lennert Buytenhek Date: Thu Jun 26 17:12:50 2008 +0200 [ARM] Orion: make PCI handling code deal with Cardbus slots The Cardbus connector does not have an IDSEL signal, and Cardbus cards are always the intended target of configuration transactions on their local PCI bus. This means that if the Orion's PCI bus signals are hooked up to a Cardbus slot, the same set of PCI functions will will appear 31 times, for each of the PCI device IDs 1-31 (ID 0 is the host bridge). This patch adds a function to the Orion PCI handling code that board support code can call to enable Cardbus mode. When Cardbus mode is enabled, configuration transactions on the PCI local bus are only allowed to PCI IDs 0 (host bridge) and 1 (cardbus device). Signed-off-by: Lennert Buytenhek commit 100766f8347c1aeb5a548c5c7aa9012f4a3276f1 Author: Jeff Layton Date: Mon Jun 30 14:09:46 2008 -0400 nfsd: treat all shutdown signals as equivalent knfsd currently uses 2 signal masks when processing requests. A "loose" mask (SHUTDOWN_SIGS) that it uses when receiving network requests, and then a more "strict" mask (ALLOWED_SIGS, which is just SIGKILL) that it allows when doing the actual operation on the local storage. This is apparently unnecessarily complicated. The underlying filesystem should be able to sanely handle a signal in the middle of an operation. This patch removes the signal mask handling from knfsd altogether. When knfsd is started as a kthread, all signals are ignored. It then allows all of the signals in SHUTDOWN_SIGS. There's no need to set the mask as well. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 3cd2cfeae187fb754f9530e3f919256f350e89ca Author: J. Bruce Fields Date: Mon Jun 2 16:01:51 2008 -0400 nfs: rewrap NFS/RDMA documentation to 80 lines Wrap long lines. Signed-off-by: J. Bruce Fields commit 007de8b4fdd4f3f8ef9891f20b5dc03cf693bb5f Author: James Lentini Date: Mon Jun 2 15:33:59 2008 -0400 update NFS/RDMA documentation Update the NFS/RDMA documentation to clarify how to run mount.nfs. Signed-off-by: James Lentini Signed-off-by: J. Bruce Fields commit 496d6c32d4d057cb44272d9bd587ff97d023ee92 Author: Neil Brown Date: Thu May 8 13:03:09 2008 +1000 nfsd: fix spurious EACCESS in reconnect_path() Thanks to Frank Van Maarseveen for the original problem report: "A privileged process on an NFS client which drops privileges after using them to change the current working directory, will experience incorrect EACCES after an NFS server reboot. This problem can also occur after memory pressure on the server, particularly when the client side is quiet for some time." This occurs because the filehandle points to a directory whose parents are no longer in the dentry cache, and we're attempting to reconnect the directory to its parents without adequate permissions to perform lookups in the parent directories. We can therefore fix the problem by acquiring the necessary capabilities before attempting the reconnection. We do this only in the no_subtree_check case, since the documented behavior of the subtree_check export option requires the server to check that the user has lookup permissions on all parents. The subtree_check case still has a problem, since reconnect_path() unnecessarily requires both read and lookup permissions on all parent directories. However, a fix in that case would be more delicate, and use of subtree_check is already discouraged for other reasons. Signed-off-by: Neil Brown Cc: Frank van Maarseveen Signed-off-by: J. Bruce Fields commit 80be038593dba7aa46fb24a14f0ba83e5ade0edb Author: Randy Dunlap Date: Mon Jun 30 11:35:53 2008 -0700 PCI: add stub for pci_set_consistent_dma_mask() When CONFIG_PCI=n, there is no stub for pci_set_consistent_dma_mask(), so add one like other similar stubs. Otherwise there can be build errors, as here: linux-next-20080630/drivers/ssb/main.c:1175: error: implicit declaration of function 'pci_set_consistent_dma_mask' Signed-off-by: Randy Dunlap Signed-off-by: Jesse Barnes commit 7dd071058f70d517f2d24e80cbb9d9885d565f0a Author: Jesper Nilsson Date: Mon Jun 30 20:38:06 2008 +0200 [CRIS] Correct image makefiles to allow using a separate OBJ-directory. Make compile succeed when building with O= (srctree != objtree). Signed-off-by: Hinko Kocevar Signed-off-by: Jesper Nilsson commit 7441e9cb18a1a1e5b87f516fa97b6d4abb0838e3 Author: Joerg Roedel Date: Mon Jun 30 20:18:02 2008 +0200 x86, AMD IOMMU: disable suspend/resume with IOMMU enabled (for now) This patch disables suspend/resume on machines with AMD IOMMU enabled. Real suspend/resume support for AMD IOMMU is currently being worked on. Until this is ready it will be disabled to avoid data corruption when the IOMMU is not properly re-enabled at resume. The patch is based on a similar patch for the GART driver written by Pavel Machek. The overall driver merged into tip/master is tested with parallel disk and network loads and showed no problems in a test running for 3 days. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Signed-off-by: Ingo Molnar commit 1338760329c586e0141831099e15f5c336dd9c1d Author: Saeed Bishara Date: Mon Jun 23 01:05:08 2008 -1100 [ARM] Kirkwood: support L2 writeback mode This patch allows booting Kirkwood with the L2 in writeback mode, by reading the WT override bit from the L2 config register and passing that into the Feroceon L2 init routine, instead of assuming that the WT override bit will always be set Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit a10b188f195d00116f56f0049d8b17c711641fb7 Author: Sylver Bruneau Date: Wed Jun 25 23:41:09 2008 +0200 [ARM] Orion: fix for tsx09-common.c compilation problem In some cases, compilation of the tsx09 common file was failing due to an incomplete list of includes. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit cdd3c5ec1e79f99a56a9c94f77e082e4846c7d71 Author: Martin Michlmayr Date: Sat Jun 28 12:56:49 2008 +0200 [ARM] Orion: correctly load mv2120 RTC driver After Jean Delvare's change "i2c: Convert most new-style drivers to use module aliasing" (3760f736716f74bdc62a4ba5406934338da93eb2), loading rtc-xxx from platform code fails. Update mv2120-setup.c so that the driver is loaded correctly. Signed-off-by: Martin Michlmayr Signed-off-by: Lennert Buytenhek commit 9e95685084533d0cee1e869ecfd28de1e431f12f Author: Sylver Bruneau Date: Mon Jun 23 01:20:05 2008 +0200 [ARM] Orion: initialize UART1 on Kurobox Pro/Linkstation Pro Kurobox Pro/Linkstation Pro devices use a microcontroller connected to UART1. As most of the communication with this microcontroller is done from userland (power button detection, fan speed ...), the setup file has to make UART1 available from userland. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit fa14f7e8df9ee8afea23dab21adb0b7a521f1cd6 Author: Adrian Bunk Date: Thu Jun 26 10:46:39 2008 -0400 Input: hp_sdc_mlc.c - make a struct static This patch makes the needlessly global struct hp_sdc_mlc_priv_s static. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 0486dc1e9295f46130305817940384458e3f47d1 Author: Adrian Bunk Date: Thu Jun 26 10:46:38 2008 -0400 Input: hil_mlc.c - make code static Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit a894403766c93a8fae6de15684aa559fc78d5530 Author: Éric Piel Date: Thu Jun 26 11:05:01 2008 -0400 Input: wistron - generate normal key event if bluetooth or wifi not present If the subsystem is not present, instead of not doing anything, report the key press as a normal key. This is done by modifying at initialization the copied key entry table. Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 5a54c0115757fd98ca05efae626e6aebf54a8427 Author: Jiri Kosina Date: Thu Jun 26 10:46:38 2008 -0400 Input: atkbd - fix HP 2133 not sending release event for video switch Video switch key on HP 2133 doesn't send release event, so we have to create workaround similar to what we do for Dell Latitude, i.e. perform DMI match for the system and generate 'false' release event ourselves, so that userspace doesn't think that the key is stuck forever. Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 3cadd2d98972f806165c634553ac4918b2b7920c Author: Richard Lemon Date: Thu Jun 26 10:10:41 2008 -0400 Input: Add driver for iNexio serial touchscreen. Signed-off-by: Richard Lemon Signed-off-by: Dmitry Torokhov commit 8a65c02f1dfda13ac2172f88f90f087330db82de Author: Mark Brown Date: Thu Jun 26 09:56:27 2008 -0400 Input: wm9712 - no pressure measurement with 5-wire mode The hardware does not support pressure measurement is 5-wire mode so warn the user if he tries to request it. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit f2278f31d6feb9036eaa79f2e8abcce850420abd Author: Adam Dawidowski Date: Mon Jun 2 01:08:10 2008 -0400 Input: fix force feedback upload issue in compat mode Force feedback upload of effects through the event device (ioctl EVIOCSFF) is not working in 32 bit applications running on 64-bit kernel due to the fact that struct ff_effect contains a pointer, resulting in the structure having different sizes in 64 and 32 bit programs and causing difference in ioctl numbers. [dtor@mail.ru: refactor to keep all ugliness in evdev] Signed-off-by: Adam Dawidowski Signed-off-by: Dmitry Torokhov commit 82547e9074a23d9d722a5f6053f4734566127da6 Author: Dmitry Torokhov Date: Mon Jun 2 01:03:24 2008 -0400 Input: atamouse - various cleanups Signed-off-by: Dmitry Torokhov commit 819561286b8eca845ce741141a016de2b51e90c7 Author: Dmitry Torokhov Date: Mon Jun 2 01:02:52 2008 -0400 Input: evbug - identify device by its sysfs ID This should help with devices that don't set up their phys or name since sysfs ID is always present. Signed-off-by: Dmitry Torokhov commit c98122828111d3eeb29bd2d51496e300b4e5356e Author: Dmitry Torokhov Date: Mon Jun 2 01:02:40 2008 -0400 Input: don't reset sync flag when ignoring event Signed-off-by: Dmitry Torokhov commit dd7a1e5615b1719c0fdffee1ea5a7820ac8141a6 Author: Johannes Weiner Date: Fri Jun 27 15:07:21 2008 +0200 softlockup: fix watchdog task wakeup frequency Updating the timestamp more often is pointless as we print the warnings only if we exceed the threshold. And the check for hung tasks relies on the last timestamp, so it will keep working correctly, too. Signed-off-by: Johannes Weiner Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit e952e6c4d6635b36c212c056a9427bd93460178c Author: Michael Neuling Date: Wed Jun 18 10:47:26 2008 +1000 powerpc: Add cputable entry for POWER7 Add a cputable entry for the POWER7 processor. Also tell firmware that we know about POWER7. Signed-off-by: Michael Neuling Signed-off-by: Joel Schopp Signed-off-by: Paul Mackerras commit e2d755051129c61a9f67bf752d0b7cc82b115338 Author: Scott Wood Date: Wed Jun 18 02:59:59 2008 +1000 powerpc: Fix copy-and-paste error in clrsetbits_le16 This was pointed out by Detlev Zundel when this code was being added to U-boot. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 316a405841cc03723d401b098d188aa4e3daa69b Author: Becky Bruce Date: Sat Jun 14 09:41:43 2008 +1000 powerpc: Get rid of bitfields in ppc_bat struct While working on the 36-bit physical support, I noticed that there was exactly one line of code that actually referenced the bitfields. So I got rid of them and redefined ppc_bat as a struct of 2 u32's: batu and batl. I also got rid of the previous union that held the bitfield structs and a word representation of the batu/l values. This seems like a nicer solution than adding in a bunch of new bitfields to support extended bat addressing that would never get used, and just leaving the struct as-is would have been incomplete in the face of large physical addressing. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit 7c5c4325d2d911fe54db3bc14149bfa558ae0acb Author: Becky Bruce Date: Sat Jun 14 09:41:42 2008 +1000 powerpc: Change BAT code to use phys_addr_t Currently, the physical address is an unsigned long, but it should be phys_addr_t in set_bat, [v/p]_mapped_by_bat. Also, create a macro that can convert a large physical address into the correct format for programming the BAT registers. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit bf2737f74ffd36f43c6ed11cd2c0826e1d59ad48 Author: Becky Bruce Date: Sat Jun 14 09:12:44 2008 +1000 powerpc: Silly spelling fix in pgtable-ppc32 Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit 36c35be332faa8ba1aaa8a237e72b9460117129d Author: Arnd Bergmann Date: Thu Jun 12 19:34:39 2008 +1000 powerpc: Increase CRASH_HANDLER_MAX There are now two potential callers of machine_crash_shutdown, so increase the limit accordingly. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5acb08070dcbabf7347ad73cb8a79a145a2a5152 Author: Arnd Bergmann Date: Thu Jun 12 19:14:36 2008 +1000 powerpc/cell: Disable ptcal in case of crash kdump We need to disable ptcal before starting a new kernel after a crash, in order to avoid overwriting data in the kdump kernel. Signed-off-by: Arnd Bergmann Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit cf2076012f3efbd945ceea67704fe515f8d6171f Author: Arnd Bergmann Date: Thu Jun 12 19:14:35 2008 +1000 powerpc/pseries: Call pseries_kexec_setup only on pseries The pseries_kexec_setup function overwrites some ppc_md pointers, so make sure it only gets called when running on the right architecture. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit aee10c6145199f872bc51f811b115a4b686b2426 Author: Arnd Bergmann Date: Thu Jun 12 19:14:34 2008 +1000 powerpc: Provide dummy crash_shutdown_register When kexec is disabled, the crash_shutdown_{un,}register functions are not available in the kernel. This provides dummy inline functions for those so that the callers don't have to worry about it. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 41743a4e34f0777f51c1cf0675b91508ba143050 Author: Benjamin Herrenschmidt Date: Wed Jun 11 15:37:10 2008 +1000 powerpc: Free a PTE bit on ppc64 with 64K pages This frees a PTE bit when using 64K pages on ppc64. This is done by getting rid of the separate _PAGE_HASHPTE bit. Instead, we just test if any of the 16 sub-page bits is set. For non-combo pages (ie. real 64K pages), we set SUB0 and the location encoding in that field. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ff1f4ee94c3c4480b9cee95da2d19668262636c6 Author: Anton Vorontsov Date: Wed Jun 11 08:31:00 2008 +1000 powerpc: Implement OF PCI address accessors stubs for CONFIG_PCI=n To avoid "#ifdef CONFIG_PCI" in the drivers we should provide stubs in place of OF PCI address accessors. Without these stubs build breaks for drivers not strictly requiring PCI, for example CONFIG_FB_OF=y without CONFIG_PCI: LD .tmp_vmlinux1 drivers/built-in.o: In function `offb_map_reg': offb.c:(.text+0x6e7c): undefined reference to `of_get_pci_address' OF PCI IRQ accessors require pci_dev argument, so drivers using PCI IRQs should depend on CONFIG_PCI anyway. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 9a24729d8aeef967eac7af71c6a69edc83d06558 Author: Daniel Walker Date: Tue Jun 10 09:26:09 2008 +1000 macintosh/media bay: Convert semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1baaeea00594776978d875a0f618591056a3705a Author: Daniel Walker Date: Tue Jun 10 09:26:08 2008 +1000 macintosh/therm_windtunnel: Convert semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b1e2270ffefb636afd71bbb8bf19aedff0e5ac3d Author: Nick Piggin Date: Tue Jun 10 09:26:08 2008 +1000 spufs: Convert nopfn to fault Signed-off-by: Nick Piggin Acked-by: Jeremy Kerr Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1976aef97020563d337b4875be0edb9f0fee98aa Author: Segher Boessenkool Date: Sun Jun 8 09:42:52 2008 +1000 powerpc: Get rid of CROSS32{AS,LD,OBJCOPY} CROSS32AS and CROSS32LD are never used (instead, CROSS32CC is used with proper command line options). CROSS32OBJCOPY isn't used anymore either, since the "wrapper" stuff was added. Remove these unused variables. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit ad19dbdb4b224deabbf6080e238256ffbc9be485 Author: Stephen Rothwell Date: Fri May 23 16:31:08 2008 +1000 pcmcia: Use linux/of_{device,platform}.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Vitaly Bordug Acked-by: Olof Johansson Acked-by: Dominik Brodowski Signed-off-by: Paul Mackerras commit 55b6c8e99d582cc66947b465d0ff3147a0219808 Author: Stephen Rothwell Date: Fri May 23 16:28:54 2008 +1000 drivers/net: Use linux/of_{device,platform}.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit ad9e05aef7c861280b404d38fb50a8ff11d01e11 Author: Stephen Rothwell Date: Fri May 23 16:27:02 2008 +1000 macintosh: Use linux/of_{device,platform}.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7587cb2f12d47f8160bcdb1328b90f3055291bfc Author: Stephen Rothwell Date: Fri May 23 16:25:50 2008 +1000 hwmon: Use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Stelian Pop Signed-off-by: Paul Mackerras commit 98cad10187c0bf5b638bad0912076d8ac9d861bd Author: Stephen Rothwell Date: Fri May 23 16:20:05 2008 +1000 pasemi-rng: Use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 10c0ad4dd9ecc3d4141fecbe74c9f18d7f904fb7 Author: Stephen Rothwell Date: Fri May 23 15:12:23 2008 +1000 viotape: Use unlocked_ioctl This pushes the BKL down into the driver. Based on a patch by Alan Cox. We need to do it this way for now as the inode parameter of viotap_ioctl is used internally as a flag. We should do a further cleanup patch. Cc: Alan Cox Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 74f0609526afddd88bef40b651da24f3167b10b2 Author: Nick Piggin Date: Thu May 22 00:12:31 2008 +1000 powerpc: Optimise smp_wmb on 64-bit processors For 64-bit processors, lwsync is the recommended method of store/store ordering on caching enabled memory. For those subarchs which have lwsync, use it rather than eieio for smp_wmb. Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit ac2564c44509aba1e21d878ffd4f34ac96811762 Author: Matti Linnanvuori Date: Sun Jun 29 09:22:43 2008 +0300 x86: add compilation checks to pci_unmap_*() macros Add compilation checks to pci_unmap_ macros. Signed-off-by: Matti Linnanvuori Signed-off-by: Ingo Molnar commit 5e5a29bf2624a5984e1c36c3a2481ee91249ec9c Author: Anders H Kaseorg Date: Sat Jun 28 18:25:41 2008 -0400 x86, 64-bit: patch paravirt inline replacements when loading modules small speedup. Paravirt replacements were added to the i386 module loader by commit 139ec7c416248b9ea227d21839235344edfee1e0. This adds the same code to the x86_64 module loader. Signed-off-by: Anders Kaseorg Acked-by: "H. Peter Anvin" Signed-off-by: Ingo Molnar commit 44974c8fc1d7047abe414562e0782320f4c1f511 Author: FUJITA Tomonori Date: Mon Jun 30 08:11:22 2008 +0900 x86 gart: remove unnecessary set_bit_string iommu_area_alloc internally calls set_bit_string and set bits properly. This set_bit_string is unnecessary. Signed-off-by: FUJITA Tomonori Cc: joerg.roedel@amd.com Signed-off-by: Ingo Molnar commit 8594698ebddeef5443b7da8258ae33b3eaca61d5 Author: Ingo Molnar Date: Fri Jun 27 21:20:17 2008 +0200 stacktrace: fix modular build, export print_stack_trace and save_stack_trace fix: ERROR: "print_stack_trace" [kernel/backtracetest.ko] undefined! ERROR: "save_stack_trace" [kernel/backtracetest.ko] undefined! Signed-off-by: Ingo Molnar and fix: Building modules, stage 2. MODPOST 376 modules ERROR: "print_stack_trace" [kernel/backtracetest.ko] undefined! make[1]: *** [__modpost] Error 1 Signed-off-by: Ingo Molnar commit 30432094a7f506ad24997a3ba6aed913ab61c01d Author: Vegard Nossum Date: Fri Jun 27 21:35:50 2008 +0200 sched: fix warning This patch fixes the following warning: kernel/sched.c:1667: warning: 'cfs_rq_set_shares' defined but not used This seems the correct way to fix this; cfs_rq_set_shares() is only used in a single place, which is also inside #ifdef CONFIG_FAIR_GROUP_SCHED. Signed-off-by: Vegard Nossum Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 34e83e850f5e5ee2a18cd77a5d70d31972a632e6 Author: Ingo Molnar Date: Fri Jun 27 15:42:36 2008 +0200 sched: build fix fix: kernel/sched.c: In function ‘sched_group_set_shares': kernel/sched.c:8635: error: implicit declaration of function ‘cfs_rq_set_shares' Signed-off-by: Ingo Molnar commit e9a4b6a3f6592862a67837e80aad3f50468857a6 Merge: 441dbb5... 1702b52... Author: Paul Mackerras Date: Mon Jun 30 10:16:50 2008 +1000 Merge branch 'linux-2.6' commit 441dbb500b4344a8e3125e5aabab4f9dbf72514f Merge: dee8055... 5ce4b59... Author: Paul Mackerras Date: Mon Jun 30 09:57:05 2008 +1000 Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx commit 53e43d014cb7d5a3bd53dbdbf0e74977e7dda923 Merge: dc1493a... 9be48a9... Author: Jesper Nilsson Date: Sun Jun 29 23:38:42 2008 +0200 Merge branch 'pcf8563_mutex_spinlock' into cris commit dc1493aff0330130b2606d8accb458b1fef129a7 Merge: bdb144b... 3aa30df... Author: Jesper Nilsson Date: Sun Jun 29 23:38:38 2008 +0200 Merge branch 'cris_debug_port_fix' into cris commit bdb144b67a7660ce5d044ae9a2fd1a8030f12523 Author: Jesper Nilsson Date: Sun Jun 29 23:15:19 2008 +0200 [CRIS] Build fixes for compressed and rescue images for v10 and v32: - Use the normal cross gcc instead of using an elf specific cris toolchain. This removes the dependency of this second toolchain. - Use the normal cross objcopy instead of overriding it to use elf-toolchain. This allows compiling using "CROSS_COMPILE=$CRIS_GCC/cris-axis-linux-gnu-" instead of just "CROSS_COMPILE=$CRIS_GCC/cris-axis-linux-gnu/bin/" - Remove redundant rules for compiling, the implicit rules are sufficient. - Convert the arch/cris/arch-v10/boot/compressed/head.S to format accepted by the cris-axis-linux-gnu-gcc (registers must be prefixed with '$', remove explicit underscore on exported symbols) - Remove a number of unused (and duplicated) prototypes from arch/cris/arch-v10/boot/compressed/misc.c. - Correct memcpy and memset return values (actually return them!) Signed-off-by: Jesper Nilsson commit 9be48a94b8ae8c944dc918ad65f2f27e9df3ed00 Author: Julia Lawall Date: Sun Jun 29 22:50:56 2008 +0200 It looks at least odd to apply spin_unlock to a mutex. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @def@ declarer DEFINE_MUTEX; identifier m; @@ DEFINE_MUTEX(m); @@ identifier def.m; @@ ( - spin_lock(&m) + mutex_lock(&m) | - spin_unlock(&m) + mutex_unlock(&m) ) // Signed-off-by: Julia Lawall Signed-off-by: Jesper Nilsson commit 3aa30df3d0d78f568cff9d6a98ae01ae55494f10 Author: Hinko Kocevar Date: Fri Jun 6 14:12:26 2008 +0200 cris: compile fixes for 2.6.26-rc5 Add dummy ops for serial debug port. Add setting of c_ispeed/c_ospeed as suggested by Alan Cox. Signed-off-by: Hinko Kocevar Acked-by: Alan Cox Signed-off-by: Jesper Nilsson commit 865c652d6be9929927cabdc54b137b7541eb6612 Author: Francois Romieu Date: Sun May 11 14:51:00 2008 +0200 r8169: remove non-napi code It will almost unavoidably cause some breakage but it is long overdue. The driver identification string has been updated, a lost tabulation and some unused code have been removed. Otherwise the code paths should stay the same. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 1087f4f4af302e6e2fa40dd741f306444d90bece Author: Francois Romieu Date: Wed Dec 26 22:46:05 2007 +0100 r8169: multicast register update (sync with Realtek's 8.004.00 8168 driver) The layout of the 8168 serie is different from that of the 8110 one. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2d452c9b10caeec455eb5e56a0ef4ed485178213 Author: Ingo Molnar Date: Sun Jun 29 15:01:59 2008 +0200 sched: sched_clock_cpu() based cpu_clock(), lockdep fix Vegard Nossum reported: > WARNING: at kernel/lockdep.c:2738 check_flags+0x142/0x160() which happens due to: unsigned long long cpu_clock(int cpu) { unsigned long long clock; unsigned long flags; raw_local_irq_save(flags); as lower level functions can take locks, we must not do that, use proper lockdep-annotated irq save/restore. Reported-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 28f49d8fec19833672a6a813bfde0068fee50bc9 Merge: 332e4af... ff28bd9... Author: David S. Miller Date: Sat Jun 28 22:57:58 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 332e4af80d1214fbf0e263e1408fc7c5b64ecdd6 Merge: 1b63ba8... be0976b... Author: David S. Miller Date: Sat Jun 28 21:28:46 2008 -0700 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit be0976be9148f31ee0d1997354c3e30ff8d07587 Author: Jeff Garzik Date: Fri Jun 27 02:20:20 2008 -0400 [netdrvr] kill sync_irq-before-freq_irq pattern synchronize_irq() is superfluous when free_irq() call immediately follows it, because free_irq() also does a synchronize_irq() call of its own. Signed-off-by: Jeff Garzik commit 28cd4289abc2c8db90344ee4ff064a9bdf086fdf Author: Jeff Garzik Date: Fri Jun 27 02:18:50 2008 -0400 [netdrvr] fealnx: clean up nasty mess of arch ifdefs Clean up config/burst value arch-specific setup. * bcrvalue only varied by its big-endian bit * crvalue only varied for certain types of x86-32 chips This should make fealnx quite a bit more portable, without any behavior change. Signed-off-by: Jeff Garzik commit 445854f4c46ff1fa8f4605334914ecd1a1ae574d Author: Harvey Harrison Date: Wed May 28 16:51:04 2008 -0700 tulip: remove wrapper around get_unaligned DE_UNALIGNED_16 is always being passed a u16 *, no need to have the wrapper with two casts in it, just call get_unaligned directly. Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit f5ccbcfacaae57e3312e623432a79d5f1f079cf5 Author: Tobias Diedrich Date: Sun Jun 1 01:20:05 2008 +0200 Fix forcedeth hibernate/wake-on-lan problems This patch is the minimal amount of code needed to support wake-on-lan in platform mode properly (i.e. "ethtool -s eth0 wol g" is sufficient, no additional magic needed) for me. This is derived from David Brownells patch (http://lists.laptop.org/pipermail/devel/2007-April/004691.html). However I decided to move the hook into pci-acpi.c since the other two pci hooks also live there and pci and acpi are the only users of the platform_enable_wakeup-hook. As a 'side-effect' this also makes wake on usb activity work for me and I had to disable usb wakeup (which is enabled by default) using the power/wakeup sysfs functionality ("echo disabled > ${sysfs_path_to_device}/power/wakeup"). (BTW I first thought the 'immediate reboot because of usb wake' effect is caused by the optical mouse generating a wake event, but it rather seems to be a problem with a flaky secondary usb host controller, which sees a connected device where nothing is attached) Signed-off-by: Tobias Diedrich Signed-off-by: Jeff Garzik commit 9a60a82600822d34dcbc4df0866ec6ce643c0e79 Author: Tobias Diedrich Date: Sun Jun 1 00:54:42 2008 +0200 Fix forcedeth hibernate/wake-on-lan problems We currently don't signal the kernel we that this device can wake the system. Call device_init_wakeup() to correct this. Without this device_can_wakeup and device_may_wakeup will return incorrect values. Together with the minimized acpi wakeup patch (6/4 ;)), which will follow in the next mail, this really makes wake-on-lan work for me as expected (i.e. "ethtool -s eth0 wol g" is sufficient, no additional magic needed). Signed-off-by: Tobias Diedrich Signed-off-by: Jeff Garzik commit a9879c4fca9d93ccfb48d642421f3f6211eceec4 Author: Márton Németh Date: Sun Jun 15 09:52:30 2008 +0200 8139too: some style cleanups Clean up the following errors and warnings reported by checkpatch.pl: + ERROR: Macros with complex values should be enclosed in parenthesis + WARNING: __func__ should be used instead of gcc specific __FUNCTION__ + WARNING: plain inline is preferred over __inline__ + WARNING: Use #include instead of + WARNING: Use #include instead of The changes were verified with by comparing the "objdump -d 8139too.ko" output which is exactly the same for the old and new version in case of config CONFIG_8139TOO=m, CONFIG_8139TOO_PIO=n, CONFIG_8139TOO_TUNE_TWISTER=n, CONFIG_8139TOO_8129=n, CONFIG_8139_OLD_RX_RESET=n. Software versions used: gcc 4.2.3, objdump 2.18.0.20080103, on elf32-i386. Signed-off-by: Márton Németh Signed-off-by: Jeff Garzik commit 818727badc14ce57dc099a075b05505d50b7956e Author: Jussi Kivilinna Date: Wed Jun 18 15:40:12 2008 +0300 rndis_host: pass buffer length to rndis_command Pass buffer length to rndis_command so that rndis_command can read full response buffer from device instead of max CONTROL_BUFFER_SIZE bytes. Signed-off-by: Jussi Kivilinna Signed-off-by: Jeff Garzik commit 0caa11663cbfc55209fd3ccab6afab2708bb44fd Author: Nobuhiro Iwamatsu Date: Wed Jun 18 18:32:09 2008 +0900 net: sh_eth: Fix compile error sh_eth Fix compile error on sh_eth and remove base address macro. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Jeff Garzik commit b45f87681e2851f0c991a589989daa6a4a351565 Author: Andy Gospodarek Date: Thu Jun 19 17:19:12 2008 -0400 e1000: remove e1000_clean_tx_irq call from e1000_netpoll The call to e1000_clean_tx_irq in e1000_netpoll can race with the call to e1000_clean_tx_irq in e1000_clean. With a small bit of tweaking to to netpoll_send_skb to simulate a system that was under extreme stress, I was able to reproduce these concurrent calls. This can result in multiple frees to the skbs on the tx ring buffer. Dropping this call from e1000_netpoll should be fine since we can rely on the calls in e1000_clean to do what is needed since napi will poll the hardware just after calling poll_controller. Signed-off-by: Andy Gospodarek Signed-off-by: Jeff Garzik commit 42bfd33ab7bce7d2abaa8bd968ae9ad0dc9a4771 Author: Taku Izumi Date: Fri Jun 20 12:10:30 2008 +0900 igb: make ioport free This patch makes igb driver ioport-free. This corrects behavior in probe function so as not to request ioport resources as long as they are not really needed. Signed-off-by: Taku Izumi Signed-off-by: Jeff Garzik commit 6e4f6f6b408cf3257c65cf4f3e299c098345b72f Author: Taku Izumi Date: Fri Jun 20 11:57:02 2008 +0900 e1000e: make ioport free This patch makes e1000e driver ioport-free. This corrects behavior in probe function so as not to request ioport resources as long as they are not really needed. Signed-off-by: Taku Izumi Signed-off-by: Jeff Garzik commit d03157babed7424f5391af43200593768ce69c9a Author: Auke Kok Date: Sun Jun 22 15:21:29 2008 -0700 e1000: remove PCI Express device IDs We do not want to prolong the situation much longer that e1000 and e1000e support these devices at the same time. As a result, take out the bandage that was added for the interim period and remove all the PCI Express device IDs from e1000. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit d7ff2a4a28ceadc03df2f5a20897165fda306382 Author: Haavard Skinnemoen Date: Tue Mar 4 15:16:57 2008 +0100 avr32: Rename at32ap.c -> pdc.c The only thing left in at32ap.c is some PDC stuff. Rename the file to reflect what it actually does. Signed-off-by: Haavard Skinnemoen commit 65033ed740ef06eddf9fde7a992eab336cbddd56 Author: Haavard Skinnemoen Date: Tue Mar 4 15:15:00 2008 +0100 avr32: Move setup_platform() into chip-specific file Combine at32_clock_init() and at32_portmux_init() into setup_platform() and remove setup_platform() from at32ap.c. No functional change since all setup_platform() ever did was call those two functions. Signed-off-by: Haavard Skinnemoen commit 1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9 Merge: e35c326... d420895... Author: David S. Miller Date: Sat Jun 28 01:19:40 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl4965-base.c commit 1fe797e67fb07d605b82300934d0de67068a0aca Author: Dan Williams Date: Sat Jun 28 09:16:30 2008 +1000 md: rationalize raid5 function names From: Dan Williams Commit a4456856 refactored some of the deep code paths in raid5.c into separate functions. The names chosen at the time do not consistently indicate what is going to happen to the stripe. So, update the names, and since a stripe is a cache element use cache semantics like fill, dirty, and clean. (also, fix up the indentation in fetch_block5) Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 7b3a871ed995270268a481404454ceafe1a87478 Author: Dan Williams Date: Sat Jun 28 08:32:09 2008 +1000 md: handle operation chaining in raid5_run_ops From: Dan Williams Neil said: > At the end of ops_run_compute5 you have: > /* ack now if postxor is not set to be run */ > if (tx && !test_bit(STRIPE_OP_POSTXOR, &s->ops_run)) > async_tx_ack(tx); > > It looks odd having that test there. Would it fit in raid5_run_ops > better? The intended global interpretation is that raid5_run_ops can build a chain of xor and memcpy operations. When MD registers the compute-xor it tells async_tx to keep the operation handle around so that another item in the dependency chain can be submitted. If we are just computing a block to satisfy a read then we can terminate the chain immediately. raid5_run_ops gives a better context for this test since it cares about the entire chain. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit d8ee0728b5b30d7a6f62c399a95e953616d31f23 Author: Dan Williams Date: Sat Jun 28 08:32:06 2008 +1000 md: replace R5_WantPrexor with R5_WantDrain, add 'prexor' reconstruct_states From: Dan Williams Currently ops_run_biodrain and other locations have extra logic to determine which blocks are processed in the prexor and non-prexor cases. This can be eliminated if handle_write_operations5 flags the blocks to be processed in all cases via R5_Wantdrain. The presence of the prexor operation is tracked in sh->reconstruct_state. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 600aa10993012ff2dd5617720dac081e4f992017 Author: Dan Williams Date: Sat Jun 28 08:32:05 2008 +1000 md: replace STRIPE_OP_{BIODRAIN,PREXOR,POSTXOR} with 'reconstruct_states' From: Dan Williams Track the state of reconstruct operations (recalculating the parity block usually due to incoming writes, or as part of array expansion) Reduces the scope of the STRIPE_OP_{BIODRAIN,PREXOR,POSTXOR} flags to only tracking whether a reconstruct operation has been requested via the ops_request field of struct stripe_head_state. This is the final step in the removal of ops.{pending,ack,complete,count}, i.e. the STRIPE_OP_{BIODRAIN,PREXOR,POSTXOR} flags only request an operation and do not track the state of the operation. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 976ea8d475675da6e86bd434328814ccbf5ae641 Author: Dan Williams Date: Sat Jun 28 08:32:03 2008 +1000 md: replace STRIPE_OP_COMPUTE_BLK with STRIPE_COMPUTE_RUN From: Dan Williams Track the state of compute operations (recalculating a block from all the other blocks in a stripe) with a state flag. Reduces the scope of the STRIPE_OP_COMPUTE_BLK flag to only tracking whether a compute operation has been requested via the ops_request field of struct stripe_head_state. Note, the compute operation that is performed in the course of doing a 'repair' operation (check the parity block, recalculate it and write it back if the check result is not zero) is tracked separately with the 'check_state' variable. Compute operations are held off while a 'check' is in progress, and moving this check out to handle_issuing_new_read_requests5 the helper routine __handle_issuing_new_read_requests5 can be simplified. This is another step towards the removal of ops.{pending,ack,complete,count}, i.e. STRIPE_OP_COMPUTE_BLK only requests an operation and does not track the state of the operation. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 83de75cc92be599850e5ef3928e07cd840833499 Author: Dan Williams Date: Sat Jun 28 08:31:58 2008 +1000 md: replace STRIPE_OP_BIOFILL with STRIPE_BIOFILL_RUN From: Dan Williams Track the state of read operations (copying data from the stripe cache to bio buffers outside the lock) with a state flag. Reduce the scope of the STRIPE_OP_BIOFILL flag to only tracking whether a biofill operation has been requested via the ops_request field of struct stripe_head_state. This is another step towards the removal of ops.{pending,ack,complete,count}, i.e. STRIPE_OP_BIOFILL only requests an operation and does not track the state of the operation. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit ecc65c9b3f9b9d740a5deade3d85b39be56401b6 Author: Dan Williams Date: Sat Jun 28 08:31:57 2008 +1000 md: replace STRIPE_OP_CHECK with 'check_states' From: Dan Williams The STRIPE_OP_* flags record the state of stripe operations which are performed outside the stripe lock. Their use in indicating which operations need to be run is straightforward; however, interpolating what the next state of the stripe should be based on a given combination of these flags is not straightforward, and has led to bugs. An easier to read implementation with minimal degrees of freedom is needed. Towards this goal, this patch introduces explicit states to replace what was previously interpolated from the STRIPE_OP_* flags. For now this only converts the handle_parity_checks5 path, removing a user of the ops.{pending,ack,complete,count} fields of struct stripe_operations. This conversion also found a remaining issue with the current code. There is a small window for a drive to fail between when we schedule a repair and when the parity calculation for that repair completes. When this happens we will writeback to 'failed_num' when we really want to write back to 'pd_idx'. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit f0e43bcdebf709d747a3effb210aff1941e819ab Author: Dan Williams Date: Sat Jun 28 08:31:55 2008 +1000 md: unify raid5/6 i/o submission From: Dan Williams Let the raid6 path call ops_run_io to get pending i/o submitted. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit c4e5ac0a22e664eecf29249553cf16c2433f5f25 Author: Dan Williams Date: Sat Jun 28 08:31:53 2008 +1000 md: use stripe_head_state in ops_run_io() From: Dan Williams In handle_stripe after taking sh->lock we sample some bits into 's' (struct stripe_head_state): s.syncing = test_bit(STRIPE_SYNCING, &sh->state); s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state); s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); Use these values from 's' in ops_run_io() rather than re-sampling the bits. This ensures a consistent snapshot (as seen under sh->lock) is used. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 2b7497f0e0a0b9cf21d822e427d5399b2056501a Author: Dan Williams Date: Sat Jun 28 08:31:52 2008 +1000 md: kill STRIPE_OP_IO flag From: Dan Williams The R5_Want{Read,Write} flags already gate i/o. So, this flag is superfluous and we can unconditionally call ops_run_io(). Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit b203886edbcaac3ca427cf4dbcb50b18bdb346fd Author: Dan Williams Date: Sat Jun 28 08:31:50 2008 +1000 md: kill STRIPE_OP_MOD_DMA in raid5 offload From: Dan Williams This micro-optimization allowed the raid code to skip a re-read of the parity block after checking parity. It took advantage of the fact that xor-offload-engines have their own internal result buffer and can check parity without writing to memory. Remove it for the following reasons: 1/ It is a layering violation for MD to need to manage the DMA and non-DMA paths within async_xor_zero_sum 2/ Bad precedent to toggle the 'ops' flags outside the lock 3/ Hard to realize a performance gain as reads will not need an updated parity block and writes will dirty it anyways. Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 0cd17fec983b6bca505eecee1af33138687220b6 Author: Chris Webb Date: Sat Jun 28 08:31:46 2008 +1000 Support changing rdev size on running arrays. From: Chris Webb Allow /sys/block/mdX/md/rdY/size to change on running arrays, moving the superblock if necessary for this metadata version. We prevent the available space from shrinking to less than the used size, and allow it to be set to zero to fill all the available space on the underlying device. Signed-off-by: Chris Webb Signed-off-by: Neil Brown commit 526647320e696f434647f38421a6ecf65b859c43 Author: Neil Brown Date: Sat Jun 28 08:31:44 2008 +1000 Make sure all changes to md/dev-XX/state are notified The important state change happens during an interrupt in md_error. So just set a flag there and call sysfs_notify later in process context. Signed-off-by: Neil Brown commit a99ac97113d5bc25ddc4d17f404c2024ac6c57f9 Author: Neil Brown Date: Sat Jun 28 08:31:43 2008 +1000 Make sure all changes to md/degraded are notified. When a device fails, when a spare is activated, when an array is reshaped, or when an array is started, the extent to which the array is degraded can change. Signed-off-by: Neil Brown commit 72a23c211e4587859d5bf61ac4962d76e593fb02 Author: Neil Brown Date: Sat Jun 28 08:31:41 2008 +1000 Make sure all changes to md/sync_action are notified. When the 'resync' thread starts or stops, when we explicitly set sync_action, or when we determine that there is definitely nothing to do, we notify sync_action. To stop "sync_action" from occasionally showing the wrong value, we introduce a new flags - MD_RECOVERY_RECOVER - to say that a recovery is probably needed or happening, and we make sure that we set MD_RECOVERY_RUNNING before clearing MD_RECOVERY_NEEDED. Signed-off-by: Neil Brown commit 0fd62b861eac7d2dea9b7e939953b20f37186ea1 Author: Neil Brown Date: Sat Jun 28 08:31:36 2008 +1000 Make sure all changes to md/array_state are notified. Changes in md/array_state could be of interest to a monitoring program. So make sure all changes trigger a notification. Exceptions: changing active_idle to active is not reported because it is frequent and not interesting. changing active to active_idle is only reported on arrays with externally managed metadata, as it is not interesting otherwise. Signed-off-by: Neil Brown commit c7d0c941ae7f82940a13f785be70dc3097d96687 Author: Neil Brown Date: Sat Jun 28 08:31:34 2008 +1000 Don't reject HOT_REMOVE_DISK request for an array that is not yet started. There is really no need for this test here, and there are valid cases for selectively removing devices from an array that it not actually active. Signed-off-by: Neil Brown commit 199050ea1ff2270174ee525b73bc4c3323098897 Author: Neil Brown Date: Sat Jun 28 08:31:33 2008 +1000 rationalise return value for ->hot_add_disk method. For all array types but linear, ->hot_add_disk returns 1 on success, 0 on failure. For linear, it returns 0 on success and -errno on failure. This doesn't cause a functional problem because the ->hot_add_disk function of linear is used quite differently to the others. However it is confusing. So convert all to return 0 for success or -errno on failure and fix call sites to match. Signed-off-by: Neil Brown commit 6c2fce2ef6b4821c21b5c42c7207cb9cf8c87eda Author: Neil Brown Date: Sat Jun 28 08:31:31 2008 +1000 Support adding a spare to a live md array with external metadata. i.e. extend the 'md/dev-XXX/slot' attribute so that you can tell a device to fill an vacant slot in an and md array. Signed-off-by: Neil Brown commit 8ed0a5216a0238f53b482ec88ce4aeed4b9f0da1 Author: Neil Brown Date: Sat Jun 28 08:31:29 2008 +1000 Enable setting of 'offset' and 'size' of a hot-added spare. offset_store and rdev_size_store allow control of the region of a device which is to be using in an md/raid array. They only allow these values to be set when an array is being assembled, as changing them on an active array could be dangerous. However when adding a spare device to an array, we might need to set the offset and size before starting recovery. So allow these values to be set also if "->raid_disk < 0" which indicates that the device is still a spare. Signed-off-by: Neil Brown commit 1a0fd497733bd029a7d5f2e5c69b1dff715b7792 Author: Neil Brown Date: Sat Jun 28 08:31:27 2008 +1000 Don't try to make md arrays dirty if that is not meaningful. Arrays personalities such as 'raid0' and 'linear' have no redundancy, and so marking them as 'clean' or 'dirty' is not meaningful. So always allow write requests without requiring a superblock update. Such arrays types are detected by ->sync_request being NULL. If it is not possible to send a sync request we don't need a 'dirty' flag because all a dirty flag does is trigger some sync_requests. Signed-off-by: Neil Brown commit f48ed538386cb41559282d989354e8f5d442d71c Author: Neil Brown Date: Sat Jun 28 08:31:26 2008 +1000 Close race in md_probe There is a possible race in md_probe. If two threads call md_probe for the same device, then one could exit (having checked that ->gendisk exists) before the other has called kobject_init_and_add, thus returning an incomplete kobj which will cause problems when we try to add children to it. So extend the range of protection of disks_mutex slightly to avoid this possibility. Signed-off-by: Neil Brown commit 5e96ee65c8bd629ce093da67a066d3946468298a Author: Neil Brown Date: Sat Jun 28 08:31:24 2008 +1000 Allow setting start point for requested check/repair This makes it possible to just resync a small part of an array. e.g. if a drive reports that it has questionable sectors, a 'repair' of just the region covering those sectors will cause them to be read and, if there is an error, re-written with correct data. Signed-off-by: Neil Brown commit a0da84f35b25875870270d16b6eccda4884d61a7 Author: Neil Brown Date: Sat Jun 28 08:31:22 2008 +1000 Improve setting of "events_cleared" for write-intent bitmaps. When an array is degraded, bits in the write-intent bitmap are not cleared, so that if the missing device is re-added, it can be synced by only updated those parts of the device that have changed since it was removed. The enable this a 'events_cleared' value is stored. It is the event counter for the array the last time that any bits were cleared. Sometimes - if a device disappears from an array while it is 'clean' - the events_cleared value gets updated incorrectly (there are subtle ordering issues between updateing events in the main metadata and the bitmap metadata) resulting in the missing device appearing to require a full resync when it is re-added. With this patch, we update events_cleared precisely when we are about to clear a bit in the bitmap. We record events_cleared when we clear the bit internally, and copy that to the superblock which is written out before the bit on storage. This makes it more "obviously correct". We also need to update events_cleared when the event_count is going backwards (as happens on a dirty->clean transition of a non-degraded array). Thanks to Mike Snitzer for identifying this problem and testing early "fixes". Cc: "Mike Snitzer" Signed-off-by: Neil Brown commit 0e13fe23a00ad88c737d91d94a050707c6139ce4 Author: Neil Brown Date: Sat Jun 28 08:31:20 2008 +1000 use bio_endio instead of a call to bi_end_io Turn calls to bi->bi_end_io() into bio_endio(). Apparently bio_endio does exactly the same error processing as is hardcoded at these places. bio_endio() avoids recursion (or will soon), so it should be used. Signed-off-by: Mikulas Patocka Signed-off-by: Neil Brown commit 13864515f7bf6cabd60e63c62e09d311386ae1f1 Author: Nikanth Karthikesan Date: Sat Jun 28 08:31:19 2008 +1000 linear: correct disk numbering error check From: "Nikanth Karthikesan" Correct disk numbering problem check. Signed-off-by: Nikanth Karthikesan Signed-off-by: Neil Brown commit dee805532a30183c4462305b4614e58bd83a7bc1 Author: Kumar Gala Date: Fri Jun 27 13:45:19 2008 -0500 powerpc: Add dma nodes to 83xx, 85xx and 86xx boards Added DMA nodes for the elo/elo-plus DMA engines. Renamed the interrupt controller alias in mpc832x_rdb.dts to ipic so that its the same as all the other boards. Signed-off-by: Kumar Gala commit aa60d13fb04f6d5ce72e4da508a4048b934ebd24 Author: H. Peter Anvin Date: Fri Jun 27 13:23:00 2008 -0700 x86: setup: issue a null command after enabling A20 via KBC Apparently, DOS and possibly other legacy operating systems issued a null command to the keyboard controller after toggling A20, specifically "pulse output pins" with no output pins specified. This was presumably done for synchronization reasons. This has made it into at least the UHCI spec, and it has been found to cause compatibility problems when "legacy USB" is enabled (which it almost always is) to not have this byte sent. It is *NOT* clear if any of these compatibility problems has any effect on Linux. However, for maximum compatibility, issue this null command after togging A20 through the KBC. Signed-off-by: H. Peter Anvin commit 0aea531326d1a17ccef7d9a538429c5b32cf4f12 Author: Adrian Bunk Date: Wed Jun 18 01:33:32 2008 +0300 PCI: remove unused arch pcibios_update_resource() functions Russell King did the following back in 2003: <-- snip --> [PCI] pci-9: Kill per-architecture pcibios_update_resource() Kill pcibios_update_resource(), replacing it with pci_update_resource(). pci_update_resource() uses pcibios_resource_to_bus() to convert a resource to a device BAR - the transformation should be exactly the same as the transformation used for the PCI bridges. pci_update_resource "knows" about 64-bit BARs, but doesn't attempt to set the high 32-bits to anything non-zero - currently no architecture attempts to do something different. If anyone cares, please fix; I'm going to reflect current behaviour for the time being. Ivan pointed out the following architectures need to examine their pcibios_update_resource() implementation - they should make sure that this new implementation does the right thing. #warning's have been added where appropriate. ia64 mips mips64 This cset also includes a fix for the problem reported by AKPM where 64-bit arch compilers complain about the resource mask being placed in a u32. <-- snip --> This patch removes the unused pcibios_update_resource() functions the kernel gained since, from FRV, m68k, mips & sh architectures. Signed-off-by: Adrian Bunk Acked-by: David Howells Acked-by: Greg Ungerer Acked-by: Paul Mundt Acked-by: Ralf Baechle Signed-off-by: Jesse Barnes commit 8b285ce84bbc719e363a796f466404576b840d36 Author: David Howells Date: Fri Jun 27 13:23:20 2008 +0100 PCI: fix pci_setup_device()'s sprinting into a const buffer Make pci_setup_device() write the bus ID directly into the allotted storage, rather than using pci_name() as the address as that now returns a const pointer. Signed-off-by: David Howells Signed-off-by: Jesse Barnes commit 9433f6dd3a4677e9b92c6e1cd7f98b11598b7c2c Author: Wang Chen Date: Thu Jun 26 10:50:04 2008 +0800 PCI: Fix comment of pci_dynids struct pci_driver has no field of driver_data. It's in pci_device_id. Signed-off-by: Wang Chen Signed-off-by: Jesse Barnes commit b97089400d44b9e90ce5029a2e458cd087473c74 Author: Kenji Kaneshige Date: Thu Jun 26 20:06:24 2008 +0900 pciehp: use get_service_data Current pciehp driver saves its private data pointer into pci_dev structure using pci_set_drvdata()/pci_get_drvdata(). But because pciehp is not a pci device driver but a PCI Express service driver, it should save its private data pointer into pcie_device structure using set_service_data()/get_service_data(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 3aa50c44628629a6d58f93e0a1244e95a874884e Author: Kenji Kaneshige Date: Thu Jun 26 20:07:33 2008 +0900 pciehp: remove needless command completed interrupt setting Currently, pciehp driver enables command completed interrupt as follows. (1) Don't enable at initialization. (2) Enable command completed interrupt whenever pciehp issues a command, if the command doesn't attempt to disable the interrupt. (3) Disable command completed interrupt at driver unloading. Once we enable command completed interrupt, we don't need to re-enable it for every command. So we can simplify above steps as follows: (1) Enable command completed interrupt at initialization. (2) No special sequence for command completed interrupt. (3) Disable command completed interrupt at driver unloading. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit c4635eb06af700820d658a163f06aff12e17cfb2 Author: Kenji Kaneshige Date: Fri Jun 20 12:07:08 2008 +0900 pciehp: fix interrupt initialization Current pciehp driver's intialization sequence is as follows: (1) initialize controller data structure (2) install interrupt handler (3) enable software notification (4) initialize controller specific slot data structure (5) initialize generic slot data structure and register it to pci hotplug core The interrupt handler of pciehp assumes that controller specific slot data structure is already initialized. However, it is installed at (2) before initializing controller specific slot data structure at (4). Because of this, pciehp driver cannot handle the following cases properly. - If devices that shares IRQ with pciehp raise interrupts between (2) and (4). - If hotplug events (e.g. MRL open) happen between (3) and (4). We already have a workaround for this problem ("pciehp: fix NULL dereference in interrupt handler: dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08). But we still need fundamental fix. This patch fix the problem by changing the initilization sequence as follows: (1) initialize controller data structure (2) initialize controller specific slot data structure (3) install interrupt handler (4) enable software notification (5) initialize generic slot data structure and register it to pci hotplug core Signed-off-by: Kenji Kaneshige Acked-by: Alex Chiang Signed-off-by: Jesse Barnes commit 4e6a0535dd036377961027262aecb138099f925d Author: Vegard Nossum Date: Fri Jun 27 18:06:54 2008 +0200 backtrace: replace timer with tasklet + completions On qemu, the backtrace would show up _after_ the "end of backtrace testing" message. This patch changes it to use completions instead, which will guarantee that no such race exists. Cc: Arjan van de Ven Signed-off-by: Vegard Nossum Cc: Arjan van de Ven Cc: Andrew Morton Signed-off-by: Ingo Molnar commit ad118c54a3587b2c69a769d0ba37d4d8dce4559d Author: Vegard Nossum Date: Fri Jun 27 18:04:48 2008 +0200 stacktrace: add saved stack traces to backtrace self-test This patch adds saved stack-traces to the backtrace suite of self-tests. Note that we don't depend on or unconditionally enable CONFIG_STACKTRACE because not all architectures may have it (and we still want to enable the other tests for those architectures). Cc: Arjan van de Ven Signed-off-by: Vegard Nossum Cc: Arjan van de Ven Cc: Andrew Morton Signed-off-by: Ingo Molnar commit d704fb0cc0cce474ac959adca6c3d1f606fcfa2a Author: Haavard Skinnemoen Date: Mon Jan 14 21:42:56 2008 +0100 avr32: Kill special exception handler sections Kill the special exception handler sections .tlbx.ex.text, .tlbr.ex.text, tlbw.ex.text and .scall.text. Use .org instead to place the handlers at the required offsets from EVBA. Signed-off-by: Haavard Skinnemoen commit 5b72b52cab872396c93d808d7fa14017e9061430 Author: Haavard Skinnemoen Date: Mon Jan 14 23:27:30 2008 +0100 avr32: Kill unneeded #include from asm/mmu_context.h Signed-off-by: Haavard Skinnemoen commit 9dbef285a359c9bf6f04f907bdfb9f35f37a8513 Author: Haavard Skinnemoen Date: Wed May 28 13:07:40 2008 +0200 avr32: Clean up time.c #includes Remove lots of unneeded #includes, add #include and sort alphabetically. Signed-off-by: Haavard Skinnemoen commit 9d8ad5d6c7fce31fd2c0fd4fe9977bda3e92e340 Author: Vegard Nossum Date: Fri Jun 27 17:22:17 2008 +0200 x86: don't destroy %rbp on kernel-mode faults From the code: "B stepping K8s sometimes report an truncated RIP for IRET exceptions returning to compat mode. Check for these here too." The code then proceeds to truncate the upper 32 bits of %rbp. This means that when do_page_fault() is finally called, its prologue, do_page_fault: push %rbp movl %rsp, %rbp will put the truncated base pointer on the stack. This means that the stack tracer will not be able to follow the base-pointer changes and will see all subsequent stack frames as unreliable. This patch changes the code to use a different register (%rcx) for the checking and leaves %rbp untouched. Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg Acked-by: Arjan van de Ven Cc: Andi Kleen Cc: Pekka Enberg Signed-off-by: Ingo Molnar commit ff28bd94e307c67abb1bccda5d3a9018bd798e08 Author: John W. Linville Date: Fri Jun 27 10:27:47 2008 -0400 wireless: remove RFKILL_STATE_HARD_BLOCKED warnings CC [M] drivers/net/wireless/b43/rfkill.o drivers/net/wireless/b43/rfkill.c: In function ‘b43_rfkill_soft_toggle’: drivers/net/wireless/b43/rfkill.c:90: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch CC [M] drivers/net/wireless/b43legacy/rfkill.o drivers/net/wireless/b43legacy/rfkill.c: In function ‘b43legacy_rfkill_soft_toggle’: drivers/net/wireless/b43legacy/rfkill.c:92: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch CC [M] drivers/net/wireless/iwlwifi/iwl-rfkill.o drivers/net/wireless/iwlwifi/iwl-rfkill.c: In function ‘iwl_rfkill_soft_rf_kill’: drivers/net/wireless/iwlwifi/iwl-rfkill.c:56: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch Also handle RFKILL_STATE_{ON,OFF} -> RFKILL_STATE_{UNBLOCKED,SOFT_BLOCKED} conversion since I'm already here... Signed-off-by: John W. Linville commit 8405996ff6d89bbf275a206eb69d10b98a8d5257 Author: Sedji Gaouaou Date: Wed Jun 25 10:32:50 2008 +0200 atmel_pwm: Rename the "mck" clock to "pwm_clk" The name "mck" causes a conflict on AT91. Call it "pwm_clk" instead. Signed-off-by: Sedji Gaouaou Signed-off-by: Haavard Skinnemoen commit 9c2baf785e90419d6f9af6bd07aa0694020cba8d Author: David Brownell Date: Wed Jun 18 02:31:43 2008 -0700 at32ap700x spi: enable pullups on MISO This is a minor tweak to the at32ap700x pin configuration for the SPI input pin (MISO), enabling the on-chip weak pullup (typical 190K) to (a) ensure a fixed data value for missing or input-only slaves; (b) prevent power waste associated with inputs floating near VDDIO/2. Atmel's boards have no external pullup or pulldown on these pins, so it's unlikely other boards would address these issues with external pulldowns. Were there trouble, board-specific code could turn off the relevant pullup(s). Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7ef31e9c4e711bfb817a15b54e428e5c4a7c0032 Author: David Brownell Date: Thu Jun 12 12:18:05 2008 -0700 avr32: improve NGW100 I2C/PMBus setup Basic I2C initialization for the NGW100 board: - Provide empty i2c device table. Daughtercards may add devices, and the ATtiny24 could do stuff too. - Set up EXTINT(3) so the ATtiny24 can interrupt the AP7000. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit d86d314f67191011e6f494f6517b8cbd7dd3dc39 Author: Hans-Christian Egtvedt Date: Mon Feb 25 11:24:30 2008 +0100 avr32: Add PSIF platform devices This patch adds the PS/2 interface (PSIF) to the device code, split into two platform devices, one for each port. The function for adding the PSIF platform device is also added to the board header file. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 47882cf620bcd7b014f6f7fc11be8c045787adac Author: Hans-Christian Egtvedt Date: Tue Feb 5 15:27:16 2008 +0100 avr32: Add pin configuration choice to LCDC peripheral This patch lets the board code choose which pin out to use for the LCD interface. On AT32AP7000 the LCDC is wired to two sets of pins, which lets the user choose between dual ethernet and 32-bit EBI. For the ATNGW100 board it is vital to have the choice to select the alternative pinout since this pinout is routed to the external headers. Update ATSTK1002 and ATSTK1004 to use the new interface. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit aafafddb01e259cff61b3d3f5b3466f0a6a65b84 Author: David Brownell Date: Tue Jun 10 13:55:52 2008 +0200 avr32: minor GPIO handling updates On the odd chance some code uses a pin as a GPIO IRQ without calling gpio_request() or gpio_direction_input(), the debug dump should still show its pin status. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit d195a2ca46ec50e3b5c045a36d1defb6e04cc6b7 Author: John W. Linville Date: Fri Jun 27 09:31:29 2008 -0400 ath5k: remove now unused variable declared in ath5k_tx CC [M] drivers/net/wireless/ath5k/base.o drivers/net/wireless/ath5k/base.c: In function ‘ath5k_tx’: drivers/net/wireless/ath5k/base.c:2598: warning: unused variable ‘info’ Signed-off-by: John W. Linville commit 03f93c3d4c8aa9ed2e2b0a949ece658053527d71 Author: Johannes Berg Date: Wed Jun 25 14:36:27 2008 +0300 mac80211: fix tx fragmentation This patch fixes TX fragmentation caused by tx handlers reordering and 'tx info to cb' patches Signed-off-by: Johannes Berg Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 59959a6150c8af737898e83f727e824dbed7b0fa Author: Johannes Berg Date: Thu Jun 26 19:59:56 2008 +0200 mac80211: make workqueue freezable This patch makes the mac80211 workqueue freezable making it interact a bit better with system suspend and not try to ping the AP while the hardware is down. This doesn't really help with implementing proper suspend in any way but makes some bad things trigger less. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e292c737fc57d3ca718056f3308c725c8e541729 Author: Pavel Machek Date: Wed Jun 25 12:25:53 2008 +0200 wireless: Small cleanups Small whitespace cleanups for wireless drivers Signed-off-by: Pavel Machek Signed-off-by: John W. Linville commit b973e42eb25036a2672db7f7749f6989ab10479c Author: Randy Dunlap Date: Tue Jun 24 21:02:46 2008 -0700 iwlwifi: fix build for CONFIG_INPUT=n Fix iwlwifi so that it builds cleanly with CONFIG_INPUT=n. Also free the input device on exit. drivers/built-in.o: In function `iwl_rfkill_unregister': (.text+0xbf430): undefined reference to `input_unregister_device' drivers/built-in.o: In function `iwl_rfkill_init': (.text+0xbf51c): undefined reference to `input_allocate_device' drivers/built-in.o: In function `iwl_rfkill_init': (.text+0xbf5bf): undefined reference to `input_register_device' drivers/built-in.o: In function `iwl_rfkill_init': (.text+0xbf5e9): undefined reference to `input_free_device' net/built-in.o: In function `rfkill_disconnect': rfkill-input.c:(.text+0xe71e1): undefined reference to `input_close_device' rfkill-input.c:(.text+0xe71e9): undefined reference to `input_unregister_handle' net/built-in.o: In function `rfkill_connect': rfkill-input.c:(.text+0xe723e): undefined reference to `input_register_handle' rfkill-input.c:(.text+0xe724d): undefined reference to `input_open_device' rfkill-input.c:(.text+0xe725c): undefined reference to `input_unregister_handle' net/built-in.o: In function `rfkill_handler_init': rfkill-input.c:(.init.text+0x36ec): undefined reference to `input_register_handler' net/built-in.o: In function `rfkill_handler_exit': rfkill-input.c:(.exit.text+0x112c): undefined reference to `input_unregister_handler' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 428da76523e4a9c08bdfadc25a05b520f19b9133 Author: Ivo van Doorn Date: Tue Jun 24 19:23:36 2008 +0200 mac80211: Add RTNL warning for workqueue The workqueue provided by mac80211 should not be used for scheduled tasks that acquire the RTNL lock. This could be done when the driver uses the function ieee80211_iterate_active_interfaces() within the scheduled work. Such behavior will end in locking dependencies problems when an interface is being removed. This patch will add a notification about the RTNL locking and the mac80211 workqueue to prevent driver developers from blindly using it. Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f37d08bddc5cb8de18e55f2b0a401b3eb6269af4 Author: Tomas Winkler Date: Tue Jun 24 15:50:17 2008 +0300 mac80211: add phy information to giwname This patch add phy information to giwname. Quoting: It's not useless, it's supposed to tell you about the protocol capability of the device, like "IEEE 802.11b" or "IEEE 802.11abg" Jean Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b9fcc4f2987a757acb3af43aa31dc860bb957970 Author: Emmanuel Grumbach Date: Tue Jun 24 13:37:59 2008 +0300 mac80211: update the authentication method This patch updates the authentication method upon giwencode ioctl. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Acked-by: Dan Williams Signed-off-by: John W. Linville commit fa6adfe9e625a6a843a1abed5f4e7a000c11952c Author: Emmanuel Grumbach Date: Tue Jun 24 13:37:58 2008 +0300 mac80211: don't return -EINVAL upon iwconfig wlan0 rts auto This patch avoids returning -EINVAL upon iwconfig wlan0 rts auto. If rts->fixed is 0, then we should choose a default value instead of failing. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 14a7dd6f6c1e0b361a37b6df52d4dc2ea36757d2 Author: Michael Buesch Date: Tue Jun 24 12:22:05 2008 +0200 b43: Fix PIO skb clobber This fixes a clobber of the skb that was introduced by the tx_control->cb conversion patches. This bug causes a crash when the skb destructor is invoked. That happens on skb_orphan or skb_kfree. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 40af48ce501ea9ad9c485504a6fa0740801fa051 Author: Ivo van Doorn Date: Mon Jun 23 19:56:50 2008 +0200 rt2x00: kill URB for all TX queues during disable_radio() During rt2x00usb_disable_radio() all pending urb's should be killed and not only those from the RX queue. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4e3996fe899651e00d3085110cc6e92f6a78ee3e Author: Harvey Harrison Date: Sun Jun 22 16:45:32 2008 -0700 mac80211: mlme.c use new frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 182503abf450d39417c2cc6a2c49b4731117d21b Author: Harvey Harrison Date: Sun Jun 22 16:45:29 2008 -0700 mac80211: rx.c use new frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 065e9605f941b8bc4dbfa1f14ba98eb0da7e3fbe Author: Harvey Harrison Date: Sun Jun 22 16:45:27 2008 -0700 mac80211: tx.c use new frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 70217d7f83a12e0a16c726951ddf8f7f0ba7d1a4 Author: Harvey Harrison Date: Sun Jun 22 16:45:23 2008 -0700 mac80211: wep.c use new frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 3a078876caee9634dbb9b41e6269262e30e8b535 Author: Bob Copeland Date: Wed Jun 25 22:35:28 2008 -0400 ath5k: convert LED code to use mac80211 triggers This change cleans up the ath5k LED code and converts it to use the standard LED device class along with the rx/tx LED triggers provided by mac80211. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit ffd7891dc909b3648e87f7cf8f84a6dc12fc1cc6 Author: Luis R. Rodriguez Date: Sat Jun 21 10:02:46 2008 -0400 mac80211: Let drivers have access to TKIP key offets for TX and RX MIC Some drivers may want to to use the TKIP key offsets for TX and RX MIC so lets move this out. Lets also clear up a bit how this is used internally in mac80211. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 61243d8e79de67d703b192fae2c4ab80fc0fac34 Author: Ivo van Doorn Date: Fri Jun 20 22:10:53 2008 +0200 rt2x00: Remove duplicate deinitialization When rt2x00queue_alloc_rxskbs() fails rt2x00queue_unitialize() will be called which will free all rxskb. So we don't need to do this in the rt2x00queue_alloc_rxskb() function as well. rt2x00queue_free_skb() unmaps the DMA but doesn't clear the allocation flag. Since the code is copied from rt2x00queue_unmap_skb() anyway (and that function does clear the flag) we might as well use that function directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 923fd7036ff04381b265037469c79a2e7d0d6b67 Author: Michael Buesch Date: Fri Jun 20 18:02:08 2008 +0200 b43: Add debugfs firmware debugging knob This adds a firmware debugging knob to debugfs. With this knob it's possible to enable advanced runtime firmware checks. For now it only implements one sanity check for the mac-suspend. In future there'll probably be more. If CONFIG_B43_DEBUG is disabled, these checks will collapse to nothing. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9b839a7453dc7a25dbd367486017648182df541f Author: Michael Buesch Date: Fri Jun 20 17:44:02 2008 +0200 b43: Add simple firmware watchdog This adds a simple firmware watchdog for the opensource firmware. This will check every 15 seconds, if the firmware zeroed out the watchdog register. The firmware will do this in its eventloop. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9ae705cfd390f9077eec856ea4dff374d166de33 Author: Johannes Berg Date: Fri Jun 20 11:54:24 2008 +0200 mac80211: rename TKIP debugging Kconfig symbol ... to MAC80211_TKIP_DEBUG rather than TKIP_DEBUG. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f225763a7d6c92c4932dbd528437997078496fcc Author: Michael Buesch Date: Fri Jun 20 11:50:29 2008 +0200 ssb, b43, b43legacy, b44: Rewrite SSB DMA API This is a rewrite of the DMA API for SSB devices. This is needed, because the old (non-existing) "API" made too many bad assumptions on the API of the host-bus (PCI). This introduces an almost complete SSB-DMA-API that maps to the lowlevel bus-API based on the bustype. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c1f24ac99f3711a6caa0e1d1c01a071ed72a7e0b Author: Haavard Skinnemoen Date: Mon Jun 9 14:16:06 2008 +0200 avr32: Fix wrong I/O access size in __raw_readsb __raw_readsb() should always use byte accesses, never halfword accesses, to I/O memory. Signed-off-by: Haavard Skinnemoen commit 7c1b90a1e964f72bde88511e5cfe1c04318ff3d1 Author: Martin Koegler Date: Wed May 28 20:50:07 2008 +0200 avr32: Fix sigaltstack behaviour A signal handler should be able to change the signal stack used for the next signal by altering the ucontext_t passed as a parameter to the handler. This does not currently work on avr32 since it doesn't update the in-kernel signal context from the ucontext_t upon signal handler return. Fix it by adding a call to do_sigaltstack() from sys_rt_sigreturn(), bringing it in line with most other architectures. Signed-off-by: Martin Koegler [haavard.skinnemoen@atmel.com: changed patch description] Signed-off-by: Haavard Skinnemoen commit 60ed7951d0c9bf8de8588384134f16474367b410 Author: Alex Date: Mon Mar 17 14:55:06 2008 +0100 avr32: Allow board to define oscillator rates On our custom board we have other oscillator rates than on atngw100 and atstk100x. Currently these rates are hardcoded in arch/avr32/mach-at32ap/at32ap700x.c. This patch moves them into board specific code. Signed-off-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit 8bd8974fcddc468d66bd67f33c578f37987b302e Author: Haavard Skinnemoen Date: Sun Jun 8 23:28:45 2008 +0200 avr32: export empty_zero_page Fixes one of two ext4 build problems: ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined! Signed-off-by: Haavard Skinnemoen commit b788ed5c97c2bae978cb84a95ea37a1aa6458ea8 Author: Haavard Skinnemoen Date: Sun Jun 8 23:16:24 2008 +0200 avr32: Provide PCI DMA mapping API Some non-PCI drivers need the PCI variant of the DMA mapping API. Include to provide this through the non-PCI DMA mapping API. Signed-off-by: Haavard Skinnemoen commit 4c9fe8ad813b257a2b9ddf0f752105a75a7dae63 Author: Ingo Molnar Date: Fri Jun 27 14:49:35 2008 +0200 sched: export cpu_clock the rcutorture module relies on cpu_clock. Signed-off-by: Ingo Molnar commit 55e12e5e7b1d7e7c05a4be10cb5fd092c039aa78 Author: Dhaval Giani Date: Tue Jun 24 23:39:43 2008 +0530 sched: make sched_{rt,fair}.c ifdefs more readable Signed-off-by: Dhaval Giani Cc: Srivatsa Vaddagiri Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit f5bfb7d9ff73d72ee4f2f4830a6f0c9088d00f92 Author: Peter Zijlstra Date: Fri Jun 27 13:41:39 2008 +0200 sched: bias effective_load() error towards failing wake_affine(). Measurement shows that the difference between cgroup:/ and cgroup:/foo wake_affine() results is that the latter succeeds significantly more. Therefore bias the calculations towards failing the test. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit f1d239f73200a5803a89e5929fb3abc1596b7589 Author: Peter Zijlstra Date: Fri Jun 27 13:41:38 2008 +0200 sched: incremental effective_load() Increase the accuracy of the effective_load values. Not only consider the current increment (as per the attempted wakeup), but also consider the delta between when we last adjusted the shares and the current situation. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 83378269a5fad98f562ebc0f09c349575e6cbfe1 Author: Peter Zijlstra Date: Fri Jun 27 13:41:37 2008 +0200 sched: correct wakeup weight calculations rw_i = {2, 4, 1, 0} s_i = {2/7, 4/7, 1/7, 0} wakeup on cpu0, weight=1 rw'_i = {3, 4, 1, 0} s'_i = {3/8, 4/8, 1/8, 0} s_0 = S * rw_0 / \Sum rw_j -> \Sum rw_j = S*rw_0/s_0 = 1*2*7/2 = 7 (correct) s'_0 = S * (rw_0 + 1) / (\Sum rw_j + 1) = 1 * (2+1) / (7+1) = 3/8 (correct so we find that adding 1 to cpu0 gains 5/56 in weight if say the other cpu were, cpu1, we'd also have to calculate its 4/56 loss Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 243e0e7b7d3b54749ece2e879ecd7e2a11874443 Author: Srivatsa Vaddagiri Date: Fri Jun 27 13:41:36 2008 +0200 sched: fix mult overflow It was observed these mults can overflow. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 2398f2c6d34b43025f274fc42eaca34d23ec2320 Author: Peter Zijlstra Date: Fri Jun 27 13:41:35 2008 +0200 sched: update shares on wakeup We found that the affine wakeup code needs rather accurate load figures to be effective. The trouble is that updating the load figures is fairly expensive with group scheduling. Therefore ratelimit the updating. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit cd80917e4ff465ea77106f8e4fb631eedc4cf426 Author: Peter Zijlstra Date: Fri Jun 27 13:41:34 2008 +0200 sched: fix shares boost logic In case the domain is empty, pretend there is a single task on each cpu, so that together with the boost logic we end up giving 1/n shares to each cpu. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 93b75217df39e6d75889cc6f8050343286aff4a5 Author: Peter Zijlstra Date: Fri Jun 27 13:41:33 2008 +0200 sched: disable source/target_load bias The bias given by source/target_load functions can be very large, disable it by default to get faster convergence. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit cb5ef42a03a13f95a9ea94e6cda4f7a47497871f Author: Peter Zijlstra Date: Fri Jun 27 13:41:32 2008 +0200 sched: optimize effective_load() s_i = S * rw_i / \Sum_j rw_j -> \Sum_j rw_j = S * rw_i / s_i -> s'_i = S * (rw_i + w) / (\Sum_j rw_j + w) delta s = s' - s = S * (rw + w) / ((S * rw / s) + w) = s * (S * (rw + w) / (S * rw + s * w) - 1) a = S*(rw+w), b = S*rw + s*w delta s = s * (a-b) / b IOW, trade one divide for two multiplies Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 051c67640e771fd6ad1b676fc0c16c379b3c6f80 Author: Peter Zijlstra Date: Fri Jun 27 13:41:31 2008 +0200 sched: remove prio preference from balance decisions Priority looses much of its meaning in a hierarchical context. So don't use it in balance decisions. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 4be9daaa1b33701f011f4117f22dc1e45a3e6e34 Author: Peter Zijlstra Date: Fri Jun 27 13:41:30 2008 +0200 sched: fix task_h_load() Currently task_h_load() computes the load of a task and uses that to either subtract it from the total, or add to it. However, removing or adding a task need not have any effect on the total load at all. Imagine adding a task to a group that is local to one cpu - in that case the total load of that cpu is unaffected. So properly compute addition/removal: s_i = S * rw_i / \Sum_j rw_j s'_i = S * (rw_i + wl) / (\Sum_j rw_j + wg) then s'_i - s_i gives the change in load. Where s_i is the shares for cpu i, S the group weight, rw_i the runqueue weight for that cpu, wl the weight we add (subtract) and wg the weight contribution to the runqueue. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 42a3ac7d5cee89849448b41b86faeb86f98e92f6 Author: Peter Zijlstra Date: Fri Jun 27 13:41:29 2008 +0200 sched: fix load scaling in group balancing doing the load balance will change cfs_rq->load.weight (that's the whole point) but since that's part of the scale factor, we'll scale back with a different amount. Weight getting smaller would result in an inflated moved_load which causes it to stop balancing too soon. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 408ed066b11cf9ee4536573b4269ee3613bd735e Author: Peter Zijlstra Date: Fri Jun 27 13:41:28 2008 +0200 sched: hierarchical load vs find_busiest_group find_busiest_group() has some assumptions about task weight being in the NICE_0_LOAD range. Hierarchical task groups break this assumption - fix this by replacing it with the average task weight, which will adapt the situation. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit bb3469ac9b50f14ad6eba129ca0ad4fd033097a0 Author: Peter Zijlstra Date: Fri Jun 27 13:41:27 2008 +0200 sched: hierarchical load vs affine wakeups With hierarchical grouping we can't just compare task weight to rq weight - we need to scale the weight appropriately. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit a8a51d5e59561aa5b4d66e19eca819b537783e8f Author: Peter Zijlstra Date: Fri Jun 27 13:41:26 2008 +0200 sched: persistent average load per task Remove the fall-back to SCHED_LOAD_SCALE by remembering the previous value of cpu_avg_load_per_task() - this is useful because of the hierarchical group model in which task weight can be much smaller. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 039a1c41b3a489e34593ea1e1687f6fdad6b13ab Author: Peter Zijlstra Date: Fri Jun 27 13:41:25 2008 +0200 sched: fix sched_balance_self() smp group balancing Finding the least idle cpu is more accurate when done with updated shares. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 3e5459b4bea3ca2618cc02d56d12639f2cba531d Author: Peter Zijlstra Date: Fri Jun 27 13:41:24 2008 +0200 sched: fix newidle smp group balancing Re-compute the shares on newidle - so we can make a decision based on recent data. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit c8cba857b4997d5b00451d01474638f6a153f713 Author: Peter Zijlstra Date: Fri Jun 27 13:41:23 2008 +0200 sched: simplify the group load balancer While thinking about the previous patch - I realized that using per domain aggregate load values in load_balance_fair() is wrong. We should use the load value for that CPU. By not needing per domain hierarchical load values we don't need to store per domain aggregate shares, which greatly simplifies all the math. It basically falls apart in two separate computations: - per domain update of the shares - per CPU update of the hierarchical load Also get rid of the move_group_shares() stuff - just re-compute the shares again after a successful load balance. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit a25b5aca8740ea99d5e18dfc71235a52b685dcf7 Author: Peter Zijlstra Date: Fri Jun 27 13:41:22 2008 +0200 sched: no need to aggregate task_weight We only need to know the task_weight of the busiest rq - nothing to do if there are no tasks there. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit d3f40dbab954d83383b6a516582d5c09cc216dcc Author: Peter Zijlstra Date: Fri Jun 27 13:41:21 2008 +0200 sched: dont micro manage share losses We used to try and contain the loss of 'shares' by playing arithmetic games. Replace that by noticing that at the top sched_domain we'll always have the full weight in shares to distribute. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 53fecd8ae1900fb571086f54f664051004665b55 Author: Srivatsa Vaddagiri Date: Fri Jun 27 13:41:20 2008 +0200 sched: kill task_group balancing The idea was to balance groups until we've reached the global goal, however Vatsa rightly pointed out that we might never reach that goal this way - hence take out this logic. [ the initial rationale for this 'feature' was to promote max concurrency within a group - it does not however affect fairness ] Reported-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 4d8d595dfa69e1c807bf928f364668a7f30da5dc Author: Peter Zijlstra Date: Fri Jun 27 13:41:19 2008 +0200 sched: update aggregate when holding the RQs It was observed that in __update_group_shares_cpu() rq_weight > aggregate()->rq_weight This is caused by forks/wakeups in between the initial aggregate pass and locking of the RQs for load balance. To avoid this situation partially re-do the aggregation once we have the RQs locked (which avoids new tasks from appearing). Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit b6a86c746f5b708012809958462234d19e9c8177 Author: Peter Zijlstra Date: Fri Jun 27 13:41:18 2008 +0200 sched: fix sched_domain aggregation Keeping the aggregate on the first cpu of the sched domain has two problems: - it could collide between different sched domains on different cpus - it could slow things down because of the remote accesses Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 32df2ee86a580f70f2dbb90cf81f413aa655f838 Author: Peter Zijlstra Date: Fri Jun 27 13:41:17 2008 +0200 sched: add full schedstats to /proc/sched_debug show all the schedstats in /debug/sched_debug as well. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 103638d95ba5b0c53c8d9c0cb581156ccc8513ee Author: Peter Zijlstra Date: Fri Jun 27 13:41:16 2008 +0200 sched: fix wakeup granularity and buddy granularity Uncouple buddy selection from wakeup granularity. The initial idea was that buddies could run ahead as far as a normal task can - do this by measuring a pair 'slice' just as we do for a normal task. This means we can drop the wakeup_granularity back to 5ms. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 76a2a6ee8a0660a29127f05989ac59ae1ce865fa Author: Peter Zijlstra Date: Fri Jun 27 13:41:15 2008 +0200 sched: sched_clock_cpu() based cpu_clock() with sched_clock_cpu() being reasonably in sync between cpus (max 1 jiffy difference) use this to provide cpu_clock(). Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit c09595f63bb1909c5dc4dca288f4fe818561b5f3 Author: Peter Zijlstra Date: Fri Jun 27 13:41:14 2008 +0200 sched: revert revert of: fair-group: SMP-nice for group scheduling Try again.. Initial commit: 18d95a2832c1392a2d63227a7a6d433cb9f2037e Revert: 6363ca57c76b7b83639ca8c83fc285fa26a7880e Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit ced8aa16e1db55c33c507174c1b1f9e107445865 Author: Peter Zijlstra Date: Fri Jun 27 13:41:13 2008 +0200 sched: fix calc_delta_asym, #2 Ok, so why are we in this mess, it was: 1/w but now we mixed that rw in the mix like: rw/w rw being \Sum w suggests: fiddling w, we should also fiddle rw, humm? Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit c9c294a630e28eec5f2865f028ecfc58d45c0a5a Author: Peter Zijlstra Date: Fri Jun 27 13:41:12 2008 +0200 sched: fix calc_delta_asym() calc_delta_asym() is supposed to do the same as calc_delta_fair() except linearly shrink the result for negative nice processes - this causes them to have a smaller preemption threshold so that they are more easily preempted. The problem is that for task groups se->load.weight is the per cpu share of the actual task group weight; take that into account. Also provide a debug switch to disable the asymmetry (which I still don't like - but it does greatly benefit some workloads) This would explain the interactivity issues reported against group scheduling. Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit a7be37ac8e1565e00880531f4e2aff421a21c803 Author: Peter Zijlstra Date: Fri Jun 27 13:41:11 2008 +0200 sched: revert the revert of: weight calculations Try again.. initial commit: 8f1bc385cfbab474db6c27b5af1e439614f3025c revert: f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3 Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit bf647b62fdb948e757a7b4d18d4f16e3c763b1d1 Author: Peter Zijlstra Date: Fri Jun 27 13:41:10 2008 +0200 sched: clean up some unused variables In file included from /mnt/build/linux-2.6/kernel/sched.c:1496: /mnt/build/linux-2.6/kernel/sched_rt.c: In function '__enable_runtime': /mnt/build/linux-2.6/kernel/sched_rt.c:339: warning: unused variable 'rd' /mnt/build/linux-2.6/kernel/sched_rt.c: In function 'requeue_rt_entity': /mnt/build/linux-2.6/kernel/sched_rt.c:692: warning: unused variable 'queue' Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 8b604d520799a995946437d041f46bae7d5bcc8c Author: Ingo Molnar Date: Fri Jun 27 11:52:45 2008 +0200 fix: "smp_call_function: get rid of the unused nonatomic/retry argument" drivers/char/sysrq.c: In function 'sysrq_showregs_othercpus': drivers/char/sysrq.c:218: error: too many arguments to function 'smp_call_function' Signed-off-by: Ingo Molnar commit ce0d1b6f73870878aae622b72e85fe8f7a16b51c Author: Ingo Molnar Date: Fri Jun 27 11:50:32 2008 +0200 fix: "smp_call_function: get rid of the unused nonatomic/retry argument" fix: kernel/smp.c: In function 'smp_call_function_mask': kernel/smp.c:303: error: too many arguments to function 'smp_call_function_single' Signed-off-by: Ingo Molnar commit 127a237a1ff49fa5b8e00af91e841598aeea3513 Author: Ingo Molnar Date: Fri Jun 27 11:48:22 2008 +0200 fix "smp_call_function: get rid of the unused nonatomic/retry argument" fix: arch/x86/kernel/process.c: In function 'cpu_idle_wait': arch/x86/kernel/process.c:64: error: too many arguments to function 'smp_call_function' Signed-off-by: Ingo Molnar commit 07c40e8a1acdb56fca485a6deeb252ebf19509a1 Author: Ingo Molnar Date: Fri Jun 27 11:31:28 2008 +0200 x86, AMD IOMMU: build fix #3 fix typo causing: arch/x86/kernel/built-in.o: In function `__unmap_single': amd_iommu.c:(.text+0x17771): undefined reference to `iommu_area_free' arch/x86/kernel/built-in.o: In function `__map_single': amd_iommu.c:(.text+0x1797a): undefined reference to `iommu_area_alloc' amd_iommu.c:(.text+0x179a2): undefined reference to `iommu_area_alloc' Signed-off-by: Ingo Molnar commit 92af4e29020ff096178a00605b3662b3b39d4aa9 Author: Ingo Molnar Date: Fri Jun 27 10:48:16 2008 +0200 x86, AMD IOMMU, build fix #2 fix: arch/x86/kernel/amd_iommu.c: In function ‘amd_iommu_init_dma_ops': arch/x86/kernel/amd_iommu.c:940: error: lvalue required as left operand of assignment arch/x86/kernel/amd_iommu.c:941: error: lvalue required as left operand of assignment due to !CONFIG_GART_IOMMU. Signed-off-by: Ingo Molnar commit 24d2ba0a8a5816eb8322836271fbcb045d915dfd Author: Ingo Molnar Date: Fri Jun 27 10:37:03 2008 +0200 x86, AMD IOMMU: build fix fix: arch/x86/kernel/amd_iommu_init.c:247: warning: 'struct acpi_table_header' declared inside parameter list arch/x86/kernel/amd_iommu_init.c:247: warning: its scope is only this definition or declaration, which is probably not what you want arch/x86/kernel/amd_iommu_init.c: In function 'find_last_devid_acpi': arch/x86/kernel/amd_iommu_init.c:257: error: dereferencing pointer to incomplete type arch/x86/kernel/amd_iommu_init.c:265: error: dereferencing pointer to incomplete type the AMD IOMMU code depends on ACPI facilities. Signed-off-by: Ingo Molnar commit f17172e00167238cc5e4f61ac4e78c68e5c558ec Author: Steven Whitehouse Date: Fri Jun 27 09:40:57 2008 +0100 [GFS2] Fix module building Two lines missed from the previous patch. Signed-off-by: Steven Whitehouse commit 9f1585cb03866452e0df61a83c88302181e50054 Author: Steven Whitehouse Date: Thu Jun 26 08:25:57 2008 +0100 [GFS2] Glock documentation This patch adds a file describing the internals of GFS2's glock abstraction. Signed-off-by: Steven Whitehouse commit 31fcba00fe7145527b159f8893ec6c9cc61309fd Author: Steven Whitehouse Date: Wed Jun 4 15:06:21 2008 +0100 [GFS2] Remove all_list from lock_dlm I discovered that we had a list onto which every lock_dlm lock was being put. Its only function was to discover whether we'd got any locks left after umount. Since there was already a counter for that purpose as well, I removed the list. The saving is sizeof(struct list_head) per glock - well worth having. Signed-off-by: Steven Whitehouse commit b2cad26cfc2091050574a460b304ed103a35dbda Author: Steven Whitehouse Date: Tue Jun 3 14:34:14 2008 +0100 [GFS2] Remove obsolete conversion deadlock avoidance code This is only used by GFS1 so can be removed. Signed-off-by: Steven Whitehouse commit 1bdad606338debc6384b2844f1b53cc436b3ac90 Author: Steven Whitehouse Date: Tue Jun 3 14:09:53 2008 +0100 [GFS2] Remove remote lock dropping code There are several reasons why this is undesirable: 1. It never happens during normal operation anyway 2. If it does happen it causes performance to be very, very poor 3. It isn't likely to solve the original problem (memory shortage on remote DLM node) it was supposed to solve 4. It uses a bunch of arbitrary constants which are unlikely to be correct for any particular situation and for which the tuning seems to be a black art. 5. In an N node cluster, only 1/N of the dropped locked will actually contribute to solving the problem on average. So all in all we are better off without it. This also makes merging the lock_dlm module into GFS2 a bit easier. Signed-off-by: Steven Whitehouse commit 9171f5a991e7613cbee816874ad8c9515dcab50f Author: Bob Peterson Date: Mon Jun 9 12:08:23 2008 -0500 [GFS2] kernel panic mounting volume This patch fixes Red Hat bugzilla bug 450156. This started with a not-too-improbable mount failure because the locking protocol was never set back to its proper "lock_dlm" after the system was rebooted in the middle of a gfs2_fsck. That left a (purposely) invalid locking protocol in the superblock, which caused an error when the file system was mounted the next time. When there's an error mounting, vfs calls DQUOT_OFF, which calls vfs_quota_off which calls gfs2_sync_fs. Next, gfs2_sync_fs calls gfs2_log_flush passing s_fs_info. But due to the error, s_fs_info had been previously set to NULL, and so we have the kernel oops. My solution in this patch is to test for the NULL value before passing it. I tested this patch and it fixes the problem. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 01b7c7ae88a6376c508b35a22bb61e04cb1b37f0 Author: Steven Whitehouse Date: Mon Jun 2 09:14:54 2008 +0100 [GFS2] Revise readpage locking The previous attempt to fix the locking in readpage failed due to the use of a "try lock" which resulted in occasional high cpu usage during testing (due to repeated tries) and also it did not resolve all the ordering problems wrt the transaction lock (although it did solve all the inode lock ordering problems). This patch avoids the problem by unlocking the page and getting the locks in the correct order. This means that we have to retest the page to ensure that it hasn't changed when we relock the page. This now passes the tests which were previously failing. Signed-off-by: Steven Whitehouse commit 80274737220f8c5ea75696dde4c5c7feba39456f Author: Steven Whitehouse Date: Mon Jun 2 09:08:47 2008 +0100 [GFS2] Fix ordering of args for list_add The patch to remove lock_nolock managed to get the arguments of this list_add backwards. This fixes it. Signed-off-by: Steven Whitehouse commit 2d81afb87972013b43b055b4711dc75fdeeb9ba8 Author: Harvey Harrison Date: Thu May 29 18:27:51 2008 -0700 [GFS2] trivial sparse lock annotations Annotate the &sdp->sd_log_lock. Signed-off-by: Harvey Harrison Signed-off-by: Steven Whitehouse commit 048bca223739368aa5b9ce7cfb1d576c32d66cc7 Author: Steven Whitehouse Date: Fri May 23 14:46:04 2008 +0100 [GFS2] No lock_nolock This patch merges the lock_nolock module into GFS2 itself. As well as removing some of the overhead of the module, it also means that its now impossible to build GFS2 without a lock module (which would be a pointless thing to do anyway). We also plan to merge lock_dlm into GFS2 in the future, but that is a more tricky task, and will therefore be a separate patch. Signed-off-by: Steven Whitehouse Cc: David Teigland commit f3c9d38a26be32abf9b8897e9e0afc7166c712dd Author: Steven Whitehouse Date: Wed May 21 17:21:42 2008 +0100 [GFS2] Fix ordering bug in lock_dlm This looks like a lot of change, but in fact its not. Mostly its things moving from one file to another. The change is just that instead of queuing lock completions and callbacks from the DLM we now pass them directly to GFS2. This gives us a net loss of two list heads per glock (a fair saving in memory) plus a reduction in the latency of delivering the messages to GFS2, plus we now have one thread fewer as well. There was a bug where callbacks and completions could be delivered in the wrong order due to this unnecessary queuing which is fixed by this patch. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit 6802e3400ff4549525930ee744030c36fce9cc73 Author: Steven Whitehouse Date: Wed May 21 17:03:22 2008 +0100 [GFS2] Clean up the glock core This patch implements a number of cleanups to the core of the GFS2 glock code. As a result a lot of code is removed. It looks like a really big change, but actually a large part of this patch is either removing or moving existing code. There are some new bits too though, such as the new run_queue() function which is considerably streamlined. Highlights of this patch include: o Fixes a cluster coherency bug during SH -> EX lock conversions o Removes the "glmutex" code in favour of a single bit lock o Removes the ->go_xmote_bh() for inodes since it was duplicating ->go_lock() o We now only use the ->lm_lock() function for both locks and unlocks (i.e. unlock is a lock with target mode LM_ST_UNLOCKED) o The fast path is considerably shortly, giving performance gains especially with lock_nolock o The glock_workqueue is now used for all the callbacks from the DLM which allows us to simplify the lock_dlm module (see following patch) o The way is now open to make further changes such as eliminating the two threads (gfs2_glockd and gfs2_scand) in favour of a more efficient scheme. This patch has undergone extensive testing with various test suites so it should be pretty stable by now. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit 54b4cbd26987f84791d6e05863a715ded9f7b3a5 Author: Joerg Roedel Date: Thu Jun 26 21:28:10 2008 +0200 x86, AMD IOMMU: add documentation for kernel parameters Add documentation for the kernel parameters introduced with this driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 919ee7dd9a66c71e116591c07b88de0db2a387a4 Author: Joerg Roedel Date: Thu Jun 26 21:28:09 2008 +0200 x86, AMD IOMMU: add MAINTAINERS entry Add an entry to the MAINTAINERS file for AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit a69ca3401821b7312cb7ec939a8814240fd7b9b3 Author: Joerg Roedel Date: Thu Jun 26 21:28:08 2008 +0200 AMD_IOMMU: call detect and initialization functions from dma code This patch adds the function calls to initialize the AMD IOMMU hardware and dma_ops to the generic DMA code for the x86 architecture. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 8736197ba8e40d030eec0ab7a9e9f2be41810c4e Author: Joerg Roedel Date: Thu Jun 26 21:28:07 2008 +0200 x86, AMD IOMMU: initialize dma_ops from IOMMU initialization and enable IOMMUs This patch adds a call to the driver specific dma_ops initialization routine from the AMD IOMMU hardware initialization. Further it adds the necessary code to finally enable AMD IOMMU hardware. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit c6da992e16a9d261eb9dfeff14e9777c3e0468c5 Author: Joerg Roedel Date: Thu Jun 26 21:28:06 2008 +0200 x86, AMD IOMMU: add amd_iommu.h to export functions to the generic x86 dma code This patch adds the amd_iommu.h file which will be included in the generic code. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 6631ee9d00996e7663a086b5abceba65c89ff8f6 Author: Joerg Roedel Date: Thu Jun 26 21:28:05 2008 +0200 x86, AMD IOMMU: add dma_ops initialization function This patch adds the function to initialize the dma_ops for the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit c432f3df8ea740e2ecb27da88bd6b5a254714959 Author: Joerg Roedel Date: Thu Jun 26 21:28:04 2008 +0200 x86, AMD IOMMU: add pre-allocation of protection domains This patch adds a function to pre-allocate protection domains. So we don't have to allocate it on the first request for a device (which can happen in atomic mode). Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 5d8b53cf3f8762b2230fb3d5b4e2ff78c5e701d8 Author: Joerg Roedel Date: Thu Jun 26 21:28:03 2008 +0200 x86, AMD IOMMU: add mapping functions for coherent mappings This patch adds the dma_ops functions for coherent mappings. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 65b050adbfd9481ec20514cfc06fa596a92cb3b5 Author: Joerg Roedel Date: Thu Jun 26 21:28:02 2008 +0200 x86, AMD IOMMU: add mapping functions for scatter gather lists This patch adds the dma_ops functions for mapping and unmapping scatter gather lists. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 4da70b9e4f8576ec906dba9240c5b6bc6584f91d Author: Joerg Roedel Date: Thu Jun 26 21:28:01 2008 +0200 x86, AMD IOMMU: add dma_ops mapping functions for single mappings This patch adds the dma_ops specific mapping functions for single mappings. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit cb76c3229725c6dcae31da65e9ca57f434628c05 Author: Joerg Roedel Date: Thu Jun 26 21:28:00 2008 +0200 x86, AMD IOMMU: add generic dma_ops mapping functions This patch adds the generic functions to map and unmap pages to a protection domain for dma_ops usage. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b20ac0d4d6cff969d7074bbf02a1b86058df0804 Author: Joerg Roedel Date: Thu Jun 26 21:27:59 2008 +0200 x86, AMD IOMMU: add functions to find IOMMU device resources This patch adds functions necessary to find the IOMMU resources for a specific device. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit ec487d1a110abfffebdf116560db5c1d71b94cab Author: Joerg Roedel Date: Thu Jun 26 21:27:58 2008 +0200 x86, AMD IOMMU: add domain allocation and deallocation functions This patch adds the functions to allocate and free protection domains for the IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit d3086444b2988659a50af09462261c78d3012cb4 Author: Joerg Roedel Date: Thu Jun 26 21:27:57 2008 +0200 x86, AMD IOMMU: add address allocation and deallocation functions This patch adds the address allocator to the AMD IOMMU code. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit bd0e521158af407ec816aea070831d4ca7ae65e9 Author: Joerg Roedel Date: Thu Jun 26 21:27:56 2008 +0200 x86, AMD IOMMU: add functions to initialize unity mappings This patch adds the functions which will initialize the unity mappings in the device page tables. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit a19ae1eccfb2d97f4704b1a2b3d1d9905845dcac Author: Joerg Roedel Date: Thu Jun 26 21:27:55 2008 +0200 x86, AMD IOMMU: add functions to send IOMMU commands This patch adds generic handling function as well as all functions to send specific commands to the IOMMU hardware as required by this driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 000fca2dfcfbd2859fed1208c38c899ab4873049 Author: Joerg Roedel Date: Thu Jun 26 21:27:54 2008 +0200 x86, AMD IOMMU: add amd_iommu.c to Makefile This patch adds the new amd_iommu.c file to the architecture kernel Makefile for x86. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b6c02715cff8c96174022166bfa3e1a25436fb34 Author: Joerg Roedel Date: Thu Jun 26 21:27:53 2008 +0200 x86, AMD IOMMU: add generic defines and structures for mapping code This patch adds generic stuff used by the mapping and unmapping code for the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 918ad6c54d107ccfc4ccaa3a54b97437467fb58a Author: Joerg Roedel Date: Thu Jun 26 21:27:52 2008 +0200 x86, AMD IOMMU: add kernel command line parameters for AMD IOMMU This patch adds two parameters to the kernel command line to control behavior of the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit ae7877de9cd8da075a46d5f615cb9fc9858e4b2f Author: Joerg Roedel Date: Thu Jun 26 21:27:51 2008 +0200 x86, AMD IOMMU: add early detection code This patch adds code to detect an AMD IOMMU early during boot before the early detection code of other IOMMUs run. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit fe74c9cf3985e307e9734296d08a270d510e3fb7 Author: Joerg Roedel Date: Thu Jun 26 21:27:50 2008 +0200 x86, AMD IOMMU: clue initialization code together This patch puts the AMD IOMMU ACPI table parsing and hardware initialization functions together to the main intialization routine. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit be2a022c0dd0f630b06f83de284df53cb60a308f Author: Joerg Roedel Date: Thu Jun 26 21:27:49 2008 +0200 x86, AMD IOMMU: add functions to parse IOMMU memory mapping requirements for devices This patch adds the functions to parse the information about IOMMU exclusion ranges and required unity mappings for the devices handled by the IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit e47d402d2df89bb1aa77b7573597a9dd2241aafe Author: Joerg Roedel Date: Thu Jun 26 21:27:48 2008 +0200 x86, AMD IOMMU: add detect code for AMD IOMMU hardware This patch adds the detection of AMD IOMMU hardware provided on information from ACPI provided by the BIOS. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 5d0c8e49f88b908a8fcc913c4b9843108ae8897b Author: Joerg Roedel Date: Thu Jun 26 21:27:47 2008 +0200 x86, AMD IOMMU: add functions for IOMMU hardware initialization from ACPI This patch adds functions to initialize the IOMMU hardware with information from ACPI and PCI. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 3566b7786afd7c14c62726f359df3c827054670b Author: Joerg Roedel Date: Thu Jun 26 21:27:46 2008 +0200 x86, AMD IOMMU: add device table initialization functions This patch adds functions necessary to initialize the device table from the ACPI definitions. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b36ca91e1d2d7e846844820784d57d20ad73dbd8 Author: Joerg Roedel Date: Thu Jun 26 21:27:45 2008 +0200 x86, AMD IOMMU: add command buffer (de-)allocation This patch adds the functions to allocate and deallocate the command buffer for one IOMMU in the system. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit b2026aa2dce4454950ccd9c410790f310d65696a Author: Joerg Roedel Date: Thu Jun 26 21:27:44 2008 +0200 x86, AMD IOMMU: add functions for programming IOMMU MMIO space This patch adds the functions required to programm the IOMMU with the MMIO space. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 6c56747b46717b4c6a890b35e8518f4be961dc7e Author: Joerg Roedel Date: Thu Jun 26 21:27:43 2008 +0200 x86, AMD IOMMU: add functions for mapping/unmapping the MMIO space This patch contains two functions to map and unmap the MMIO region of an IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit ca7ed057ae25e5e60814f950995f22f051d2e449 Author: Joerg Roedel Date: Thu Jun 26 21:27:42 2008 +0200 x86, AMD IOMMU: add amd_iommu_init.c to Makefile This patch adds the source file amd_iommu_init.c to the kernel Makefile for the x86 architecture. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 3e8064ba59128bcb1405079a0789b27b356832b9 Author: Joerg Roedel Date: Thu Jun 26 21:27:41 2008 +0200 x86, AMD IOMMU: add functions to find last possible PCI device for IOMMU This patch adds functions to find the last PCI bus/device/function the IOMMU driver has to handle. This information is used later to allocate the memory for the data structures. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 928abd2545fe367ea3ff3cb8a5076e1d6d2a9574 Author: Joerg Roedel Date: Thu Jun 26 21:27:40 2008 +0200 x86, AMD IOMMU: add data structures to manage the IOMMUs in the system This patch adds the data structures which will contain the information read from the ACPI table. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit f6e2e6b6fc465bc3cc4eae8d53fcf573ca1cfa14 Author: Joerg Roedel Date: Thu Jun 26 21:27:39 2008 +0200 x86, AMD IOMMU: add defines and structures for ACPI scanning code This patch adds the required data structures and constants required to parse the ACPI table for the AMD IOMMU. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 8d283c35a293e6091fdf7ef86842c1174c48a941 Author: Joerg Roedel Date: Thu Jun 26 21:27:38 2008 +0200 x86, AMD IOMMU: add header file for driver data structures and defines This patch adds a header file local to the AMD IOMMU driver with constants and data structures needed in the code. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 2b188723ee1707ca902ddb98ce1decdeafb5190a Author: Joerg Roedel Date: Thu Jun 26 21:27:37 2008 +0200 x86, AMD IOMMU: add Kconfig entry This patch adds the Kconfig entry for the AMD IOMMU driver. Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar commit 69776bf3a7263a4e47751f475d540b0f73bf8337 Author: Jaroslav Kysela Date: Fri Jun 27 10:11:58 2008 +0200 ALSA: Release v1.0.17rc3 Signed-off-by: Jaroslav Kysela commit 031005f78c8d0aebc17ddf7a34af9ffd48034d7d Author: Takashi Iwai Date: Thu Jun 26 14:49:58 2008 +0200 ALSA: hda - disable amp override on non-HP machines Some machines with Cx5045 seem to have no problem with the volume over 0dB on NID 0x17. Disable amp overrides for other devices but HP. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4a3b6983232cd296ea260e06461d031f10065d63 Author: Takashi Iwai Date: Wed Jun 25 17:17:00 2008 +0200 ALSA: ymfpci - fix initial volume for 44.1kHz output YDSXGR_BUF441OUTVOL register isn't initialized properly. This may lead to a silent output at full volume of unchanged "Wave Playback Volume". http://bugzilla.kernel.org/show_bug.cgi?id=10963 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c7e0757a461db87157bbf92c4f5afda87cbe05f6 Author: Takashi Iwai Date: Thu Jun 26 14:42:51 2008 +0200 ALSA: hda - Add MacBook 3.1 support MacBook 3.1 is compatible with model=mbp3. Added the codec SSID 10b6:3600. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 316af76f3475bb73dbb11f1c6d549ae589efb3d0 Author: Harvey Harrison Date: Sat Jun 21 19:33:20 2008 -0700 adm8211: remove unnecessary protected bit mask/check Removes now unused fc local var and uses the new ieee80211_hdrlen which directly uses the le16 frame control value. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 97b045d62bffae5a91a286b56ac51db0c4385687 Author: Johannes Berg Date: Fri Jun 20 01:22:30 2008 +0200 mac80211: add single function calling tx handlers This modifies mac80211 to only have a single function calling the TX handlers rather than them being invoked in multiple places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9965183a78ad5303b9154184a0f4056844e8baae Author: Michael Buesch Date: Fri Jun 20 01:01:50 2008 +0200 b43: Remove "shm" and "ucode_regs" debugfs files We don't need these two dump-files anymore, as we can easily do this in userspace now. Use b43-fwdump from the b43-tools repository to dump microcode registers. Use "b43-fwdump -s" to dump SHM (or use -S to do a binary dump) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit efa275822b50ab942c79ba26f053f9a0cd220e9e Author: Michael Buesch Date: Thu Jun 19 19:38:32 2008 +0200 b43: Add mask/set capability to debugfs MMIO interface This adds an atomic mask/set capability to the debugfs MMIO interface. This is needed to support mask and/or set operations from the userspace debugging tools. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6bbc321a96d4d3533eb136b981baba6c8248d635 Author: Michael Buesch Date: Thu Jun 19 19:33:51 2008 +0200 b43: Add debugfs files for random SHM access This adds debugfs files for random SHM access. This is needed in order to implement firmware and driver debugging scripts in userspace. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8bd463f4f913db12a1b7374f84304631289a1e0b Author: Michael Buesch Date: Thu Jun 19 00:35:49 2008 +0200 b43: Add debugfs files for MMIO register access This adds debugfs files for reading and writing arbitrary wireless core registers. This is useful for debugging. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5a9f7b047e81a73a1ce3e42ef87c28a61fd4df24 Author: Johannes Berg Date: Wed Jun 18 14:58:09 2008 +0200 mac80211: use separate spinlock for sta flags David Ellingsworth posted a bug that was only noticable on UP/NO-PREEMPT and Michael correctly analysed it to be a spin_lock_bh() section within a spin_lock_irqsave() section. This adds a separate spinlock for the sta_info flags to fix that issue and avoid having to take much care about where the sta flag manipulation functions are called. Signed-off-by: Johannes Berg Reported-By: David Ellingsworth Signed-off-by: John W. Linville commit 135a2110c55c71d7ccaf5ac66968b993347fe8e2 Author: Johannes Berg Date: Mon Jun 16 20:55:29 2008 +0200 mac80211: remove shared key todo Adding shared key authentication is not going to happen anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8160465dc7197dc1abc426852bb3fa00108923f4 Author: Ivo van Doorn Date: Mon Jun 16 19:58:00 2008 +0200 rt2x00: Release rt2x00 2.1.8 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f529932ce27e809e8c9bab5d744df5aef8a89157 Author: Ivo van Doorn Date: Mon Jun 16 19:57:40 2008 +0200 rt2x00: Increase queue size Without the preallocated DMA we can now safely increase the queue size withotu negative impact on the memory requirements of rt2x00. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c1d35dfa0f7d75ba14c442143a9ad8e232d3edfb Author: Ivo van Doorn Date: Mon Jun 16 19:57:11 2008 +0200 rt2x00: Fix sparse warning on nested container_of() Sparse produces warnings about nested contain_of() statements, this means that lines like: interface_to_usbdev(to_usb_interface(rt2x00dev->dev)); will upset sparse. Add a new macro to rt2x00usb.h which will convert to device structure to the usb_device pointer in 2 steps to prevent this sparse warning. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d74f5ba473b915e5d4ea1ed391984bb62d9de8b1 Author: Ivo van Doorn Date: Mon Jun 16 19:56:54 2008 +0200 rt2x00: Cleanup symbol exports With a bit of code moving to rt2x00lib within the TX and RX paths we can now remove a lot of EXPORT_SYMBOL_GPL() statements. This cleans up the interface between rt2x00lib and the drivers and has the additional benefit that rt2x00pci and rt2x00usb are trimmed down in size as well since they have less to do. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c4da004857056e6ee034c4110ccdcba659077b7e Author: Gertjan van Wingerde Date: Mon Jun 16 19:56:31 2008 +0200 rt2x00: Replace statically allocated DMA buffers with mapped skb's. The current PCI drivers require a lot of pre-allocated DMA buffers. Reduce this by using dynamically mapped skb's (using pci_map_single) instead of the pre- allocated DMA buffers that are allocated at device start-up time. At the same time move common RX path code into rt2x00lib from rt2x00pci and rt2x00usb, as the RX paths now are now almost the same. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30caa6e3d586442f7c3ad081260ee1b22bb123de Author: Gertjan van Wingerde Date: Mon Jun 16 19:56:08 2008 +0200 rt2x00: Centralize allocation of RX skbs. In preparation of replacing the statically allocated DMA buffers with dynamically mapped skbs, centralize the allocation of RX skbs to rt2x00queue.c and let rt2x00pci already use them. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 14a3bf89212b5c758bd39bb4afc972c4ba6d599f Author: Gertjan van Wingerde Date: Mon Jun 16 19:55:43 2008 +0200 rt2x00: Convert rt2x00 to use generic DMA-mapping API At the same time clean up the device administration a bit, by storing a pointer to struct device instead of a void pointer that is dependent on the type of device. The normal PCI and USB subsystem provided macros can be used to convert the device pointer to the right type. This makes the rt2x00 driver a bit more type-safe. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c95edf5432f097c926dd3f59239ecde80da3b214 Author: Gertjan van Wingerde Date: Mon Jun 16 19:55:18 2008 +0200 rt2x00: Properly clean up beacon skbs. The skbs containing the beacons weren't properly cleaned up for rt2400pci, rt2500pci, rt61pci, and rt73usb. Clean up those skbs in the manner appropriate for each driver. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ac1044628d477d655f5f70420c3493119abeb6d3 Author: Ivo van Doorn Date: Mon Jun 16 19:54:57 2008 +0200 rt2x00: Use ieee80211 fc handlers With the introduction of the ieee80211 fc handlers we can now remove the rt2x00.h versions to use the global versions. Signed-off-by: Ivo van Doorn Reviewed-by: Harvey Harrison Signed-off-by: John W. Linville commit e800f17c6ffe8b0410d8cf060ab204b93e9c73ab Author: Stephen Rothwell Date: Mon Jun 16 15:35:10 2008 +1000 wireless: fix fallout from device_create removal Signed-off-by: Stephen Rothwell Signed-off-by: John W. Linville commit b662348662f9661f9259c7186c1bdb65620045f1 Author: Assaf Krauss Date: Mon Jun 16 16:09:49 2008 +0300 mac80211: 11h - Handling measurement request This patch handles the 11h measurement request information element. This is minimal requested implementation - refuse measurement. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f2df38596a81b6c24f4586b0b4befeaebf3e02db Author: Assaf Krauss Date: Sun Jun 15 18:23:29 2008 +0300 mac80211: 11h Infrastructure - Parsing This patch introduces parsing of 11h and 11d related elements from incoming management frames. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b99a017c01bb19b58fd0826e36a1bdacf581c545 Author: Harvey Harrison Date: Sat Jun 14 23:33:40 2008 -0700 b43legacy: use frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit f37d923422b61884a75a2a64865ed03ca5ccfc6d Author: Harvey Harrison Date: Sat Jun 14 23:33:39 2008 -0700 b43: use frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 85365820590e2fb54684c7163047f866ccbf4760 Author: Harvey Harrison Date: Sat Jun 14 23:33:39 2008 -0700 zd1211rw: use frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 24b56e705587cd3a51efb1229e73ea6e3e757f05 Author: Harvey Harrison Date: Sat Jun 14 23:33:38 2008 -0700 ath5k: use frame control helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 94d9842403f770239a656586442454b7a8f2df29 Author: Adrian Bunk Date: Thu Jun 5 21:25:11 2008 +0300 remove the strip driver The latest trace about usage of this driver I found was an (unanswered) request for help by a user trying to get it working reliably five years ago with kernel 2.4 . And even if it was still working the use cases of this driver (requiring both the hardware and someone providing this kind of wireless network) have become practically nonexisting. This patch therefore removes the strip driver. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit f7983f7301d530cb3f3a02618c944f6d108d11df Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:46:43 2008 -0300 rfkill: improve documentation for kernel drivers Improve the documentation of how to use the rfkill class in kernel drivers, based on the doubts that came up in a thread in linux-wireless. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5005657cbd0fd6f277f807c0612a6b6d4396a02c Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:46:42 2008 -0300 rfkill: rename the rfkill_state states and add block-locked state The current naming of rfkill_state causes a lot of confusion: not only the "kill" in rfkill suggests negative logic, but also the fact that rfkill cannot turn anything on (it can just force something off or stop forcing something off) is often forgotten. Rename RFKILL_STATE_OFF to RFKILL_STATE_SOFT_BLOCKED (transmitter is blocked and will not operate; state can be changed by a toggle_radio request), and RFKILL_STATE_ON to RFKILL_STATE_UNBLOCKED (transmitter is not blocked, and may operate). Also, add a new third state, RFKILL_STATE_HARD_BLOCKED (transmitter is blocked and will not operate; state cannot be changed through a toggle_radio request), which is used by drivers to indicate a wireless transmiter was blocked by a hardware rfkill line that accepts no overrides. Keep the old names as #defines, but document them as deprecated. This way, drivers can be converted to the new names *and* verified to actually use rfkill correctly one by one. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit dc288520a21879c6540f3249e9532c5e032da4e8 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:08 2008 -0300 rfkill: document rw rfkill switches and clarify input subsystem interactions Rework the documentation so as to make sure driver writers understand exactly where the boundaries are for input drivers related to rfkill switches, buttons and keys, and rfkill class drivers. Also fix a small error in the documentation: setting the state of a normal instance of the rfkill class does not affect the state of any other devices (unless they are tied by firmware/hardware somehow). Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit 4081f00dc45abce6bdac352a6354c07ce15db45b Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:07 2008 -0300 rfkill: do not allow userspace to override ALL RADIOS OFF SW_RFKILL_ALL is the "emergency power-off all radios" input event. It must be handled, and must always do the same thing as far as the rfkill system is concerned: all transmitters are to go *immediately* offline. For safety, do NOT allow userspace to override EV_SW SW_RFKILL_ALL OFF. As long as rfkill-input is loaded, that event will *always* be processed, and it will *always* force all rfkill switches to disable all wireless transmitters, regardless of user_claim attribute or anything else. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit fbc6af2f3c46df4722f5161d0ad20dd87cd7dfa9 Author: Fabien Crespel Date: Mon Jun 23 17:23:06 2008 -0300 rfkill: drop current_state from tasks in rfkill-input The whole current_state thing seems completely useless and a source of problems in rfkill-input, since state comparison is already done in rfkill, and rfkill-input is more than likely to become out of sync with the real state. Signed-off-by: Fabien Crespel Acked-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit ffb67c34e436fb163c4067936ccec797354fa6c6 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:05 2008 -0300 rfkill: add uevent notifications Use the notification chains to also send uevents, so that userspace can be notified of state changes of every rfkill switch. Userspace should use these events for OSD/status report applications and rfkill GUI frontends. HAL might want to broadcast them over DBUS, for example. It might be also useful for userspace implementations of rfkill-input, or to use HAL as the platform driver which promotes rfkill switch change events into input events (to synchronize all other switches) when necessary for platforms that lack a convenient platform-specific kernel module to do it. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit 99c632e5a304e1f76350eb9e8b2493514de8b60c Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:04 2008 -0300 rfkill: add type string helper We will need access to the rfkill switch type in string format for more than just sysfs. Therefore, move it to a generic helper. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 79399a8d1908f6a406e82d23c5a9937e1722ed3a Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:03 2008 -0300 rfkill: add notifier chains support Add a notifier chain for use by the rfkill class. This notifier chain signals the following events (more to be added when needed): 1. rfkill: rfkill device state has changed A pointer to the rfkill struct will be passed as a parameter. The notifier message types have been added to include/linux/rfkill.h instead of to include/linux/notifier.h in order to avoid the madness of modifying a header used globally (and that triggers an almost full tree rebuild every time it is touched) with information that is of interest only to code that includes the rfkill.h header. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 526324b61a9667ed9a71f0a8a8899cf675346c76 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:02 2008 -0300 rfkill: rework suspend and resume handlers The resume handler should reset the wireless transmitter rfkill state to exactly what it was when the system was suspended. Do it, and do it using the normal routines for state change while at it. The suspend handler should force-switch the transmitter to blocked state, ignoring caches. Do it. Also take an opportunity shot to rfkill_remove_switch() and also force the transmitter to blocked state there, bypassing caches. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 477576a073699783abb53ae14993d5d41c66301d Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:01 2008 -0300 rfkill: add the WWAN radio type Unfortunately, instead of adding a generic Wireless WAN type, a technology- specific type (WiMAX) was added. That's useless for other WWAN devices, such as EDGE, UMTS, X-RTT and other such radios. Add a WWAN rfkill type for generic wireless WAN devices. No keys are added as most devices really want to use KEY_WLAN for WWAN control (in a cycle of none, WLAN, WWAN, WLAN+WWAN) and need no specific keycode added. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Iñaky Pérez-González Cc: David S. Miller Signed-off-by: John W. Linville commit 801e49af4c1a9b988ba0d25de2b368c99c3bf2b3 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:23:00 2008 -0300 rfkill: add read-write rfkill switch support Currently, rfkill support for read/write rfkill switches is hacked through a round-trip over the input layer and rfkill-input to let a driver sync rfkill->state to hardware changes. This is buggy and sub-optimal. It causes real problems. It is best to think of the rfkill class as supporting only write-only switches at the moment. In order to implement the read/write functionality properly: Add a get_state() hook that is called by the class every time it needs to fetch the current state of the switch. Add a call to this hook every time the *current* state of the radio plays a role in a decision. Also add a force_state() method that can be used to forcefully syncronize the class' idea of the current state of the switch. This allows for a faster implementation of the read/write functionality, as a driver which get events on switch changes can avoid the need for a get_state() hook. If the get_state() hook is left as NULL, current behaviour is maintained, so this change is fully backwards compatible with the current rfkill drivers. For hardware that issues events when the rfkill state changes, leave get_state() NULL in the rfkill struct, set the initial state properly before registering with the rfkill class, and use the force_state() method in the driver to keep the rfkill interface up-to-date. get_state() can be called by the class from atomic context. It must not sleep. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit e954b0b85b9e737564b8ad9738de5816747b5901 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:22:59 2008 -0300 rfkill: add parameter to disable radios by default Currently, radios are always enabled when their rfkill interface is registered. This is not optimal, the safest state for a radio is to be offline unless the user turns it on. Add a module parameter that causes all radios to be disabled when their rfkill interface is registered. The module default is not changed so unless the parameter is used, radios will still be forced to their enabled state when they are registered. The new rfkill module parameter is called "default_state". Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 28f089c18464810ec9e91ee10a89adbb02ad7765 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:22:58 2008 -0300 rfkill: handle SW_RFKILL_ALL events Teach rfkill-input how to handle SW_RFKILL_ALL events (new name for the SW_RADIO event). SW_RFKILL_ALL is an absolute enable-or-disable command that is tied to all radios in a system. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit c8fcd905a59a535bff93a120ac44b09ce24e13e6 Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:22:57 2008 -0300 rfkill: fix minor typo in kernel doc Fix a minor typo in an exported function documentation Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit f3146aff7f283c8699e0c97df6307a705786eeba Author: Henrique de Moraes Holschuh Date: Mon Jun 23 17:22:56 2008 -0300 rfkill: clarify meaning of rfkill states rfkill really should have been named rfswitch. As it is, one can get confused whether RFKILL_STATE_ON means the KILL switch is on (and therefore, the radio is being *blocked* from operating), or whether it means the RADIO rf output is on. Clearly state that RFKILL_STATE_ON means the radio is *unblocked* from operating (i.e. there is no rf killing going on). Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit fa3d319ac6f648dc51cb672a31f482c80a8c2457 Author: Pavel Machek Date: Thu Jun 26 00:25:43 2008 +0200 pci-gart_64.c: could we get better explanation? Add better explanation to pci-gart. Signed-off-by: Pavel Machek Cc: Dave Jones Cc: Andi Kleen Cc: Trivial patch monkey Cc: Benjamin Herrenschmidt Signed-off-by: Ingo Molnar commit 15c8b6c1aaaf1c4edd67e2f02e4d8e1bd1a51c0d Author: Jens Axboe Date: Fri May 9 09:39:44 2008 +0200 on_each_cpu(): kill unused 'retry' parameter It's not even passed on to smp_call_function() anymore, since that was removed. So kill it. Acked-by: Jeremy Fitzhardinge Reviewed-by: Paul E. McKenney Signed-off-by: Jens Axboe commit 8691e5a8f691cc2a4fda0651e8d307aaba0e7d68 Author: Jens Axboe Date: Fri Jun 6 11:18:06 2008 +0200 smp_call_function: get rid of the unused nonatomic/retry argument It's never used and the comments refer to nonatomic and retry interchangably. So get rid of it. Acked-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 490f5de52a87063fcb40e3b22f61b0779603ff6d Author: Jens Axboe Date: Tue Jun 10 20:52:59 2008 +0200 sh: convert to generic helpers for IPI function calls This converts sh to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Not tested, but it compiles. Acked-by: Paul Mundt Signed-off-by: Jens Axboe commit dbcf4787d816a4694ec83b5fde1a947c3ce74d57 Author: Jens Axboe Date: Tue Jun 10 20:50:56 2008 +0200 parisc: convert to generic helpers for IPI function calls This converts parisc to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Tested by Kyle, seems to work. Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Kyle McMartin Signed-off-by: Jens Axboe commit 2f304c0a0a55072b80957580f1b66256a615d8da Author: Jens Axboe Date: Tue Jun 17 10:45:23 2008 +0200 mips: convert to generic helpers for IPI function calls This converts mips to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Not tested, but it compiles. mips shares the same IPI for smp_call_function() and smp_call_function_single(), since not all mips platforms have enough available IPIs to support seperate setups. Cc: Ralf Baechle Signed-off-by: Jens Axboe commit 7b7426c8a615cf61df9a77b9df7d5b75d91e3fa0 Author: Jens Axboe Date: Tue Jun 10 20:49:30 2008 +0200 m32r: convert to generic helpers for IPI function calls This converts m32r to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Not tested, not even compiled. Cc: Hirokazu Takata Signed-off-by: Jens Axboe commit f6dd9fa5a75a3dae16c6843e74e56bf75be51c7c Author: Jens Axboe Date: Tue Jun 10 20:48:30 2008 +0200 arm: convert to generic helpers for IPI function calls This converts arm to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Fixups and testing done by Catalin Marinas Cc: Russell King Signed-off-by: Jens Axboe commit c524a1d8914408fd57241d9542fa2d402f004a33 Author: Jens Axboe Date: Tue Jun 10 20:47:29 2008 +0200 alpha: convert to generic helpers for IPI function calls This converts alpha to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Signed-off-by: Jens Axboe commit f27b433ef32a77c8cb76f018507453df7c03e552 Author: Jens Axboe Date: Thu Jun 26 11:22:30 2008 +0200 ia64: convert to generic helpers for IPI function calls This converts ia64 to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Cc: Tony Luck Signed-off-by: Jens Axboe commit b7d7a2404f80386307ccc0cde63d8d2a5e3bc85c Author: Jens Axboe Date: Thu Jun 26 11:22:13 2008 +0200 powerpc: convert to generic helpers for IPI function calls This converts ppc to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). ppc loses the timeout functionality of smp_call_function_mask() with this change, as the generic code does not provide that. Acked-by: Paul Mackerras Signed-off-by: Jens Axboe commit 3b16cf874861436725c43ba0b68bdd799297be7c Author: Jens Axboe Date: Thu Jun 26 11:21:54 2008 +0200 x86: convert to generic helpers for IPI function calls This converts x86, x86-64, and xen to use the new helpers for smp_call_function() and friends, and adds support for smp_call_function_single(). Acked-by: Ingo Molnar Acked-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1 Author: Jens Axboe Date: Thu Jun 26 11:21:34 2008 +0200 Add generic helpers for arch IPI function calls This adds kernel/smp.c which contains helpers for IPI function calls. In addition to supporting the existing smp_call_function() in a more efficient manner, it also adds a more scalable variant called smp_call_function_single() for calling a given function on a single CPU only. The core of this is based on the x86-64 patch from Nick Piggin, lots of changes since then. "Alan D. Brunelle" has contributed lots of fixes and suggestions as well. Also thanks to Paul E. McKenney for reviewing RCU usage and getting rid of the data allocation fallback deadlock. Acked-by: Ingo Molnar Reviewed-by: Paul E. McKenney Signed-off-by: Jens Axboe commit f82796214a95b1ec00c2f121c1080d10f2b099a1 Author: Kumar Gala Date: Thu Jun 26 02:01:37 2008 -0500 powerpc/booke: Add kprobes support for booke style processors This patch is based on work done by Madhvesh. R. Sulibhavi back in March 2007. We refactor some of the single step handling since it differs between "classic" and "booke" powerpc cores. Signed-off-by: Kumar Gala commit b76e59d1fb086c2fdac5d243e09786d6581f2026 Author: Kumar Gala Date: Thu Jun 26 01:57:58 2008 -0500 powerpc/kprobes: Some minor fixes * Mark __flush_icache_range as a function that can't be probed since its used by the kprobe code. * Fix an issue with single stepping and async exceptions. We need to ensure that we dont get an async exception (external, decrementer, etc) while we are attempting to single step the probe point. Added a check to ensure we only handle a single step if its really intended for the instruction in question. Signed-off-by: Kumar Gala commit 0729fbf3bc70870370b4f43d652f05a468dc68b8 Author: Paul E. McKenney Date: Wed Jun 25 12:24:52 2008 -0700 rcu: make rcutorture even more vicious: invoke RCU readers from irq handlers (timers) This patch allows torturing RCU from irq handlers (timers, in this case). A new module parameter irqreader enables such additional torturing, and is enabled by default. Variants of RCU that do not tolerate readers being called from irq handlers (e.g., SRCU) ignore irqreader. Signed-off-by: Paul E. McKenney Cc: josh@freedesktop.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: dino@in.ibm.com Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: vegard.nossum@gmail.com Cc: adobriyan@gmail.com Cc: oleg@tv-sign.ru Cc: bunk@kernel.org Cc: rjw@sisk.pl Signed-off-by: Ingo Molnar commit 9a13150109fb418c50fa400c012f90d0ce6f67c3 Merge: 3ccf79f... 543cf4c... Author: Ingo Molnar Date: Thu Jun 26 09:24:23 2008 +0200 Merge commit 'v2.6.26-rc8' into core/rcu commit 90b9e47671d561fdf2802aac4ac749b6c86405e0 Author: Jarkko Nikula Date: Wed Jun 25 14:58:47 2008 +0300 ALSA: ASoC: Add digital mic configuration to N810 machine driver Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee15ffdb140b1a4fda5f6a3a8b9994031de5edb4 Author: Jarkko Nikula Date: Wed Jun 25 14:58:46 2008 +0300 ALSA: ASoC: TLV320AIC3X: Add support for digital microphone input AIC33 and AIC34 codecs in TLV320AIC3x family support digital microphone input. When enabled, the codec ADC takes bitstream input to low-pass filter from GPIO2 instead of its own delta-sigma modulator while providing oversampling clock through GPIO1. Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 81971a14947b344ee7f6e3781f7ef36d8996f57a Author: Jarkko Nikula Date: Wed Jun 25 14:58:45 2008 +0300 ALSA: ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt Those two serial data interface control register bits have also other functions and they can be set before aic3x_set_dai_fmt is called. Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0bd72a3d49fc9fcac0202e4a2f394c7ee82af914 Author: Jarkko Nikula Date: Wed Jun 25 14:42:08 2008 +0300 ALSA: ASoC: TLV320AIC3X: Use register modifier widget for mic bias Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e2be2ccf9416bb4e0eb5f851967e79261f41d7e5 Author: Jarkko Nikula Date: Wed Jun 25 14:42:07 2008 +0300 ALSA: ASoC: Add support for generic DAPM register modifier widget This generic register modifier widget is for updating multiple codec register bits at once when the widget changes its power state. Signed-off-by: Jarkko Nikula Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a5c95e90c1baa9c1114875264bbd283526eb8377 Author: Mark Brown Date: Mon Jun 23 14:51:29 2008 +0100 ALSA: ASoC: Replace custom debug macros with pr_ equivalents Several ASoC codec drivers use custom macros equivalent to the standard pr_ macros, most of which are not actually used. Replace these custom macros with the standard ones. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 796d2ca84859d1fdb11ff06cd9707ffab5642fca Author: Richard Purdie Date: Mon Jun 23 14:51:28 2008 +0100 ALSA: ASoC: Add AK4535 driver The AK4535 codec is included in some HP iPAQ systems. This driver was originally written by Richard Purdie and with some bug fixes from Milan Plzik. While out of tree it has also had some mechanical updates for new APIs and current best practices from Liam Girdwood, Graeme Gregory and Mark Brown. Signed-off-by: Richard Purdie Signed-off-by: Milan Plzik Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 627d3e7abca30d6e86787c98dd7cbac0233bc5a9 Author: Andreas Mohr Date: Mon Jun 23 11:50:47 2008 +0200 ALSA: PCI168 snd-azt3328: some more fixups - fix problem with codec register 0x6a being write-only by adding a software shadow register (caused annoying noise after module loading due to _toggling_ between gameport and audio bits instead of configuring them properly) - rename several "Wave" mixer controls to "PCM", since this is what Wine and several other apps are looking for (IOW, _requiring_) and this is what AC97 specs use as naming, too, thus I'd guess it's what these controls are - cleanup, small optimizations Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 981bcead3f2279a1ec6fb5f2c57aff79ed61a700 Author: Pierre Ossman Date: Mon Jun 23 11:45:47 2008 +0200 ALSA: trident - pause s/pdif output Stop the S/PDIF DMA engine and output when the device is told to pause. It will keep on looping the current buffer contents if this isn't done. Signed-off-by: Pierre Ossman Tested-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1d11604eebfc91204e3182b48d3d920f51b09d40 Author: Travis Place Date: Mon Jun 23 11:42:30 2008 +0200 ALSA: hda - Added SSID for 'Fujitsu Siemens Amilo M1451G' laptop Add the SSID for the "Fujitsu Siemens Amilo M1451G" laptop to patch_realtek.c , so that it uses ALC880_FUJITSU by default. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3e0e469fa216ec70c93b1593821b759d19ee2e6b Author: Travis Place Date: Fri Jun 20 16:51:45 2008 +0200 ALSA: hda - Added model selection for iMac 24" Added the SSID of a known iMac 24" to automatically use ALC885_IMAC24 quirk. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eabe3228a80728a21f871ccc86c72c170ca1a2dc Author: Jaroslav Kysela Date: Thu Jun 26 08:51:31 2008 +0200 [ALSA] Revert "alsa: add annotations to bitwise type snd_pcm_hw_param_t" This reverts commit 36b34d2437104f323e09d7c6af6451d3c0b9c0cd. From: Al Viro WIW, *all* this stuff is not bitwise at all. For crying out loud, half of these types are routinely used as array indices and loop variables... If anything, we want a different set of allowed operations - subtraction between elements of type (yielding integer), addition/subtraction of integer types not bigger than ours (yielding our type), comparisons, assignments (=, +=, -=, passing to function as argument, return from function, initializers) and second/third arguments in ?:. With 0 *not* being allowed as a constant of such type. It's not bitwise; we may use the same infrastructure in sparse, but it should be a separate class of types (__attribute__((affine))). dma_addr_t is another candidate for the same treatment, but there we'll need helpers for conversions to hw-acceptable form (dma_to_le32(), etc.) and gradual conversion of drivers. ALSA ones and pm mess are absolutely straightforward cases, though. Signed-off-by: Jaroslav Kysela commit d14b3dd6190af7ce4f88be68f8df828af6d44584 Author: Anton Vorontsov Date: Thu Jun 12 03:42:14 2008 +0400 powerpc/QE: use arch_initcall to probe QUICC Engine GPIOs It was discussed that global arch_initcall() is preferred way to probe QE GPIOs, so let's use it. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 2308c954f55eae9f165a5a59bbdb0a0c586afe5a Author: Vitaly Bordug Date: Thu Jun 12 04:30:13 2008 +0400 powerpc/85xx: Update pin setup for 8560ads Ports B and C pins programming is changed to get SCC2 UART and FCC3 ethernet work. Signed-off-by: Vitaly Bordug Signed-off-by: Kumar Gala commit d3c511ac1d72661fcf5f9c6f0ab60b889199a542 Author: Kumar Gala Date: Thu Jun 12 08:12:49 2008 -0500 powerpc/cpm: Remove !CONFIG_PPC_CPM_NEW_BINDING code Now that arch/ppc is gone we always define CONFIG_PPC_CPM_NEW_BINDING so we can remove all the code associated with !CONFIG_PPC_CPM_NEW_BINDING. Signed-off-by: Kumar Gala commit 0b2a2e5b7747f1f63bd86ca22b5c6097da5b2137 Author: Kumar Gala Date: Thu Jun 12 08:05:09 2008 -0500 cpm_uart: Remove !CONFIG_PPC_CPM_NEW_BINDING code Now that arch/ppc is gone we always define CONFIG_PPC_CPM_NEW_BINDING so we can remove all the code associated with !CONFIG_PPC_CPM_NEW_BINDING. Signed-off-by: Kumar Gala commit 0d8440657ef184907ac5add0b59c771ee8e8a77f Author: Kumar Gala Date: Thu Jun 12 07:53:48 2008 -0500 cpm_uart: fix whitespace issues Signed-off-by: Kumar Gala commit aba11fc50c925bbd6fb25d54eae2f86277a3b107 Author: Kumar Gala Date: Thu Jun 19 09:40:31 2008 -0500 powerpc/e500mc: flush L2 on NAP for e500mc If we have an L2CSR register (e500mc) we need to flush the L2 before going to nap. We use the HW flush mechanism provided in that register. The code reuses the CPU_FTR_604_PERF_MON bit as it is no longer used by any code in the kernel. Additionally we didn't reuse the exist L2CR feature bit as this is intended for the 7xxx L2CR register and L2CSR is part of the new Freescale "Book-E" registers. Signed-off-by: Kumar Gala commit fc4033b2f8b1482022bff3d05505a1b1631bb6de Author: Kumar Gala Date: Wed Jun 18 16:26:52 2008 -0500 powerpc/85xx: add DOZE/NAP support for e500 core The e500 core enter DOZE/NAP power-saving modes when the core go to cpu_idle routine. The power management default running mode is DOZE, If the user echo 1 > /proc/sys/kernel/powersave-nap the system will change to NAP running mode. Signed-off-by: Dave Liu Signed-off-by: Kumar Gala commit e4ec7a00ed30429030112e5591cf3138645727c2 Author: Jesse Barnes Date: Wed Jun 25 16:12:25 2008 -0700 PCI: correct resource number in debug output If pci_request_region fails, make the warning include the resource number, not the resource number + 1. commit 34438ba602f9b8904aafe7559046ea68e99e88a0 Author: Bjorn Helgaas Date: Fri Jun 13 10:52:13 2008 -0600 PCIE: port driver: use dev_printk when possible Convert printks to use dev_printk(). Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 531f254e5cdadb894f04ed27107cdb34c15817ea Author: Bjorn Helgaas Date: Fri Jun 13 10:52:12 2008 -0600 PCIE: aer: use dev_printk when possible Convert printks to use dev_printk(). Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 80ccba1186d48fa728dc4b1456cc07ffb07da501 Author: Bjorn Helgaas Date: Fri Jun 13 10:52:11 2008 -0600 PCI: use dev_printk when possible Convert printks to use dev_printk(). I converted pr_debug() to dev_dbg(). Both use KERN_DEBUG and are enabled only when DEBUG is defined. I converted printk(KERN_DEBUG) to dev_printk(KERN_DEBUG), not to dev_dbg(), because dev_dbg() is only enabled when DEBUG is defined. I converted DBG(KERN_INFO) (only in setup-bus.c) to dev_info(). The DBG() name makes it sound like debug, but it's been enabled forever, so dev_info() preserves the previous behavior. I tried to make the resource assignment formats more consistent, e.g., "BAR %d: got res [%#llx-%#llx] bus [%#llx-%#llx] flags %#lx\n" instead of sometimes using "start-end" and sometimes using "size@start". I'm not attached to one or the other; I'd just like them consistent. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit b86ec7ed2877f560ff069e8ed1b433a9005619c6 Author: Kenji Kaneshige Date: Fri Jun 20 11:54:06 2008 +0900 Remove unnecessary 'tmp' variable from pci_hp_register(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 563f119080b505076429b47722fbf6374b546fa7 Author: Kenji Kaneshige Date: Fri Jun 20 12:05:52 2008 +0900 pciehp: remove inline from command related functions The pcie_poll_cmd() and pcie_wait_cmd() are too large to be inlined. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 66618bad123494beb30c0d590460e972e5b0977e Author: Kenji Kaneshige Date: Fri Jun 20 12:05:12 2008 +0900 pciehp: change command polling frequency Change command polling frequency to 100Hz from 10Hz in order to reduce the delay in the common case of a command completing quickly. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 820943b6fc4781621dee52ba026106758a727dd3 Author: Kenji Kaneshige Date: Fri Jun 20 12:04:33 2008 +0900 pciehp: cleanup pcie_poll_cmd Cleanup pcie_poll_cmd(): check the slot status once before entering our completion test loop and convert the loop to a simpler while() block. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b30dd56d1c3786fb0c4e442a58d9a2ea78eeabb9 Author: Kenji Kaneshige Date: Fri Jun 20 12:06:24 2008 +0900 pciehp: fix typo in hpc_release_ctlr Fix the typo in hpc_release_ctlr(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 65b943f630bc177b743ca05b4cb6defe8fcffa6e Author: Jesse Barnes Date: Wed Jun 25 15:27:34 2008 -0700 PCI: fixup kdoc blocks for hotplug functions A few warnings snuck in as parameters were added or renamed. Signed-off-by: Jesse Barnes commit 1839cea91e5629756dd4f87c5d70d8a18b89c0b4 Merge: e35c326... ccc5805... Author: John W. Linville Date: Wed Jun 25 15:17:58 2008 -0400 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/wireless-2.6 commit 8d5be7f4e8515af461cbc8f07687ccc81507d508 Author: Vegard Nossum Date: Wed Jun 25 08:50:10 2008 +0200 softlockup: show irqtrace This patch adds some information about when interrupts were last enabled and disabled to the output of the softlockup detector. Signed-off-by: Vegard Nossum Cc: Peter Zijlstra Cc: Johannes Weiner Cc: Arjan van de Ven Signed-off-by: Ingo Molnar commit c7e745c6de92a757ec525fbc9a74891651a5f1c6 Merge: 688c917... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 17:49:08 2008 +0200 Merge commit 'v2.6.26-rc8' into core/softlockup commit 400d34944c4ad82a817c06e570bc93b1114aa596 Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:03 2008 -0700 xen: add mechanism to extend existing multicalls Some Xen hypercalls accept an array of operations to work on. In general this is because its more efficient for the hypercall to the work all at once rather than as separate hypercalls (even batched as a multicall). This patch adds a mechanism (xen_mc_extend_args()) to allocate more argument space to the last-issued multicall, in order to extend its argument list. The user of this mechanism is xen/mmu.c, which uses it to extend the args array of mmu_update. This is particularly valuable when doing the update for a large mprotect, which goes via ptep_modify_prot_commit(), but it also manages to batch updates to pgd/pmds as well. Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit e57778a1e30470c9f5b79e370511b9af29b59c48 Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:02 2008 -0700 xen: implement ptep_modify_prot_start/commit Xen has a pte update function which will update a pte while preserving its accessed and dirty bits. This means that ptep_modify_prot_start() can be implemented as a simple read of the pte value. The hardware may update the pte in the meantime, but ptep_modify_prot_commit() updates it while preserving any changes that may have happened in the meantime. The updates in ptep_modify_prot_commit() are batched if we're currently in lazy mmu mode. The mmu_update hypercall can take a batch of updates to perform, but this code doesn't make particular use of that feature, in favour of using generic multicall batching to get them all into the hypervisor. The net effect of this is that each mprotect pte update turns from two expensive trap-and-emulate faults into they hypervisor into a single hypercall whose cost is amortized in a batched multicall. Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 08b882c627aeeeb3cfd3c4354f0d360d7949549d Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:01 2008 -0700 paravirt: add hooks for ptep_modify_prot_start/commit This patch adds paravirt-ops hooks in pv_mmu_ops for ptep_modify_prot_start and ptep_modify_prot_commit. This allows the hypervisor-specific backends to implement these in some more efficient way. Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 1ea0704e0da65b2b46f9142ff1391163aac24060 Author: Jeremy Fitzhardinge Date: Mon Jun 16 04:30:00 2008 -0700 mm: add a ptep_modify_prot transaction abstraction This patch adds an API for doing read-modify-write updates to a pte's protection bits which may race against hardware updates to the pte. After reading the pte, the hardware may asynchonously set the accessed or dirty bits on a pte, which would be lost when writing back the modified pte value. The existing technique to handle this race is to use ptep_get_and_clear() atomically fetch the old pte value and clear it in memory. This has the effect of marking the pte as non-present, which will prevent the hardware from updating its state. When the new value is written back, the pte will be present again, and the hardware can resume updating the access/dirty flags. When running in a virtualized environment, pagetable updates are relatively expensive, since they generally involve some trap into the hypervisor. To mitigate the cost of these updates, we tend to batch them. However, because of the atomic nature of ptep_get_and_clear(), it is inherently non-batchable. This new interface allows batching by giving the underlying implementation enough information to open a transaction between the read and write phases: ptep_modify_prot_start() returns the current pte value, and puts the pte entry into a state where either the hardware will not update the pte, or if it does, the updates will be preserved on commit. ptep_modify_prot_commit() writes back the updated pte, makes sure that any hardware updates made since ptep_modify_prot_start() are preserved. ptep_modify_prot_start() and _commit() must be exactly paired, and used while holding the appropriate pte lock. They do not protect against other software updates of the pte in any way. The current implementations of ptep_modify_prot_start and _commit are functionally unchanged from before: _start() uses ptep_get_and_clear() fetch the pte and zero the entry, preventing any hardware updates. _commit() simply writes the new pte value back knowing that the hardware has not updated the pte in the meantime. The only current user of this interface is mprotect Signed-off-by: Jeremy Fitzhardinge Acked-by: Linus Torvalds Acked-by: Hugh Dickins Signed-off-by: Ingo Molnar commit f6477cc76c73833a56e97f1fafc36a7ca92927e5 Merge: fd2c17e... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:36:55 2008 +0200 Merge branch 'linus' into x86/timers commit 8700600a74852d75eb965b969dcf9f58e2b32546 Merge: b8e0418... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:31:28 2008 +0200 Merge branch 'linus' into x86/nmi commit 607baf1f4ef94637ab0f7d0e258932851dc5c0a2 Merge: 064a32d... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:31:14 2008 +0200 Merge branch 'linus' into x86/memtest commit 0ed368c71aa65cba8d349432bd4dab4a9a2eb39c Merge: 7aaaec3... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:54 2008 +0200 Merge branch 'linus' into x86/kconfig commit cbd6712406a3ea861b49fbfd46e23cbf5f8e073f Merge: d939d28... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:49 2008 +0200 Merge branch 'linus' into x86/irq commit 48cf937f48f68bd1e61f37c6357dbff5adb95532 Merge: fce3966... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:33 2008 +0200 Merge branch 'linus' into x86/i8259 commit 037a6079eb925f7653bddf1501f777abcd4fc91e Merge: 0754557... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:26 2008 +0200 Merge branch 'linus' into x86/gart commit 8b7ef4ec5b1ac8b6feebf5ae9cda85a7514728f8 Merge: a1d5a86... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:21 2008 +0200 Merge branch 'linus' into x86/fixmap commit 28f73e51d0f64a5b896ad816ab8df6f3bcec5810 Merge: f3f3149... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:30:10 2008 +0200 Merge branch 'linus' into x86/delay Conflicts: arch/x86/kernel/tsc_32.c Signed-off-by: Ingo Molnar commit 1262b0088f3c1928c0487d4074c6cda11a8b78c6 Merge: 378fc6e... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:29:32 2008 +0200 Merge branch 'linus' into x86/cleanups commit 37f5d732f34fa099676b2c52b8a57bab01a011de Merge: ed9e499... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:29:02 2008 +0200 Merge branch 'linus' into tracing/sysprof commit f4628e644c34d9e6242ea18487b2ed58ee04e3eb Merge: cb9aa97... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:28:47 2008 +0200 Merge branch 'linus' into tracing/mmiotrace-mergefixups commit 97e6722b8d6b5880c4d5751127d5083b1b7df27d Merge: f22f9a8... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:27:56 2008 +0200 Merge branch 'linus' into tracing/ftrace commit 773dc8eacaedb2e8c8d0defb5de2c66ea7dc4a08 Merge: 961ccdd... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:27:05 2008 +0200 Merge branch 'linus' into sched/new-API-sched_setscheduler commit f57aec5a871907427060196f6bac3d0011b38450 Merge: 1de8644... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:26:59 2008 +0200 Merge branch 'linus' into sched/devel Conflicts: kernel/sched_rt.c Signed-off-by: Ingo Molnar commit ace7f1b79670aa0c1d9f4b0442be82e565827333 Merge: a60b33c... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:23:59 2008 +0200 Merge branch 'linus' into core/softirq commit d02859ecb321c8c0f74cb9bbe3f51a59e58822b0 Merge: a987b16... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:16:51 2008 +0200 Merge commit 'v2.6.26-rc8' into x86/xen Conflicts: arch/x86/xen/enlighten.c arch/x86/xen/mmu.c Signed-off-by: Ingo Molnar commit fc68911ee379bff429c2f8dfc0a4d3277eb193ec Author: Mike Frysinger Date: Wed Jun 25 11:41:42 2008 +0800 Blackfin arch: use the generic platform nand driver to support nand flash on bf53x board which do not have on-chip nand flash controller Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 177db6ffd0599430a2ab63045e88fc4031f42420 Author: Mallikarjuna R Chilakala Date: Wed Jun 18 15:32:19 2008 -0700 ixgbe: add LRO support Support for in-kernel LRO with the ability to enable/disable via ethtool based on comments from Ben Hutchings. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: PJ Waskiewicz Signed-off-by: Jeff Garzik commit 8f85cd7fefa3d01c4e05aac1cb198733336cf44b Author: Divy Le Ray Date: Mon Jun 23 11:02:59 2008 -0700 cxgb3 - add missing adapter type for RDMA T3C added support is now reflected to the RDMA driver. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 78a655181409d9d0f2b730ccb897c18794826495 Author: Grant Grundler Date: Thu Jun 5 00:38:55 2008 -0600 drivers/net/tulip: update first comment in tulip files Three basic changes to the comments at the top of each file: 1) remove stale "Maintained by" line...I prefer people look in MAINTAINERS. 2) Drop reference to stale sf.net/tulip website (I didn't see anything of value there) 3) Point people at bugzilla.kernel.org to submit bugs...will always get tracked regardless of who the maintainer is. Signed-off-by: Grant Grundler Acked-by-stale-maintainer: Jeff Garzik Signed-off-by: Jeff Garzik commit 2bdf06c047d0bf7baa629b9074086e5338bd2b60 Author: Ben Dooks Date: Tue Jun 24 22:16:08 2008 +0100 DM9000: Add documentation for the driver. Add Documentation/networking/dm9000.txt for the DM9000 network driver. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 6ff4ff06d2b6e4cfd4767ef03675cd3c7c70eaa0 Author: Ben Dooks Date: Tue Jun 24 22:16:07 2008 +0100 DM9000: Remove DEFAULT_TRIGGER for request_irq() flags. Currently all but one user (AT91SAM9261EK) of the dm9000 driver passes their IRQ flags through the resources attached to the platform device. This means we can remove the use of DEFAULT_TRIGGER as the blackfin machines all seem to have their triggers set properly. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 485ca22a10b3d3a4d156e170a541b8c3a5144f8c Author: Ben Dooks Date: Tue Jun 24 22:16:06 2008 +0100 DM9000: Re-unite menuconfig entries for DM9000 driver The ENC28J60 driver ended up adding itself inbetween the two DM9000 Kconfig entries, so re-unite the two together. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 2fcf06ca67d1cd5fcf748b3f70ef9e724951fab4 Author: Ben Dooks Date: Tue Jun 24 22:16:05 2008 +0100 DM9000: Add missing msleep() in EEPROM wait code. The msleep() call in the code that checks for the EEPROM controller's busy status was missing. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit f8dd0ecbb74d4b220b105d77c0633945ebb5453e Author: Ben Dooks Date: Tue Jun 24 22:16:04 2008 +0100 DM9000: Allow the use of the NSR register to get link status. The DM9000's internal PHY reports a copy of the link status in the NSR register of the chip. Reading the status when polling for link status is faster as it eliminates the need to sleep, but does not print as much information. Add an platform flag to force this behaviour, and a Kconfig option to allow it to be forced to the faster method always. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit aa1eb452e8d8a97ee65ace0054e7a733ae12cf6d Author: Ben Dooks Date: Tue Jun 24 22:16:03 2008 +0100 DM9000: Use NSR to determine link-status on internal PHY The DM9000_NSR register contains a copy of the internal PHY's link status which we can use to determine if the link is up or down. This eliminates the more costly (and sleeping) PHY read when using the DM9000's own PHY. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit f8d79e79a1700fdcf26a1dfcaefad905b1279600 Author: Ben Dooks Date: Tue Jun 24 22:16:02 2008 +0100 DM9000: Cleanup source code - remove forward declerations Cleanup the source code by moving the code around to avoid having to declare the functions before they are used. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 59eae1fa3ba19be35f09b37e73d90ac5028996fe Author: Ben Dooks Date: Tue Jun 24 22:16:01 2008 +0100 DM9000: Cleanup source code Cleanup bits of the DM9000 driver to make the code neater and easier to read. This is includes removing some old definitions, re-indenting areas, etc. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 9088fa4fa2f0b10bf4d9a17381a5ec3485751cb7 Author: Ben Dooks Date: Tue Jun 24 22:16:00 2008 +0100 DM9000: Cleanups after the resource changes Remove the now extraneous checks in dm9000_release_board() now that the two-resource case is removed. Also remove the check on pdev->num_resources, as we check the return data from platform_get_resource() to ensure we have not only the right number but the right type of resources as well. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 6d406b3c76b369a7b043470719761aa6ee1a38d1 Author: Ben Dooks Date: Tue Jun 24 22:15:59 2008 +0100 DM9000: Add support for DM9000A and DM9000B chips Add support for both the DM9000A and DM9000B versions of the DM9000 networking chip. This includes adding support for the Link-Change IRQ which is used instead of polling the PHY every 2 seconds. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit da3854fc9f80c0240ba7cadd2aebf036683ff21b Author: Laurent Pinchart Date: Tue Jun 24 22:15:58 2008 +0100 DM9000: Fixup blackfin after removing 2 resource usage The dm9000 driver accepts either 2 or 3 resources to describe the platform devices. The 2 resources case abuses the ioresource mechanism by passing ioremap()ed memory through the platform device resources. This patch removes converts boards that were using it to the 3 resources scheme. CC: Bryan Wu Signed-off-by: Ben Dooks Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit 08c3f57caa16b231f6627889cb43581c020f566a Author: Laurent Pinchart Date: Tue Jun 24 22:15:57 2008 +0100 DM9000: Remove the 2 resources probe scheme. The dm9000 driver accepts either 2 or 3 resources to describe the platform devices. The 2 resources case abuses the ioresource mechanism by passing ioremap()ed memory through the platform device resources. This patch removes that case and converts boards that were using it to the 3 resources scheme. Signed-off-by: Ben Dooks Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit 378fc6eedc0091cc5ba65b298b8967bd2d43df5d Author: WANG Cong Date: Tue Jun 24 16:21:18 2008 +0100 x86: arch/x86/kernel/machine_kexec_32.c: remove extra semicolons I can't see any reason to keep these semicolons. Signed-off-by: WANG Cong Signed-off-by: Ingo Molnar commit feda4f2c190f4efc101857935db0917ff3e4e23d Author: Dominik Brodowski Date: Tue Jun 24 15:45:55 2008 +0200 pcmcia: allow for longer CIS firmware files Don't be more zealous with memory than the firmware class core. Signed-off-by: Dominik Brodowski commit 8b5332f6994e34f2b400b25975760da709bbaa63 Author: Jonathan Corbet Date: Thu Jun 19 14:34:41 2008 -0600 pcmcia: cm40x0 cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet Signed-off-by: Dominik Brodowski commit 4aeba0134f1e54cfd881e118b039ab6ed8b99126 Author: Dominik Brodowski Date: Fri Jun 20 13:24:31 2008 +0200 pcmcia: (re)move {pcmcia,pccard}_get_status Except for one debug message in a driver marked BROKEN, pcmcia_get_status is only used by the ioctl. Therefore, move it to pcmcia_ioctl.c and unexport it. Signed-off-by: Dominik Brodowski commit 6351a71cfae2839cf6e63329d3d85eb46a4bc2c7 Author: Adrian Bunk Date: Thu Apr 17 12:36:54 2008 +0300 pcmcia: kill IN_CARD_SERVICES IN_CARD_SERVICES was #define'd but not used, so let's remove it. Signed-off-by: Adrian Bunk Signed-off-by: Dominik Brodowski commit b453917ac45d6077955c096d8d5503754b0c13b4 Author: Magnus Damm Date: Wed Dec 13 15:36:13 2006 +0900 pcmcia: Remove unused header file code pcmcia: Remove unused header file code Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit ae49ec9258b1ba0456f5d2e9024d0e4742a0188b Author: Magnus Damm Date: Thu Jun 19 20:49:41 2008 +0200 pcmcia: remove unused bulkmem.h The code in include/pcmcia/bulkmem.h was only kept for compatibility reasons. Therefore, move the remaining region_info_t definition to ds.h [linux@dominikbrodowski.net: do not modify the IOCTL, move definition to ds.h, and update changelog] Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit c5081d5f4775b2a3f858f91151bbf9163e473075 Author: Dominik Brodowski Date: Thu Jun 19 20:12:34 2008 +0200 pcmcia: simplify pccard_validate_cis As cisinfo_t only contains one unsigned_int, pccard_validate_cis can be simplified by passing that around directly. Signed-off-by: Dominik Brodowski commit c502380170ee93fd1f4028cc1f32efc87fde7376 Author: Dominik Brodowski Date: Thu Jun 19 19:02:52 2008 +0200 pcmcia: carve out ioctl adjust function to pcmcia_ioctl Let pcmcia_ioctl interact with rsrc_nonstatic using functions which rsrc_nonstatic.c has to use anyway. Signed-off-by: Dominik Brodowski commit 635416ef393e8cec5a89fc6c1de710ee9596a51e Author: Alan Cox Date: Mon Jun 16 14:35:15 2008 +0200 pcmcia: irq probe can be done without risking an IRQ storm Nowdays you can ask for an IRQ to be allocated but not enabled, when PCMCIA was written this was not true and this feature is thus not used [linux@dominikbrodowski.net: add comment and ifdef to avoid compilation breakage at least on alpha] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 05f43d48ddbda0ce74941aff4711a1829116cc4f Author: Alex Harford Date: Sun Jun 15 10:34:25 2008 -0700 pcmcia: Fix ti12xx_2nd_slot_empty always failing For TI 1520 and others, ti12xx_2nd_slot_empty was reading card detect from the wrong slot, and always failing. Signed-off-by: Alex Harford Signed-off-by: Dominik Brodowski commit c1ac02280d76de7aba8a9d43638d0f7d1fd0f820 Author: Dominik Brodowski Date: Sat Jun 14 18:51:06 2008 +0200 pcmcia: check for pointer instead of pointer address Bug noted by Michael Buesch: checking for the pointer address is always true. This didn't matter much, for the very first check in pcmcia_release_window() was for the pointer pointing to something, and the return value is ignored here. Nonetheless, fix it. CC: Michael Buesch Signed-off-by: Dominik Brodowski commit 4cf974c57633e70a8d48f9d40e41cf192c6e062c Author: Alan Cox Date: Sat Jun 14 16:01:57 2008 +0200 pcmcia: switch cm4000_cs.c to unlocked_ioctl Push the BKL down and use unlocked_ioctl. Signed-off-by: Alan Cox Cc: Harald Welte Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 7d5789616dd3090fe8486fbb849da3e9d9f36bb9 Author: David Brownell Date: Thu Jun 12 12:13:55 2008 -0700 pcmcia: simplify rsrc_nonstatic attributes Simplify sysfs attribute registration for sockets without static resource mappings by using an attribute_group. This shrinks object size a bit: use loops in sysfs code, but have more data. Signed-off-by: David Brownell Signed-off-by: Dominik Brodowski commit 785e821eb679c171f453722f15c6791de0c1abe1 Author: Michael Hennerich Date: Wed Jun 11 09:06:16 2008 +0200 pcmcia: add support CompactFlash PCMCIA support for Blackfin. A new host driver to add CompactFlash PCMCIA support for Blackfin. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 0478cf269974e0c7d98f5c5eed815ffb958ddee6 Author: Dominik Brodowski Date: Thu May 29 10:42:16 2008 +0200 pcmcia: remove version.h pcmcia/version.h is empty and its existence is not even needed by deprecated userspace tools. CC: David Sterba Signed-off-by: Jiri Kosina Signed-off-by: Dominik Brodowski commit 0b402094199762dde81bee8c32d323cf52f2c6e7 Author: Christoph Hellwig Date: Sun Apr 22 13:55:36 2007 +0100 pcmcia: cs: kill thread_wait There is not reason to have a waitqueue if it's always the same thread that is waiting for it. Just use wake_up_process instead. Signed-off-by: Christoph Hellwig Small modification: Also remove unused variable. Signed-off-by: Dominik Brodowski commit 2df697036ba69ea99b73a2dbf82dcc8fec62d4ab Author: Leonardo Potenza Date: Tue Apr 1 23:47:09 2008 +0200 pcmcia: i82365.c: check request_irq return value Add a check for the request_irq() return value. Signed-off-by: Leonardo Potenza Signed-off-by: Dominik Brodowski commit b3363997a62d67f76f388c629673094935209d16 Author: Sergei Shtylyov Date: Mon Apr 14 17:27:30 2008 +0400 pcmcia: fix Alchemy warnings Fix the following warnings: drivers/pcmcia/au1000_generic.c: In function `au1x00_pcmcia_socket_probe': drivers/pcmcia/au1000_generic.c:405: warning: integer constant is too large for "long" type drivers/pcmcia/au1000_generic.c:413: warning: integer constant is too large for "long" type by properly postfixing the socket constants. While at it, fix the lines over 80 characters long in the vicinity... Signed-off-by: Sergei Shtylyov Acked-by: Ralf Baechle Signed-off-by: Dominik Brodowski commit f36fe2b90fe93e2f586b24f42413bf8cfad8f626 Author: Adrian Bunk Date: Tue May 20 01:02:40 2008 +0300 pcmcia: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Dominik Brodowski commit 14540c6dfd8d342a5e897da8763a77a145e40acd Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jan 30 15:28:16 2008 +0100 pcmcia: yenta-cardbus: ENE_TEST_C9_PFENABLE duplicate *_F0 The test only makes sense if we check for _F0 and _F1. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> CC: Daniel Ritz Signed-off-by: Dominik Brodowski commit cbba0de2f8e4d9bef521d092711a3c8625f7791b Author: Magnus Damm Date: Wed Dec 13 15:40:18 2006 +0900 pcmcia: Update email address for m8xx driver author Update the m8xx driver's author email address. Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit b664d6bbeeddc77b93f5fea16006b428054f1cd1 Author: Robert Richter Date: Tue Jun 24 12:31:05 2008 +0200 x86: add X86_FEATURE_IBS cpu feature This adds IBS to the cpu feature flags allowing Perfmon and OProfile to use cpu_has(). Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit f3f3149f35b9195ef4b761b1353fc0766b5f53be Author: Alok Kataria Date: Mon Jun 23 18:21:56 2008 -0700 x86: use cpu_khz for loops_per_jiffy calculation, cleanup As suggested by Ingo, remove all references to tsc from init/calibrate.c TSC is x86 specific, and using tsc in variable names in a generic file should be avoided. lpj_tsc is now called lpj_fine, since it is related to fine tuning of lpj value. Also tsc_rate_* is called timer_rate_* Signed-off-by: Alok N Kataria Cc: Arjan van de Ven Cc: Daniel Hecht Cc: Tim Mann Cc: Zach Amsden Cc: Sahil Rihan Signed-off-by: Ingo Molnar commit 93e1ade5382206d597e9d6de2d1383e69f54d064 Author: Vegard Nossum Date: Sun Jun 22 09:40:18 2008 +0200 x86/oprofile: disable preemption in nmi_shutdown fix: BUG: using smp_processor_id() in preemptible [00000000] code: oprofiled/27301 caller is nmi_shutdown+0x11/0x60 Pid: 27301, comm: oprofiled Not tainted 2.6.26-rc7 #25 [] debug_smp_processor_id+0xbd/0xc0 [] nmi_shutdown+0x11/0x60 [] oprofile_shutdown+0x2a/0x60 Note that we don't need this for the other functions, since they are all called with on_each_cpu() (which disables preemption for us anyway). Signed-off-by: Vegard Nossum Cc: Philippe Elie Cc: oprofile-list@lists.sf.net Cc: Johannes Weiner Signed-off-by: Ingo Molnar commit a033c332e047397904ed74816946b2edd9b0d5cd Author: Li Zefan Date: Mon Jun 23 10:52:42 2008 +0800 lockdep: remove duplicate definition of STATIC_LOCKDEP_MAP_INIT STATIC_LOCKDEP_MAP_INIT is defined twice in lockdep.h. I guess it's a copy & paste. Signed-off-by: Li Zefan Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3ccf79f4570acacfefc51772e8f9207895b35ad7 Author: Paul E. McKenney Date: Sun Jun 22 14:02:55 2008 -0700 rcu: make quiescent rcutorture less power-hungry This patch aligns the rcutorture wakeup times to align with all other multiple-of-a-second wakeups to further decrease power consumption. Suggested-by: Arjan van de Ven Signed-off-by: Paul E. McKenney Cc: josh@freedesktop.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: dino@in.ibm.com Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: vegard.nossum@gmail.com Cc: adobriyan@gmail.com Cc: oleg@tv-sign.ru Cc: bunk@kernel.org Cc: rjw@sisk.pl Signed-off-by: Ingo Molnar commit e3d7be270c5b1be07ffadcc8b56599ad8e975c1d Author: Paul E. McKenney Date: Sun Jun 22 13:06:38 2008 -0700 rcu, rcutorture: make quiescent rcutorture less power-hungry Signed-off-by: Paul E. McKenney Cc: josh@freedesktop.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: dino@in.ibm.com Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: vegard.nossum@gmail.com Cc: adobriyan@gmail.com Cc: oleg@tv-sign.ru Cc: bunk@kernel.org Cc: rjw@sisk.pl Signed-off-by: Ingo Molnar commit 33af9039cbf629041da2bfa0cf451208391a1ec3 Author: Andreas Herrmann Date: Fri Jun 20 22:08:37 2008 +0200 x86: pat.c final cleanup of loop body in reserve_memtype Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 64fe44c38bbdfab4fe052029058ce5fe9804de68 Author: Andreas Herrmann Date: Fri Jun 20 22:07:09 2008 +0200 x86: pat.c introduce function to check for conflicts with existing memtypes ... to strip down loop body in reserve_memtype. Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit f6887264deba4cd991f0ca006918dcff4c939021 Author: Andreas Herrmann Date: Fri Jun 20 22:05:37 2008 +0200 x86: pat.c consolidate list_add handling in reserve_memtype Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 3e9c83b309fd7cbf1d9b801d0d5877c040e30420 Author: Andreas Herrmann Date: Fri Jun 20 22:04:02 2008 +0200 x86: pat.c consolidate error/debug messages in reserve_memtype ... and move last debug message out of locked section. Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 69e26be9b1d0c83d3581475095ce2a1ccc578215 Author: Andreas Herrmann Date: Fri Jun 20 22:03:06 2008 +0200 x86: pat.c more trivial changes - add BUG statement to catch invalid start and end parameters - No need to track the actual type in both req_type and actual_type -- keep req_type unchanged. - removed (IMHO) superfluous comments Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit ac97991ec9e0a05c8860f4a04f8477227b1c03f2 Author: Andreas Herrmann Date: Fri Jun 20 22:01:49 2008 +0200 x86: pat.c choose more crisp variable names - parse/ml => entry (within list_for_each and friends) - new_entry => new - ret_type => new_type (to avoid confusion with req_type) (... to make it more readable...) Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit bcc643dc287cb732e96a1685ac130c3ae8b1c960 Author: Andreas Herrmann Date: Fri Jun 20 21:58:46 2008 +0200 x86: introduce macro to check whether an address range is in the ISA range Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Signed-off-by: Ingo Molnar commit 6ff10de374cc68ff2024247793176dc8a1b317ea Author: Ingo Molnar Date: Tue Jun 24 01:19:49 2008 +0200 x86: fix "x86: use cpu_khz for loops_per_jiffy calculation" fix: arch/x86/kernel/tsc_32.c: In function ‘tsc_init': arch/x86/kernel/tsc_32.c:421: error: ‘lpj_tsc' undeclared (first use in this function) arch/x86/kernel/tsc_32.c:421: error: (Each undeclared identifier is reported only once arch/x86/kernel/tsc_32.c:421: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit e35c3269edba151e1c703d87068a28ce2cd65bb0 Author: Eilon Greenstein Date: Mon Jun 23 20:36:51 2008 -0700 bnx2x: Update version Updating to version 1.45.6 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 493adb1fee89eaad4f6cb1018ef4c48fccd79ab5 Author: Wendy Xiong Date: Mon Jun 23 20:36:22 2008 -0700 bnx2x: Add PCIE EEH support Add PCI recovery functions to the driver. The initial PCI state is also saved so the MSI state can be restored during PCI recovery. Signed-off-by: Wendy Xiong Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f3c87cddfe3fa667f31a9c03a2eec0f3ae1b4bb3 Author: Yitchak Gertner Date: Mon Jun 23 20:35:51 2008 -0700 bnx2x: Enhanced self test Added registers, memories, loopback, nvram, interrupt and link tests to the self-test Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 755735eb3494630800f337eae33b92bab363f112 Author: Eilon Greenstein Date: Mon Jun 23 20:35:13 2008 -0700 bnx2x: Re-factor Tx code Add support for IPv6 TSO Re-factor the Tx code with smaller functions to increase readability. Add linearization code in case packet is too fragmented for the microcode to handle. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7a9b25577c8a06d998fb11b28bf8229aa9623205 Author: Vladislav Zolotarov Date: Mon Jun 23 20:34:36 2008 -0700 bnx2x: Add TPA, Broadcoms HW LRO The TPA stands for Transparent Packet Aggregation. When enabled, the FW aggregate in-order TCP packets according to the 4-tuple match and sends 1 big packet to the driver. This packet is stored on an SGL in which each SGE is 1 page. The FW also implements a timeout algorithm and it honors all TCP flag, including the push flag as a trigger to halt aggregation. After receiving Ben Hutchings comments, we also added ethtool support, so now, thanks to Ben's patch, when forwarding is enabled, our aggregation is turned off using the LRO flags. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit bb2a0f7ae477740d947b442f640a5d10b51025c0 Author: Yitchak Gertner Date: Mon Jun 23 20:33:36 2008 -0700 bnx2x: New statistics code To avoid race conditions with link up/down and driver up/down - the statistics handling was re-written in a form of state machine. Also supporting statistics for 57711 Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 34f80b04f325078ff21123579343d99756ad8d0e Author: Eilon Greenstein Date: Mon Jun 23 20:33:01 2008 -0700 bnx2x: Add support for BCM57711 HW Supporting the 57711 and 57711E - refers to in the code as E1H. The 57710 is referred to as E1. To support the new members in the family, the bnx2x structure was divided to 3 parts: common, port and function. These changes caused some rearrangement in the bnx2x.h file. A set of accessories macros were added to make access to the bnx2x structure more readable Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e523287e8edad79b4e5753f98dcf8f75cabd3963 Author: Eilon Greenstein Date: Mon Jun 23 20:32:28 2008 -0700 bnx2x: New microcode part 3/3 The new Microcode BLOB - broken into a separate patch to make it small enough for the mailing list Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 299133cf739c8e5aca4ee7dff3c5673f380f5c2e Author: Eilon Greenstein Date: Mon Jun 23 20:32:04 2008 -0700 bnx2x: New microcode part 2/3 The new Microcode BLOB - broken into a separate patch to make it small enough for the mailing list Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 74bc8ebcfd56a1ea01d855d9eebc2533cef66f19 Author: Eilon Greenstein Date: Mon Jun 23 20:31:40 2008 -0700 bnx2x: New microcode part 1/3 The new Microcode BLOB - broken into a separate patch to make it small enough for the mailing list Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 523cb50b265360e87152382ea0984b624e4f7d29 Author: Eilon Greenstein Date: Mon Jun 23 20:30:11 2008 -0700 bnx2x: Remove old microcode Removing the old Microcode from the BLOB - broken into a separate patch to make it small enough for the mailing list Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ad8d394804b355bc623decc50748cd01dbc0783b Author: Eilon Greenstein Date: Mon Jun 23 20:29:02 2008 -0700 bnx2x: New init infrastructure This new initialization code supports the 57711 HW. It also supports the emulation and FPGA for the 57711 and 57710 initializations values (very small amount of code which is very helpful in the lab - less than 30 lines). The initialization is done via DMAE after the DMAE block is ready - before it is ready, some of the initialization is done via PCI configuration transactions (referred to as indirect write). A mutex to protect the DMAE from being overlapped was added. There are few new registers which needs to be initialized by SW - the full comment for those registers is added to the register file. A place holder for the 57711 (referred to as E1H) microcode was added- the microcode itself is too big and it is split over the following 4 patches Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c18487ee24381b40df3b8b4f54dd13ee9367a1ce Author: Yaniv Rosner Date: Mon Jun 23 20:27:52 2008 -0700 bnx2x: New link code New Link code: Moving all the link related code (including the calculations, the initialization of the MAC and PHY and the external PHY's code) into a separated file. The changes from the code that used to be part of bnx2x.c (now called bnx2x_main.c) are: - Using separate structures for link inputs and link outputs to clearly identify what was configured and what is the outcome - Adding code to read external PHY FW version and print it as part of ethtool -i - Adding code to upgrade external PHY FW from ethtool -E with special magic number - Changing the link down indication to ERR level - Adding a lock on all PHY access to prevent an interrupt and setting changes to overlap - Adding support for emulation and FPGA (small chunk of code that really helps in the lab) - Adding support for 1G on BCM8706 PHY - Adding clear debug print incase of fan failure (the PHY type is now "failure") Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ea4e040abc72f2dbbfdd8d04e271a18593ba72c7 Author: Yaniv Rosner Date: Mon Jun 23 20:27:26 2008 -0700 bnx2x: Adding bnx2x_link This patch is int the new bnx2x_link files (C and H). The files are still not used in this patch, only in the next one so the patch will be small enough for the mailing list. Signed-off-by: Yaniv Rosner Signed-off-by: Eilong Greenstein Signed-off-by: David S. Miller commit 23bd462b6dd8b9d6ee2540a491e432c09dfcff4a Author: Eilon Greenstein Date: Mon Jun 23 20:24:56 2008 -0700 bnx2x: Rename bnx2x.c to bnx2x_main.c This patch is the rename of bnx2x.c to bnx2x_main.c. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit cd1a28e8457e6ebf72c48d84d4e736307e86436e Author: Huang, Ying Date: Mon Jun 23 11:20:54 2008 +0800 lockdep: add lock_class information to lock_chain and output it It is based on x86/master branch of git-x86 tree, and has been tested on x86_64 platform. ChangeLog: v2: - Enclosing proc file system related code into CONFIG_PROVE_LOCKING. - Fix nr_chain_hlocks update code. Signed-off-by: Huang Ying Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 961ccddd59d627b89bd3dc284b6517833bbdf25d Author: Rusty Russell Date: Mon Jun 23 13:55:38 2008 +1000 sched: add new API sched_setscheduler_nocheck: add a flag to control access checks Hidehiro Kawai noticed that sched_setscheduler() can fail in stop_machine: it calls sched_setscheduler() from insmod, which can have CAP_SYS_MODULE without CAP_SYS_NICE. Two cases could have failed, so are changed to sched_setscheduler_nocheck: kernel/softirq.c:cpu_callback() - CPU hotplug callback kernel/stop_machine.c:__stop_machine_run() - Called from various places, including modprobe() Signed-off-by: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Hidehiro Kawai Cc: Andrew Morton Cc: linux-mm@kvack.org Cc: sugita Cc: Satoshi OSHIMA Signed-off-by: Ingo Molnar commit 3da757daf86e498872855f0b5e101f763ba79499 Author: Alok Kataria Date: Fri Jun 20 15:06:33 2008 -0700 x86: use cpu_khz for loops_per_jiffy calculation On the x86 platform we can use the value of tsc_khz computed during tsc calibration to calculate the loops_per_jiffy value. Its very important to keep the error in lpj values to minimum as any error in that may result in kernel panic in check_timer. In virtualization environment, On a highly overloaded host the guest delay calibration may sometimes result in errors beyond the ~50% that timer_irq_works can handle, resulting in the guest panicking. Does some formating changes to lpj_setup code to now have a single printk to print the bogomips value. We do this only for the boot processor because the AP's can have different base frequencies or the BIOS might boot a AP at a different frequency. Signed-off-by: Alok N Kataria Cc: Arjan van de Ven Cc: Daniel Hecht Cc: Tim Mann Cc: Zach Amsden Cc: Sahil Rihan Signed-off-by: Ingo Molnar commit f22f9a89ce6857d377bf22dba4c1a8cd256c5136 Author: Abhishek Sagar Date: Sat Jun 21 23:50:29 2008 +0530 ftrace: avoid modifying kprobe'd records Avoid modifying the mcount call-site if there is a kprobe installed on it. These records are not marked as failed however. This allowed the filter rules on them to remain up-to-date. Whenever the kprobe on the corresponding record is removed, the record gets updated as normal. Signed-off-by: Abhishek Sagar Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit ecea656d1d5e912d2f3d332657ea4a6d8380f891 Author: Abhishek Sagar Date: Sat Jun 21 23:47:53 2008 +0530 ftrace: freeze kprobe'd records Let records identified as being kprobe'd be marked as "frozen". The trouble with records which have a kprobe installed on their mcount call-site is that they don't get updated. So if such a function which is currently being traced gets its tracing disabled due to a new filter rule (or because it was added to the notrace list) then it won't be updated and continue being traced. This patch allows scanning of all frozen records during tracing to check if they should be traced. Signed-off-by: Abhishek Sagar Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 785656a41f9a9c0e843a23d1ae05d900b5158f8f Author: Abhishek Sagar Date: Sat Jun 21 23:47:39 2008 +0530 kprobes: enable clean usage of get_kprobe Allow clean use of get_kprobe() outside of core kprobe code. Ftrace makes use of get_kprobe to identify probes installed on mcount call-sites. Signed-off-by: Abhishek Sagar Acked-by: Ananth N Mavinakayanahalli Cc: Masami Hiramatsu Cc: jkenisto@us.ibm.com Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 395a59d0f8e86bb39cd700c3d185d30c670bb958 Author: Abhishek Sagar Date: Sat Jun 21 23:47:27 2008 +0530 ftrace: store mcount address in rec->ip Record the address of the mcount call-site. Currently all archs except sparc64 record the address of the instruction following the mcount call-site. Some general cleanups are entailed. Storing mcount addresses in rec->ip enables looking them up in the kprobe hash table later on to check if they're kprobe'd. Signed-off-by: Abhishek Sagar Cc: davem@davemloft.net Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 863a24882ed0a57ff25daaf39885f3a47b706e4b Author: Kevin Coffman Date: Wed Apr 30 12:46:08 2008 -0400 gss_krb5: Use random value to initialize confounder Initialize the value used for the confounder to a random value rather than starting from zero. Allow for confounders of length 8 or 16 (which will be needed for AES). Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit db8add57898751b9c0ff93ead25f20d21da5ddd0 Author: Kevin Coffman Date: Wed Apr 30 12:45:58 2008 -0400 gss_krb5: move gss_krb5_crypto into the krb5 module The gss_krb5_crypto.o object belongs in the rpcsec_gss_krb5 module. Also, there is no need to export symbols from gss_krb5_crypto.c Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit d00953a53e9a2edbe005c1e596f1e96a8a293401 Author: Kevin Coffman Date: Wed Apr 30 12:45:53 2008 -0400 gss_krb5: create a define for token header size and clean up ptr location cleanup: Document token header size with a #define instead of open-coding it. Don't needlessly increment "ptr" past the beginning of the header which makes the values passed to functions more understandable and eliminates the need for extra "krb5_hdr" pointer. Clean up some intersecting white-space issues flagged by checkpatch.pl. This leaves the checksum length hard-coded at 8 for DES. A later patch cleans that up. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 8837abcab3d16608bd2c7fac051a839d48f2f30c Author: Miklos Szeredi Date: Mon Jun 16 13:20:29 2008 +0200 nfsd: rename MAY_ flags Rename nfsd_permission() specific MAY_* flags to NFSD_MAY_* to make it clear, that these are not used outside nfsd, and to avoid name and number space conflicts with the VFS. [comment from hch: rename MAY_READ, MAY_WRITE and MAY_EXEC as well] Signed-off-by: Miklos Szeredi Signed-off-by: J. Bruce Fields commit 599eb3046a1380f31c65715f3940184c531c90cb Author: NeilBrown Date: Thu Jun 19 10:11:09 2008 +1000 knfsd: nfsd: Handle ERESTARTSYS from syscalls. OCFS2 can return -ERESTARTSYS from write requests (and possibly elsewhere) if there is a signal pending. If nfsd is shutdown (by sending a signal to each thread) while there is still an IO load from the client, each thread could handle one last request with a signal pending. This can result in -ERESTARTSYS which is not understood by nfserrno() and so is reflected back to the client as nfserr_io aka -EIO. This is wrong. Instead, interpret ERESTARTSYS to mean "try again later" by returning nfserr_jukebox. The client will resend and - if the server is restarted - the write will (hopefully) be successful and everyone will be happy. The symptom that I narrowed down to this was: copy a large file via NFS to an OCFS2 filesystem, and restart the nfs server during the copy. The 'cp' might get an -EIO, and the file will be corrupted - presumably holes in the middle where writes appeared to fail. Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields commit c7d106c90ec40a0e35a6960157b40f238627246e Author: Neil Brown Date: Thu Jun 12 13:38:42 2008 +1000 nfsd: fix race in nfsd_nrthreads() We need the nfsd_mutex before accessing nfsd_serv->sv_nrthreads or we can't even guarantee nfsd_serv will still be there. Signed-off-by: Neil Brown Acked-by: Jeff Layton Signed-off-by: J. Bruce Fields commit abd1ec4efd82ca06127bce833ad8a4bbec8a0dcb Author: Jeff Layton Date: Wed Jun 11 10:03:12 2008 -0400 lockd: close potential race with rapid lockd_up/lockd_down cycle If lockd_down is called very rapidly after lockd_up returns, then there is a slim chance that lockd() will never be called. kthread() will return before calling the function, so we'll end up never actually calling the cleanup functions for the thread. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit a75c5d01e4235a7dd785548ac756f248b1b40107 Author: Jeff Layton Date: Tue Jun 10 08:40:39 2008 -0400 sunrpc: remove sv_kill_signal field from svc_serv struct Since we no longer make any distinction between shutdown signals with nfsd, then it becomes easier to just standardize on a particular signal to use to bring it down (SIGINT, in this case). Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 9867d76ca16b3f455f9ca83861f4ce5c94a25928 Author: Jeff Layton Date: Tue Jun 10 08:40:38 2008 -0400 knfsd: convert knfsd to kthread API This patch is rather large, but I couldn't figure out a way to break it up that would remain bisectable. It does several things: - change svc_thread_fn typedef to better match what kthread_create expects - change svc_pool_map_set_cpumask to be more kthread friendly. Make it take a task arg and and get rid of the "oldmask" - have svc_set_num_threads call kthread_create directly - eliminate __svc_create_thread Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit e096bbc6488d3e49d476bf986d33752709361277 Author: Jeff Layton Date: Tue Jun 10 08:40:37 2008 -0400 knfsd: remove special handling for SIGHUP The special handling for SIGHUP in knfsd is a holdover from much earlier versions of Linux where reloading the export table was more expensive. That facility is not really needed anymore and to my knowledge, is seldom-used. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 3dd98a3bccb1bdd30b8a4a755e7bead1b64160ec Author: Jeff Layton Date: Tue Jun 10 08:40:36 2008 -0400 knfsd: clean up nfsd filesystem interfaces Several of the nfsd filesystem interfaces allow changes to parameters that don't have any effect on a running nfsd service. They are only ever checked when nfsd is started. This patch fixes it so that changes to those procfiles return -EBUSY if nfsd is already running to make it clear that changes on the fly don't work. The patch should also close some relatively harmless races between changing the info in those interfaces and starting nfsd, since these variables are being moved under the protection of the nfsd_mutex. Finally, the nfsv4recoverydir file always returns -EINVAL if read. This patch fixes it to return the recoverydir path as expected. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit bedbdd8bada194a690d2901801bf8451965086b3 Author: Neil Brown Date: Tue Jun 10 08:40:35 2008 -0400 knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking. This removes the BKL from the RPC service creation codepath. The BKL really isn't adequate for this job since some of this info needs protection across sleeps. Also, add some comments to try and clarify how the locking should work and to make it clear that the BKL isn't necessary as long as there is adequate locking between tasks when touching the svc_serv fields. Signed-off-by: Neil Brown Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 0d169ca136357d51a65d686f3c84866a8ba20ae9 Author: Benny Halevy Date: Tue Jun 10 13:39:43 2008 +0300 nfsd: eliminate unused nfs4_callback.cb_stat The cb_stat member of struct nfs4_callback is unused since commit ff7d9756 nfsd: use static memory for callback program and stats Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit a5e561fee651eb03086ca21e9aa78e1fffa4581a Author: Benny Halevy Date: Tue Jun 10 12:59:07 2008 +0300 nfsd: eliminate unused nfs4_callback.cb_program The cb_program member of struct nfs4_callback unused since commit ff7d9756 nfsd: use static memory for callback program and stats Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 7c11337d9d81cde0a08a0da63cbfb20653890fa1 Author: J. Bruce Fields Date: Wed Jun 4 18:50:06 2008 -0400 nfsd: remove three unused NFS4_ACE_* defines These flag bits aren't used by either the protocol or our implementation, so I don't know why they were here. Thanks to Johann Dahm for running across these. Signed-off-by: J. Bruce Fields Cc: Johann Dahm commit 13b1867cacbfe6d8203f432996bd8a2ee6b04e79 Author: Benny Halevy Date: Thu May 29 12:56:08 2008 +0300 nfsd: make nfs4xdr WRITEMEM safe against zero count WRITEMEM zeroes the last word in the destination buffer for padding purposes, but this must not be done if no bytes are to be copied, as it would result in zeroing of the word right before the array. The current implementation works since it's always called with non zero nbytes or it follows an encoding of the string (or opaque) length which, if equal to zero, can be overwritten with zero. Nevertheless, it seems safer to check for this case. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 3b12cd9862d5f560031d90bda78952ab55e36b24 Author: J. Bruce Fields Date: Mon May 5 17:17:44 2008 -0400 nfsd: add dprintk of compound return We already print each operation of the compound when debugging is turned on; printing the result could also help with remote debugging. Signed-off-by: J. Bruce Fields commit 0754557d72c1fbfc5fcfd5235e7c23ae6f77248c Author: Yinghai Lu Date: Sat Jun 21 03:50:47 2008 -0700 x86: change early_gart_iommu_check() back to any_mapped Kevin Winchester reported a GART related direct rendering failure against linux-next-20080611, which shows up via these log entries: PCI: Using ACPI for IRQ routing PCI: Cannot allocate resource region 0 of device 0000:00:00.0 agpgart: Detected AGP bridge 0 agpgart: Aperture conflicts with PCI mapping. agpgart: Aperture from AGP @ e0000000 size 128 MB agpgart: Aperture conflicts with PCI mapping. agpgart: No usable aperture found. agpgart: Consider rebooting with iommu=memaper=2 to get a good aperture. instead of the expected: PCI: Using ACPI for IRQ routing agpgart: Detected AGP bridge 0 agpgart: Aperture from AGP @ e0000000 size 128 MB Kevin bisected it down to this change in tip/x86/gart: "x86: checking aperture size order". agp check is using request_mem_region(), and could fail if e820 is reserved... change it back to e820_any_mapped(). Reported-and-bisected-by: "Kevin Winchester" Signed-off-by: Yinghai Lu Tested-by: Kevin Winchester Signed-off-by: Ingo Molnar commit 009b9fc98ddd83f9139fdabb12c0d7a8535d5421 Merge: 3711ccb... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:53:03 2008 +0200 Merge branch 'linus' into x86/threadinfo commit 1de8644cc7c826e0c41e52825bd5a12e2e31e6ca Merge: 6c3df25... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:30:23 2008 +0200 Merge branch 'linus' into sched/devel commit 1e74f9cbbba5348a6c58988cce0f19d6ef887cc8 Merge: 31a72bc... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:29:11 2008 +0200 Merge branch 'linus' into core/rcu commit f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d Merge: ee4311a... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:11:42 2008 +0200 Merge branch 'linus' into tracing/ftrace commit a60b33cf59d1c9e0e363287fce799cb23d45660c Merge: 0f476b6... 481c534... Author: Ingo Molnar Date: Mon Jun 23 10:52:59 2008 +0200 Merge branch 'linus' into core/softirq commit 009b47dfc732781d23fd848c101d2aad743844b0 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:10 2008 +0200 [ARM] mv78xx0: add defconfig Signed-off-by: Lennert Buytenhek commit 794d15b25df5dda10efba600d6dd6cd74a7aa9cb Author: Stanislav Samsonov Date: Sun Jun 22 22:45:10 2008 +0200 [ARM] add Marvell 78xx0 ARM SoC support The Marvell Discovery Duo (MV78xx0) is a family of ARM SoCs featuring (depending on the model) one or two Feroceon CPU cores with 512K of L2 cache and VFP coprocessors running at (depending on the model) between 800 MHz and 1.2 GHz, and features a DDR2 controller, two PCIe interfaces that can each run either in x4 or quad x1 mode, three USB 2.0 interfaces, two 3Gb/s SATA II interfaces, a SPI interface, two TWSI interfaces, a crypto accelerator, IDMA/XOR engines, a SPI interface, four UARTs, and depending on the model, two or four gigabit ethernet interfaces. This patch adds basic support for the platform, and allows booting on the MV78x00 development board, with functional UARTs, SATA, PCIe, GigE and USB ports. Signed-off-by: Stanislav Samsonov Signed-off-by: Lennert Buytenhek commit a9311cfed241ebcd6b5f9be5c8c6d519bf22f9e7 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:09 2008 +0200 [ARM] Orion: PCIe x4/x1 detection support The Discovery Duo (MV78xx0) has two x4 PCIe ports which can either be used in x4 mode or in quad x1 mode. This patch adds an accessor function to the generic plat-orion PCIe handling code to detect in which of the two modes we're running (which is determined by strap pins and/or configured by the bootloader). Signed-off-by: Lennert Buytenhek commit 0a17c7bc0b81e4556eea08c7e27923e5534d3c25 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:08 2008 +0200 [ARM] Feroceon: 88fr571-vd support Add support for the Feroceon 88fr571-vd CPU core as found in e.g. the Marvell Discovery Duo family of ARM SoCs. Signed-off-by: Lennert Buytenhek commit 9307f05c772e37e7f71b521d1d63c4560f44d476 Author: Saeed Bishara Date: Sun Jun 22 22:45:07 2008 +0200 [ARM] Kirkwood: add defconfig Signed-off-by: Lennert Buytenhek commit 651c74c74bf84ba966b52588ba3329606f3fd8d4 Author: Saeed Bishara Date: Sun Jun 22 22:45:06 2008 +0200 [ARM] add Marvell Kirkwood (88F6000) SoC support The Marvell Kirkwood (88F6000) is a family of ARM SoCs based on a Shiva CPU core, and features a DDR2 controller, a x1 PCIe interface, a USB 2.0 interface, a SPI controller, a crypto accelerator, a TS interface, and IDMA/XOR engines, and depending on the model, also features one or two Gigabit Ethernet interfaces, two SATA II interfaces, one or two TWSI interfaces, one or two UARTs, a TDM/SLIC interface, a NAND controller, an I2S/SPDIF interface, and an SDIO interface. This patch adds supports for the Marvell DB-88F6281-BP Development Board and the RD-88F6192-NAS and the RD-88F6281 Reference Designs, enabling support for the PCIe interface, the USB interface, the ethernet interfaces, the SATA interfaces, the TWSI interfaces, the UARTs, and the NAND controller. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit 9c2af6c57c4a253b595b5eef1b665989b5f15de5 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:05 2008 +0200 [ARM] Feroceon: 88fr131 support Add support for the Shiva 88fr131 CPU core as found in e.g. the Marvell Kirkwood family of ARM SoCs. Signed-off-by: Lennert Buytenhek commit 99c6dc117d27d6259214812bd0b113aaf467f600 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:04 2008 +0200 [ARM] Feroceon: L2 cache support This patch adds support for the unified Feroceon L2 cache controller as found in e.g. the Marvell Kirkwood and Marvell Discovery Duo families of ARM SoCs. Note that: - Page table walks are outer uncacheable on Kirkwood and Discovery Duo, since the ARMv5 spec provides no way to indicate outer cacheability of page table walks (specifying it in TTBR[4:3] is an ARMv6+ feature). This requires adding L2 cache clean instructions to proc-feroceon.S (dcache_clean_area(), set_pte()) as well as to tlbflush.h ({flush,clean}_pmd_entry()). The latter case is handled by defining a new TLB type (TLB_FEROCEON) which is almost identical to the v4wbi one but provides a TLB_L2CLEAN_FR flag. - The Feroceon L2 cache controller supports L2 range (i.e. 'clean L2 range by MVA' and 'invalidate L2 range by MVA') operations, and this patch uses those range operations for all Linux outer cache operations, as they are faster than the regular per-line operations. L2 range operations are not interruptible on this hardware, which avoids potential livelock issues, but can be bad for interrupt latency, so there is a compile-time tunable (MAX_RANGE_SIZE) which allows you to select the maximum range size to operate on at once. (Valid range is between one cache line and one 4KiB page, and must be a multiple of the line size.) Signed-off-by: Lennert Buytenhek commit 836a8051d54525e0782f156dcfa3c13d30f22840 Author: Stanislav Samsonov Date: Tue Jun 3 11:24:40 2008 +0300 [ARM] Feroceon: L1 cache range operation support This patch adds support for the L1 D cache range operations that are supported by the Marvell Discovery Duo and Marvell Kirkwood ARM SoCs. Signed-off-by: Stanislav Samsonov Acked-by: Saeed Bishara Reviewed-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 7ea217a85e38c5ed6edbc789670badb619da9f28 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:02 2008 +0200 [ARM] Loki: add defconfig Signed-off-by: Lennert Buytenhek commit 777f9bebad3476b7dbf5cd8abbd3414139ca0e48 Author: Lennert Buytenhek Date: Sun Jun 22 22:45:02 2008 +0200 [ARM] add Marvell Loki (88RC8480) SoC support The Marvell Loki (88RC8480) is an ARM SoC based on a Feroceon CPU core running at between 400 MHz and 1.0 GHz, and features a 64 bit DDR controller, 512K of internal SRAM, two x4 PCI-Express ports, two Gigabit Ethernet ports, two 4x SAS/SATA controllers, two UARTs, two TWSI controllers, and IDMA/XOR engines. This patch adds support for the Marvell LB88RC8480 Development Board, enabling the use of the PCIe interfaces, the ethernet interfaces, the TWSI interfaces and the UARTs. Signed-off-by: Lennert Buytenhek commit 1219715de70956557b9dedf3ee021a73d4f4ec52 Author: Ke Wei Date: Fri May 23 10:23:22 2008 +0200 [ARM] Orion: add a separate BRIDGE_INT_TIMER1_CLR define Some Feroceon-based SoCs have an MBUS bridge interrupt controller that requires writing a one instead of a zero to clear edge interrupt sources such as timer expiry. This patch adds a new BRIDGE_INT_TIMER1_CLR define, which platform code can set to either ~BRIDGE_INT_TIMER1 (write-zero-to-clear) or BRIDGE_INT_TIMER1 (write-one-to-clear) depending on the platform. Signed-off-by: Lennert Buytenhek commit ab6d15d50637fc25ee941710b23fed09ceb28db3 Author: Ke Wei Date: Sun Jun 22 22:45:00 2008 +0200 [ARM] Feroceon: allow more old Feroceon IDs There are a couple more Feroceon-based SoCs out in the field that use different Variant and Architecture fields in their Main ID registers -- this patch tweaks the processor match/mask in proc-feroceon.S to catch those SoCs as well. Signed-off-by: Ke Wei Signed-off-by: Lennert Buytenhek commit 2e2023fe02c3530db3a0d6a26a2e90396a428796 Author: Nicolas Pitre Date: Tue Jun 3 23:06:21 2008 +0200 [ARM] Feroceon: catch other Feroceon CPU IDs in head.S Tweak the Feroceon match/mask in arch/arm/boot/compressed/head.S to match a couple of newer Feroceon cores (such as the 88fr571vd with CPU ID 0x56155710, and the 88fr131 with CPU ID 0x56251310) as well. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 6c386e58aadb90fb5d8b5be979e02d74f8be52fe Author: Nicolas Pitre Date: Thu Apr 24 02:04:54 2008 +0200 [ARM] Feroceon: speed up flushing of the entire cache Flushing the L1 D cache with a test/clean/invalidate loop is very easy in software, but it is not the quickest way of doing it, as there is a lot of overhead involved in re-scanning the cache from the beginning every time we hit a dirty line. This patch makes proc-feroceon.S use "clean+invalidate by set/way" loops according to possible cache configuration of Feroceon CPUs (either direct-mapped or 4-way set associative). Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 79e90dd5aa95adfdc3117db8a559da3d0195ba58 Author: Lennert Buytenhek Date: Wed May 28 16:43:48 2008 +0200 [ARM] Orion: nuke orion5x_{read,write} Nuke the Orion-specific orion5x_{read,write} wrappers. Signed-off-by: Lennert Buytenhek commit 0e3bc0503f7e7b5b0bd4416f43eeeca1b661e66e Author: Lennert Buytenhek Date: Wed Jun 4 03:16:21 2008 +0200 [ARM] Orion: use linux/serial_reg.h for Orion uncompress.h Signed-off-by: Lennert Buytenhek commit 7ec753ccc10ad552c8ec2d40e0edbe3a9c562f30 Author: Sylver Bruneau Date: Tue Jun 10 01:00:38 2008 +0200 [ARM] Orion: add Maxtor Shared Storage II support This patch adds support for the Maxtor Shared Storage II hardware. Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit 7171d8672bb0bcb744935bd2c6108378b5c6c6ad Author: Alexander Clouter Date: Sat May 31 22:32:37 2008 +0100 [ARM] Orion: add Technologic Systems TS-78xx support Signed-off-by: Alexander Clouter Signed-off-by: Lennert Buytenhek commit 530c854aa351b2c7b3b3b6bedae8143310875206 Author: Sylver Bruneau Date: Sat May 31 18:21:49 2008 +0200 [ARM] Orion: remove code duplication in TS209 and TS409 setup files Signed-off-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit b08d5af39616fd32a1fafbcb51c36d4c99c4e02f Author: Martin Michlmayr Date: Sun Apr 6 14:08:17 2008 +0200 [ARM] Orion: add HP Media Vault mv2120 support Signed-off-by: Lennert Buytenhek commit 42452b77a1fba2fee89350be2a9c03b54b27c218 Author: Lennert Buytenhek Date: Sat May 31 08:19:20 2008 +0200 [ARM] Orion: add Linksys WRT350N v2 support Signed-off-by: Lennert Buytenhek Tested-by: Dirk Teurlings Tested-by: Peter van Valderen commit d2b2a6bbc020e5a9a244f318d28515081e922882 Author: Lennert Buytenhek Date: Sat May 31 08:30:40 2008 +0200 [ARM] Orion: add 88F5181L (Orion-VoIP) support Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 47e9cffde663eafd5f78987036429fc0994d90e8 Author: Sylver Bruneau Date: Sat Apr 26 02:35:29 2008 +0200 [ARM] Orion: add QNAP TS-409 support Signed-off-by: Lennert Buytenhek commit a0087f2fcf5cb4e16502f5334168fbe304af318b Author: Sylver Bruneau Date: Wed Apr 30 08:14:58 2008 +0200 [ARM] Orion: implement power-off method for Kurobox Pro This patch implements the communication with the microcontroller on the Kurobox Pro and Linkstation Pro/Live boards. This is allowing to send the commands needed to power-off the board correctly. Signed-off-by: Sylver Bruneau Acked-by: Russell King Signed-off-by: Lennert Buytenhek commit 2850a037734eac0af2e6abc4e8be986c3edfd834 Author: Lennert Buytenhek Date: Wed May 28 16:17:39 2008 +0200 [ARM] Orion: avoid setting ->force_phy_addr The mv643xx_eth platform data field ->force_phy_addr only needs to be set if the passed-in ->phy_addr field is zero (to distinguish the case of not having specified a phy address (force_phy_addr = 0) from the case where a phy address of zero needs to be used (force_phy_addr = 1.)) Also, the ->force_phy_addr field will hopefully disappear in a future mv643xx_eth reorganisation. Therefore, this patch deletes the ->force_phy_addr field initialiser from all Orion board code. Signed-off-by: Lennert Buytenhek commit b206ed0462b7112d07bb9f245bf49f5e95ff174a Author: Lennert Buytenhek Date: Fri Jun 6 12:32:59 2008 +0200 [ARM] Orion: remove error printks in ->map_irq() implementations If all PCI devices are working as expected, the error printks in the various implementations of ->map_irq() doesn't really provide any useful info. And if something is not working as expected, turning on pci=debug gives you more useful information than the printk calls in ->map_irq(), since the former also tells you which devices _did_ get IRQs successfully assigned. Therefore, delete these printks entirely. Spotted by Russell King. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 19cfd5c09f780ac870fd9d89201c4ebc0b22be81 Author: Lennert Buytenhek Date: Sat May 10 23:25:46 2008 +0200 [ARM] Orion: rework MPP handling Instead of having board code poke directly into the MPP configuration registers, and separately calling orion5x_gpio_set_valid_pins() to indicate which MPP pins can be used as GPIO pins, introduce a helper function for configuring the roles of each of the MPP pins, and have that helper function handle gpio validity internally. Signed-off-by: Lennert Buytenhek Acked-by: Sylver Bruneau Acked-by: Russell King commit 386a048a1ea42ff9ac87ffa344c4c19a5cc59678 Author: Lennert Buytenhek Date: Sat May 10 17:01:18 2008 +0200 [ARM] Orion: move setting up PCIe WA window into PCIe setup path It makes no sense to do PCIe WA window setup in the individual board support files while the decision whether or not to use the PCIe WA access method is made in a different place, in the PCIe support code. This patch moves the configuration of a PCIe WA window from the individual Orion board support files to the central Orion PCIe support code. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 044f6c7c449ae8ba0353b032706b098a7ad5e304 Author: Lennert Buytenhek Date: Tue Apr 22 05:37:12 2008 +0200 [ARM] Orion: move EHCI/I2C/UART peripheral init into board code This patch moves initialisation of EHCI/I2C/UART platform devices from the common orion5x_init() into the board support code. The rationale behind this is that only the board support code knows whether certain peripherals have been brought out on the board, and not initialising peripherals that haven't been brought out is desirable for example: - to reduce user confusion (e.g. seeing both 'eth0' and 'eth1' appear while there is only one ethernet port on the board); and - to allow for future power savings (peripherals that have not been brought out can be clock gated off entirely). Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 6eef84a5496c678ab27b72bec0fc785c9cee063b Author: Lennert Buytenhek Date: Wed May 28 16:20:56 2008 +0200 [ARM] Orion: delete unused IO_SPACE_REMAP define This define isn't used anywhere in the kernel tree -- nuke it. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 000e99c3334cdddaec020d7324fe4ca2a683d3dd Author: Lennert Buytenhek Date: Sun May 18 19:46:59 2008 +0200 [ARM] Orion: top-level IRQs are level-triggered Make it clear that Orion top-level IRQs are level-triggered. This means that we don't need an ->ack() handler, or at least, we don't need the ->ack() handler (or the acking part of the ->mask_ack() handler) to actually do anything. Given that, we might as well point our ->mask_ack() handler at the ->mask() handler instead of providing a dummy ->ack() handler, since providing a ->mask_ack() handler on level IRQ sources will prevent ->ack() from ever being called. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit ee0dd840052e303a3eb171363be5e6364d200a51 Author: Lennert Buytenhek Date: Fri Apr 11 23:08:26 2008 +0200 [ARM] Feroceon: annotate 88fr531-vd CPU entries Annotate the entries for the 88fr531-vd CPU core in arch/arm/boot/compressed/head.S and arch/arm/mm/proc-feroceon.S with the full name of the core. Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit 4fc338e38f08f0a91e35ab386abae48eb033dbb2 Author: Lennert Buytenhek Date: Fri May 23 08:34:42 2008 +0200 [ARM] Orion: DRAM mapping granularity is 64KiB, not 16MiB The DRAM base address and size fields in the CPU's MBUS bridge have 64KiB granularity, instead of the currently used 16MiB. Since all of the currently supported MBUS peripherals support 64KiB granularity as well, this patch changes the Orion address map code to stop rounding base addresses down and sizes up to multiples of 16MiB. Found by Ke Wei . Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit a18b658449e6677aba2bf8dcd3593adecff6fe4d Author: Lennert Buytenhek Date: Sat May 10 23:20:50 2008 +0200 [ARM] Orion: make window setup a little more safe Currently, Orion window setup uses hardcoded window indexes for each of the boot/cs0/cs1/cs2/PCIe WA windows. The static window allocation used can clash if board support code will ever attempt to configure both a dev2 and a PCIe WA window, as both of those use CPU mbus window #7 at present. This patch keeps track of the last used window, and opens subsequently requested windows sequentially, starting from 4. (Windows 0-3 are used as MEM/IO windows for the PCI/PCIe buses.) Signed-off-by: Lennert Buytenhek commit e7068ad337a991fba627148a4a57939fdc1e6a2d Author: Lennert Buytenhek Date: Sat May 10 16:30:01 2008 +0200 [ARM] Orion: fix various whitespace and coding style issues More cosmetic cleanup: - Replace 8-space indents by proper tab indents. - In structure initialisers, use a trailing comma for every member. - Collapse "},\n{" in structure initialiers to "}, {". Signed-off-by: Lennert Buytenhek Acked-by: Russell King commit f91a8dcc25398c5d708056de081d6cebf3f2023e Author: Nicolas Pitre Date: Fri Apr 11 21:04:28 2008 -0400 [ARM] cache align memset and memzero This is a natural extension following the previous patch. Non Feroceon based targets are unchanged. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 2239aff6ab2b95af1f628eee7a809f21c41605b3 Author: Nicolas Pitre Date: Mon Mar 31 12:38:31 2008 -0400 [ARM] cache align destination pointer when copying memory for some processors The implementation for memory copy functions on ARM had a (disabled) provision for aligning the source pointer before loading registers with data. Turns out that aligning the _destination_ pointer is much more useful, as the read side is already sufficiently helped with the use of preload. So this changes the definition of the CALGN() macro to target the destination pointer instead, and turns it on for Feroceon processors where the gain is very noticeable. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 4c4925c1f4ccd72002957c3e73b4f117f2bcf712 Author: Nicolas Pitre Date: Wed Jun 11 12:40:13 2008 -0400 [ARM] fix cache alignment code in memset.S This code is currently disabled, which explains why no one was affected. Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit f76e9154736e9ab47b64940d0062f19c80225b7f Author: Nicolas Pitre Date: Thu Apr 24 01:31:46 2008 -0400 [ARM] latencytop support Available for !SMP only at the moment. From Russell: |Basically, if a thread is running on a CPU, thread_saved_fp() is invalid. |So, the question is: what guarantees do we have here that 'tsk' is not |running on another CPU? Signed-off-by: Nicolas Pitre Tested-by: Lennert Buytenhek Signed-off-by: Lennert Buytenhek commit b0bfcce930bca38af056662e598991cb393eaa4a Author: Nicolas Pitre Date: Mon May 5 15:21:28 2008 -0400 [ARM] Orion: update defconfig to 2.6.26-rc4 Signed-off-by: Nicolas Pitre Signed-off-by: Lennert Buytenhek commit 437a0a54eea7b101e8a5b70688009956f6522ed0 Author: Ingo Molnar Date: Fri Jun 20 21:50:20 2008 +0200 x86, bitops: make constant-bit set/clear_bit ops faster, gcc workaround Jeremy Fitzhardinge reported this compiler bug: Suggestion from Linus: add "r" to the input constraint of the set_bit()/clear_bit()'s constant 'nr' branch: Blows up on "gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.3-13)": CC init/main.o include2/asm/bitops.h: In function `start_kernel': include2/asm/bitops.h:59: warning: asm operand 1 probably doesn't match constraints include2/asm/bitops.h:59: warning: asm operand 1 probably doesn't match constraints include2/asm/bitops.h:59: warning: asm operand 1 probably doesn't match constraints include2/asm/bitops.h:59: error: impossible constraint in `asm' include2/asm/bitops.h:59: error: impossible constraint in `asm' include2/asm/bitops.h:59: error: impossible constraint in `asm' Reported-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 77149367dade50af8370420265bd4f818cde8afd Author: Arnd Bergmann Date: Tue May 20 19:16:16 2008 +0200 microcode: BKL pushdown Signed-off-by: Arnd Bergmann commit b78032a7e52995b42d231d0064358eef16c9a8cc Author: Arnd Bergmann Date: Tue May 20 19:16:14 2008 +0200 message-i2o-i2o_config: BKL pushdown Signed-off-by: Arnd Bergmann commit f18f81daba25d29541e46972a7ff4d65162ff167 Author: Arnd Bergmann Date: Tue May 20 19:16:13 2008 +0200 megaraid: BKL pushdown Signed-off-by: Arnd Bergmann commit cad84238056babf4e4e6b0de183238224aab8177 Author: Arnd Bergmann Date: Tue May 20 19:16:12 2008 +0200 media-radio-miropcm20-rds: BKL pushdown Signed-off-by: Arnd Bergmann commit b9bde77a6a4f76b767d4363a5f74127528426159 Author: Arnd Bergmann Date: Tue May 20 19:16:11 2008 +0200 macintosh-smu: BKL pushdown Signed-off-by: Arnd Bergmann commit 600bf8140c22e473ef0806ae45214aaaf53e0da3 Author: Arnd Bergmann Date: Tue May 20 19:16:10 2008 +0200 lcd: BKL pushdown Signed-off-by: Arnd Bergmann commit 28fbbf491368c9491461ca492e13862da1b49180 Author: Arnd Bergmann Date: Tue May 20 19:16:08 2008 +0200 jsflash: BKL pushdown Signed-off-by: Arnd Bergmann commit cddf63d99d0d145f18b293c3d0de4af7dab2a922 Author: Arnd Bergmann Date: Tue May 20 19:16:06 2008 +0200 irnet_ppp: BKL pushdown Signed-off-by: Arnd Bergmann commit af96f0103d332be92c42a44accf731da667ecc03 Author: Arnd Bergmann Date: Tue May 20 19:16:04 2008 +0200 ipmi-watchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit b0e54f7c477ad24fa0d49baed942c5a5909c748b Author: Arnd Bergmann Date: Tue May 20 19:16:03 2008 +0200 ip27-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 6b0ee363b294c3724224909dcb0b80f7dac3dfd6 Author: Arnd Bergmann Date: Tue May 20 19:16:02 2008 +0200 infiniband-ucma: BKL pushdown Signed-off-by: Arnd Bergmann commit a9c4e8f74ba26f10cf78fed7c5b863ea50988856 Author: Arnd Bergmann Date: Tue May 20 19:16:00 2008 +0200 hw-random: BKL pushdown Signed-off-by: Arnd Bergmann commit 48b81880519274d2a8b3e9919a47d91d05a1c964 Author: Arnd Bergmann Date: Tue May 20 19:15:59 2008 +0200 hpet: BKL pushdown Signed-off-by: Arnd Bergmann commit 986f8b8ccf4806c1e95528a6f157998113fb4f41 Author: Arnd Bergmann Date: Tue May 20 19:15:58 2008 +0200 hp_sdc_rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 4a7e79a7deab9718d51dc8d3ee938bd0eb789b7b Author: Arnd Bergmann Date: Tue May 20 19:15:57 2008 +0200 hdpu_cpustate: BKL pushdown Signed-off-by: Arnd Bergmann commit 742a2fe31bf311d065a2bbacc2b363103b351300 Author: Arnd Bergmann Date: Tue May 20 19:15:55 2008 +0200 genrtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 78abb6ac919cee123e632d833a42d0312ccb2b0d Author: Arnd Bergmann Date: Tue May 20 19:15:54 2008 +0200 flash: BKL pushdown Signed-off-by: Arnd Bergmann commit 1d17bf0c08569e7aefd27df0179065fb955588c4 Author: Arnd Bergmann Date: Tue May 20 19:15:53 2008 +0200 envctrl: BKL pushdown Signed-off-by: Arnd Bergmann commit 89c7de08c5fc059c4f6231571416d9bc0bbc91d4 Author: Arnd Bergmann Date: Tue May 20 19:15:52 2008 +0200 efirtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 080c2226474fa3060fadce9a2341004f477aadb3 Author: Arnd Bergmann Date: Tue May 20 19:15:50 2008 +0200 ds1620: BKL pushdown Signed-off-by: Arnd Bergmann commit 7ccef46320ecd52c4d20c8aad592599df76bb7a1 Author: Arnd Bergmann Date: Tue May 20 19:15:49 2008 +0200 ds1286: BKL pushdown Signed-off-by: Arnd Bergmann commit 514bcc66d4072a221a8dfd341a4006385a441918 Author: Arnd Bergmann Date: Tue May 20 19:15:48 2008 +0200 dlm-user: BKL pushdown Signed-off-by: Arnd Bergmann commit 009228dfb641ca7e4315ab0d0d55465747331025 Author: Arnd Bergmann Date: Tue May 20 19:15:47 2008 +0200 display7seg: BKL pushdown Signed-off-by: Arnd Bergmann commit e73322ceefb2a777dc0ef369a2504bf5c42b8c52 Author: Arnd Bergmann Date: Tue May 20 19:15:46 2008 +0200 crypto-zcrypt_api: BKL pushdown Signed-off-by: Arnd Bergmann commit 135fe10f9fb9fba981f60c5526e37900f52c9705 Author: Arnd Bergmann Date: Tue May 20 19:15:45 2008 +0200 crypto-prng: BKL pushdown Signed-off-by: Arnd Bergmann commit b05c9e6cd939b6f79be17e9b6a23ca15a219dec2 Author: Arnd Bergmann Date: Tue May 20 19:15:43 2008 +0200 cpwatchdog: BKL pushdown Signed-off-by: Arnd Bergmann commit 122bc5eaf81a3870f6cc00d2e5e97f32f92e636b Author: Arnd Bergmann Date: Tue May 20 19:15:42 2008 +0200 bvme6000-rtc: BKL pushdown Signed-off-by: Arnd Bergmann commit 556889a4ae89d5f2adf98cac58ecf9326b0d0297 Author: Arnd Bergmann Date: Tue May 20 19:15:41 2008 +0200 briq_panel: BKL pushdown Signed-off-by: Arnd Bergmann commit 8324af6dddac11f9f7e9df8b784f6949ddb61b5d Author: Arnd Bergmann Date: Tue May 20 19:15:40 2008 +0200 bluetooth-vhci: BKL pushdown Signed-off-by: Arnd Bergmann commit 986837badea28a8d32864ced7cbc2fb80b9f7c91 Author: Arnd Bergmann Date: Tue May 20 19:15:38 2008 +0200 block-dasd_eer: BKL pushdown Signed-off-by: Arnd Bergmann commit 9a8bd2f76cb78fd730337f1b3b9cbef101ce2dad Author: Arnd Bergmann Date: Tue May 20 19:15:37 2008 +0200 bf561-coreb: BKL pushdown Signed-off-by: Arnd Bergmann commit 52e7c5e08201e20ddbe93cb1977869c38072bc2f Author: Arnd Bergmann Date: Tue May 20 19:15:36 2008 +0200 basler-excite: BKL pushdown Signed-off-by: Arnd Bergmann commit 864fe51671c9e44fb9d02765623daac9acc26a8b Author: Arnd Bergmann Date: Tue May 20 19:15:34 2008 +0200 apm_32: BKL pushdown Signed-off-by: Arnd Bergmann commit 2861ead38b8a376888c3f63b9c8e45d4cee02117 Author: Arnd Bergmann Date: Tue May 20 19:15:33 2008 +0200 apm-emulation: BKL pushdown Signed-off-by: Arnd Bergmann commit b82829943c470e59cfd3ee84d8ed6ae5d5e1a55b Author: Arnd Bergmann Date: Tue May 20 19:15:32 2008 +0200 ans-lcd: BKL pushdown Signed-off-by: Arnd Bergmann commit a076230134f3083a58cef99e48b127818ef01e7a Author: Arnd Bergmann Date: Tue May 20 19:15:30 2008 +0200 agp-frontend: BKL pushdown Signed-off-by: Arnd Bergmann commit 8f5934278d1d86590244c2791b28f77d67466007 Author: Linus Torvalds Date: Mon May 19 19:53:01 2008 -0700 Replace BKL with superblock lock in fat/msdos/vfat This replaces the use of the BKL in the FAT family of filesystems with the existing superblock lock instead. The code already appears to do mostly proper locking with its own private spinlocks (and mutexes), but while the BKL could possibly have been dropped entirely, converting it to use the superblock lock (which is just a regular mutex) is the conservative thing to do. As a per-filesystem mutex, it not only won't have any of the possible latency issues related to the BKL, but the lock is obviously private to the particular filesystem instance and will thus not cause problems for entirely unrelated users like the BKL can. Signed-off-by: Linus Torvalds Cc: OGAWA Hirofumi Signed-off-by: Jonathan Corbet commit 5ca6a93d802a9d110127556e5d3ed032fd273e03 Author: Stephen Rothwell Date: Mon May 19 16:06:52 2008 +1000 bkl-removal viotape fixup Signed-off-by: Stephen Rothwell Signed-off-by: Jonathan Corbet commit 9514dff918b947ae43b66517dc90d0e05548bd6a Author: Jonathan Corbet Date: Sun May 18 15:40:00 2008 -0600 Remove the lock_kernel() call from chrdev_open() All in-kernel char device open() functions now either have their own lock_kernel() calls or clearly do not need one. Signed-off-by: Jonathan Corbet commit a30427d92d0bc152b833088e4a305bbeb1a0c162 Author: Jonathan Corbet Date: Sun May 18 15:39:11 2008 -0600 Add a comment in chrdev_open() I stared at this code for a while and almost deleted it before understanding crept into my slow brain. Hopefully this makes life easier for the next person to happen on it. Signed-off-by: Jonathan Corbet commit f2b9857eee17797541b845782ade4d7a9d50f843 Author: Jonathan Corbet Date: Sun May 18 15:32:43 2008 -0600 Add a bunch of cycle_kernel_lock() calls All of the open() functions which don't need the BKL on their face may still depend on its acquisition to serialize opens against driver initialization. So make those functions acquire then release the BKL to be on the safe side. Signed-off-by: Jonathan Corbet commit 0b2806768899dba5967bcd4a3b93eaed9a1dc4f3 Author: Jonathan Corbet Date: Sun May 18 14:27:41 2008 -0600 Add cycle_kernel_lock() A number of driver functions are so obviously trivial that they do not need the big kernel lock - at least not overtly. It turns out that the acquisition of the BKL in driver open() functions can perform a sort of poor-hacker's serialization function, delaying the open operation until the driver is certain to have completed its initialization. Add a simple cycle_kernel_lock() function for these cases to make it clear that there is no need to *hold* the BKL, just to be sure that we can acquire it. Signed-off-by: Jonathan Corbet commit 6606470dd1d628878383c96d10b52a77986ddac7 Author: Jonathan Corbet Date: Fri May 16 14:28:31 2008 -0600 videodev: BKL pushdown Put explicit lock_kernel() calls into videodev_open(). That function itself seems OK, but one never knows about all the open() functions provided by underlying video drivers. Signed-off-by: Jonathan Corbet commit b5b4aa67da65aeb58718e0a39158b293873ac572 Author: Jonathan Corbet Date: Fri May 16 14:25:20 2008 -0600 usbdev: BKL pushdown Add explicit lock_kernel() calls to usbdev_open() Signed-off-by: Jonathan Corbet commit 1af46fd72d6c18c1d96ce7f3491b841055e9dcfd Author: Jonathan Corbet Date: Fri May 16 14:23:31 2008 -0600 USB Monitor: BKL pushdown Add explicit lock_kernel() calls to mon_bin_open() Signed-off-by: Jonathan Corbet commit b2f2ba01b2a4356e92231669f7e3dcee37ac2fca Author: Jonathan Corbet Date: Fri May 16 14:21:30 2008 -0600 printer gadget: BKL pushdown Add explicit lock_kernel() calls to printer_open() Signed-off-by: Jonathan Corbet commit 26ce4f0684ef4b96d0244ac58b89ec282d5b980c Author: Jonathan Corbet Date: Fri May 16 14:19:56 2008 -0600 adb: BKL pushdown Put explicit lock_kernel() calls in adb_open(). The fact that adb_release() already has them suggests this is necessary. Signed-off-by: Jonathan Corbet commit 3462032d66703ef7721329b44fe2dac4aaef475d Author: Jonathan Corbet Date: Fri May 16 14:17:33 2008 -0600 divamnt: BKL pushdown Put explicit lock_kernel() calls into maint_open(). Signed-off-by: Jonathan Corbet commit a237f3bbaab28bb780201f15f6003cf3d2e81024 Author: Jonathan Corbet Date: Fri May 16 14:15:33 2008 -0600 CAPI: BKL pushdown Put explicit lock_kernel() calls into capi_open() Signed-off-by: Jonathan Corbet commit b0061a0ec4d10a69309d0371a01e8b99387009ef Author: Jonathan Corbet Date: Fri May 16 14:12:52 2008 -0600 changer: BKL pushdown Add lock_kernel() calls to ch_open(), though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit dea3f665d6fa263a9870a54e9f8cfd146016f140 Author: Jonathan Corbet Date: Fri May 16 14:11:09 2008 -0600 dpt_i20: BKL pushdown Add lock_kernel() calls to adpt_open() Signed-off-by: Jonathan Corbet commit 9aaf20cbf5b7cccd45495326cba0b35b2884e6b3 Author: Jonathan Corbet Date: Fri May 16 14:08:58 2008 -0600 videopix: BKL pushdown Add explicit lock_kernel() calls to vfc_open(). Signed-off-by: Jonathan Corbet commit 5e9829ad38c24aa71252e643836e7cedcb1c83d7 Author: Jonathan Corbet Date: Fri May 16 14:06:45 2008 -0600 bpp: bkl pushdown Put explicit lock_kernel() calls into bpp_open(). It has locking, but I'm not convinced it won't race with ioctl(). Signed-off-by: Jonathan Corbet commit 4541b5ec9f631a143cdea862d07ddfc3cdac36f2 Author: Jonathan Corbet Date: Fri May 16 14:03:05 2008 -0600 phantom: BKL pushdown Add explicit lock_kernel calls to phantom_open(). Signed-off-by: Jonathan Corbet commit 057e7c7ff9f91a36a761588c53826bd6a710aeba Author: Jonathan Corbet Date: Fri May 16 14:01:12 2008 -0600 infiniband: more BKL pushdown Be extra-cautious and protect the remaining open() functions. Signed-off-by: Jonathan Corbet commit 65f37b790bd7ba15413838579470296a709c45e6 Author: Jonathan Corbet Date: Fri May 16 13:57:31 2008 -0600 dsp56k: BKL pushdown Put explicit lock_kernel calls into dsp56k_open(). [Stupid missing label error fixed] Signed-off-by: Jonathan Corbet commit c0bed680f0ca603864375ed5f9fed4296a53aa62 Author: Jonathan Corbet Date: Fri May 16 13:54:46 2008 -0600 raw: BKL pushdown Put explicit lock_kernel() calls into raw_open(), even though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit b8c71d7ae2a7f723d171d9175212b6d0a727655d Author: Jonathan Corbet Date: Fri May 16 13:53:00 2008 -0600 tlckl: BKL pushdown Put explicit lock_kernel calls into tlclk_open() Signed-off-by: Jonathan Corbet commit f4943db14f5071ecbf7ca76722e59a2fd22bda4d Author: Jonathan Corbet Date: Fri May 16 13:50:20 2008 -0600 xilinx icap: BKL pushdown Add explicit lock_kernel() calls to hwicap_open() even though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit f97259e35de1f99ba0ac19383408e247fd763cf0 Author: Jonathan Corbet Date: Fri May 16 13:47:50 2008 -0600 vcs: BKL pushdown Add explicit BKL to vcs_open(). Signed-off-by: Jonathan Corbet commit 609f9e92b570f390a457a81effe0af6b758dc582 Author: Jonathan Corbet Date: Fri May 16 13:46:14 2008 -0600 spidev: BKL pushdown Add the BKL to spidev_open(), even though the existing locking looks adequate. Signed-off-by: Jonathan Corbet commit d21c95c569c462da20d491b75d0a45bd70ddc1bf Author: Jonathan Corbet Date: Fri May 16 13:40:30 2008 -0600 Add "no BKL needed" comments to several drivers This documents the fact that somebody looked at the relevant open() functions and concluded that, due to their trivial nature, no locking was needed. Signed-off-by: Jonathan Corbet commit 39d95b9d857ad9ed335dd1a2d6c6de1f1ee69ce1 Author: Jonathan Corbet Date: Fri May 16 09:10:50 2008 -0600 tty: cdev lock_kernel() pushdown Parts of the serial code actually BUG() if we don't do this. commit c43ef17450dce8cbf50f97497a1949ff8f484e88 Author: Jonathan Corbet Date: Thu May 15 16:44:14 2008 -0600 snsc: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 78a3c3d7c6b89085610edfe86f7790144afc737e Author: Jonathan Corbet Date: Thu May 15 16:39:03 2008 -0600 sound: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit fc7f687a6878e19f7ce58cb8a65659cd2730b586 Author: Jonathan Corbet Date: Thu May 15 16:30:36 2008 -0600 fbmem: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 5794e1b14bcd9817c5fa27d3254996f0d9551296 Author: Jonathan Corbet Date: Thu May 15 16:26:57 2008 -0600 dvb: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 20613f24bcd1cbfb08e64f0bb00c44481313b448 Author: Jonathan Corbet Date: Thu May 15 16:24:25 2008 -0600 usbcore: cdev lock_kernel() pushdown usb_open() is protected by a down_read(&minor_rwsem), but I'm not sure I trust it to protect everything including subsidiary open() functions. Signed-off-by: Jonathan Corbet commit 1bcaa0bd6fd5b510dd9f1ba2da114d3f1253af61 Author: Jonathan Corbet Date: Thu May 15 16:16:28 2008 -0600 isdn: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 46787b481be00d5443d385480d12470728406cf4 Author: Jonathan Corbet Date: Thu May 15 16:09:48 2008 -0600 gdth: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit b3369c68bf9d61062585f3ebc1286220191c0f84 Author: Jonathan Corbet Date: Thu May 15 16:08:15 2008 -0600 st: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit d4514d1bed1c7157bcff4c81307a9e0374df257a Author: Jonathan Corbet Date: Thu May 15 16:01:47 2008 -0600 aacraid: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 647d87bd1b9e7ff24f89b7d4e38c75d756018caa Author: Jonathan Corbet Date: Thu May 15 12:23:19 2008 -0600 osst: cdev lock_kernel() pushdown. Signed-off-by: Jonathan Corbet commit eb09d3d4ee09b25876db549b6d5221610216e105 Author: Jonathan Corbet Date: Thu May 15 12:22:06 2008 -0600 sg: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 04f4ac9d1bb8a9103609ce8e927f8e98826ce339 Author: Jonathan Corbet Date: Thu May 15 12:01:56 2008 -0600 ide-tape: cdev lock_kernel() pushdown ->release() already has explicit lock_kernel() calls... Signed-off-by: Jonathan Corbet commit 16750c2f32e3fd879fce787a13900f11633ef9af Author: Jonathan Corbet Date: Thu May 15 11:58:31 2008 -0600 phonedev: cdev lock_kernel() pushdown phone_open() looks OK, but I don't trust the subsidiary drivers (and ixj in particular). Signed-off-by: Jonathan Corbet commit 70ffa16e604bab22b12bf72cb7796f1dd01ec335 Author: Jonathan Corbet Date: Thu May 15 11:34:16 2008 -0600 drm: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit abedd296e97a5d943e76999de97253f1b62a4846 Author: Jonathan Corbet Date: Thu May 15 11:29:38 2008 -0600 lp: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 12ead6b098b65dd21d3ed4fcccf20025dbe86cc2 Author: Jonathan Corbet Date: Thu May 15 11:24:23 2008 -0600 mbcs: cdev lock_kernel() pushdown This driver would appear to have no internal locking at all. Signed-off-by: Jonathan Corbet commit 2d863e92ec1b1deb8167d7f5266f754f258e876a Author: Jonathan Corbet Date: Thu May 15 11:16:21 2008 -0600 viotape: cdev lock_kernel pushdown () Signed-off-by: Jonathan Corbet commit 309c4551c0fa0897d5343c36cbfbfa39f1f41b88 Author: Jonathan Corbet Date: Thu May 15 11:07:52 2008 -0600 misc: cdev lock_kernel() pushdown misc_open() looks fine, but who knows what all of the misc drivers are doing in their open() functions? Signed-off-by: Jonathan Corbet commit 1f439647a4072ec64bb2e4b9290cd7be6aee8328 Author: Jonathan Corbet Date: Thu May 15 11:04:19 2008 -0600 mem: cdev lock_kernel() pushdown It's really hard to tell if this is necessary - lots of weird magic happens by way of map_devmem() Signed-off-by: Jonathan Corbet commit ecc38983f6c83f371fefb5a69a72e358fc7b1218 Author: Jonathan Corbet Date: Thu May 15 10:46:49 2008 -0600 ipmi: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit fbc8a81d66bbbce3f0b4d5752f8bc8bb3c1fc439 Author: Jonathan Corbet Date: Thu May 15 10:39:37 2008 -0600 UIO: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 2edbf8537edc62c9b0ef75e7025d01e8b6a48707 Author: Jonathan Corbet Date: Thu May 15 10:37:16 2008 -0600 Input: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 702e57d9ef7002f8d362faa6ddebc59e6d43fa05 Author: Jonathan Corbet Date: Thu May 15 10:25:44 2008 -0600 HID: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 72b67048f5dac18fd6494e3d3bff7e54840e8761 Author: Jonathan Corbet Date: Thu May 15 10:15:38 2008 -0600 UBI: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 6071239ef1947914892601e36785c7b1cf8b7dd4 Author: Jonathan Corbet Date: Thu May 15 10:10:37 2008 -0600 mtdchar: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit ea2959a2972410f15155a015df74ce77ac79f8b8 Author: Jonathan Corbet Date: Thu May 15 10:07:56 2008 -0600 paride: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 579174a55f491edeaccb8f5d3dc7ad69a17f5423 Author: Jonathan Corbet Date: Thu May 15 10:03:09 2008 -0600 AoE: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 764a4a8e54cdd6efc5928f876aa9e35778f22377 Author: Jonathan Corbet Date: Thu May 15 10:01:17 2008 -0600 drivers/s390: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 51a776fa7a7997e726d4a478eda0854c6f9143bd Author: Jonathan Corbet Date: Thu May 15 09:38:18 2008 -0600 rtc: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 0f474d9bc59e23f1952e75d2f6edcaeb358eb32d Author: Vlad Yasevich Date: Fri Jun 20 10:34:47 2008 -0700 sctp: Kill unused variable in sctp_assoc_bh_rcv() Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 0f476b6d91a1395bda6464e653ce66ea9bea7167 Author: Johannes Berg Date: Wed Jun 18 09:29:37 2008 +0200 softirq: remove irqs_disabled warning from local_bh_enable There's no need to use local_irq_save() over local_irq_disable() in the local_bh_enable code since it is a bug to call it with irqs disabled and do_softirq will enable irqs if there is any pending work. Consolidate the code from local_bh_enable and ..._ip to avoid having a disconnect between them in the warnings they trigger that is currently there. Also always trigger the warning on in_irq(), not just in the trace-irqflags case. Signed-off-by: Johannes Berg Cc: Michael Buesch Cc: David Ellingsworth Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit a1d5a8691f1b6c92491747bea3b778b184fa5837 Author: Ingo Molnar Date: Fri Jun 20 15:34:46 2008 +0200 x86: unify __set_fixmap, fix fix build failure: arch/x86/mm/pgtable.c:280: warning: ‘enum fixed_addresses’ declared inside parameter list arch/x86/mm/pgtable.c:280: warning: its scope is only this definition or declaration, which is probably not what you want arch/x86/mm/pgtable.c:280: error: parameter 1 (‘idx’) has incomplete type Signed-off-by: Ingo Molnar commit aeaaa59c7e15dcfaaf57ce069ef81683067d575d Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:42:01 2008 -0700 x86/paravirt/xen: add set_fixmap pv_mmu_ops Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Juan Quintela Signed-off-by: Eduardo Habkost Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar commit d494a96125c99f1e37b1f831b29b42c9b712ee05 Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:41:59 2008 -0700 x86: implement set_pte_vaddr Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 7c7e6e07e2a7c0d2d96389f4f0540e44a80ecdaa Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:41:54 2008 -0700 x86: unify __set_fixmap In both cases, I went with the 32-bit behaviour. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 944256e00a5466ae6b7a11fdb3a47d092f2f62c1 Author: Jeremy Fitzhardinge Date: Tue Jun 17 11:41:49 2008 -0700 x86: unify asm-x86/fixmap*.h Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a987b16cc6123af2c9414032701bab5f73c54c89 Author: Jeremy Fitzhardinge Date: Mon Jun 16 15:01:56 2008 -0700 xen: don't drop NX bit Because NX is now enforced properly, we must put the hypercall page into the .text segment so that it is executable. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit eb179e443deb0a5c81a62b4c157124a4b7ff1813 Author: Jeremy Fitzhardinge Date: Mon Jun 16 15:01:53 2008 -0700 xen: mask unwanted pte bits in __supported_pte_mask [ Stable: this isn't a bugfix in itself, but it's a pre-requiste for "xen: don't drop NX bit" ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit 6673cf63e5d973db5145d1f48b354efcb9fe2a13 Author: Isaku Yamahata Date: Mon Jun 16 14:58:13 2008 -0700 xen: Use wmb instead of rmb in xen_evtchn_do_upcall(). This patch is ported one from 534:77db69c38249 of linux-2.6.18-xen.hg. Use wmb instead of rmb to enforce ordering between evtchn_upcall_pending and evtchn_pending_sel stores in xen_evtchn_do_upcall(). Cc: Samuel Thibault Signed-off-by: Isaku Yamahata Cc: Nick Piggin Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit a1855d802fb62718192eb7e180161b08adff4e73 Author: Takashi Iwai Date: Thu Jun 19 15:41:37 2008 +0200 ALSA: hda - Fix digital converter proc output AC_VERB_GET_DIGI_CONVERT_2 isn't actually implemented but reserved. The whole SIC bits are returned from DIGI_CONVERT_1. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 443cd507ce7f78c6f8742b72736585c031d5a921 Author: Huang, Ying Date: Fri Jun 20 16:39:21 2008 +0800 lockdep: add lock_class information to lock_chain and output it This patch records array of lock_class into lock_chain, and export lock_chain information via /proc/lockdep_chains. It is based on x86/master branch of git-x86 tree, and has been tested on x86_64 platform. Signed-off-by: Huang Ying Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6c3df25511c2c51f2dd36cc52a8d22363d731793 Author: Peter Zijlstra Date: Thu Jun 19 14:22:28 2008 +0200 sched: rt: dont stop the period timer when there are tasks wanting to run So if the group ever gets throttled, it will never wake up again. Signed-off-by: Peter Zijlstra Cc: "Daniel K." Cc: Peter Zijlstra Reported-by: "Daniel K." commit 10b612f440a22a294e87ec7e8f03f9eea3338628 Author: Peter Zijlstra Date: Thu Jun 19 14:22:27 2008 +0200 sched: rt: fix the bandwidth contraint computations Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit eff6549b957d15d1ad168d90b8c1eb643b9c163f Author: Peter Zijlstra Date: Thu Jun 19 14:22:26 2008 +0200 sched: rt: move some code around Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit b79f3833d81d54fc71d98c8064dc45f33a755a8a Author: Peter Zijlstra Date: Thu Jun 19 14:22:25 2008 +0200 sched: rt: fix SMP bandwidth balancing for throttled groups Now we exceed the runtime and get throttled - the period rollover tick will subtract the cpu quota from the runtime and check if we're below quota. However with this cpu having a very small portion of the runtime it will not refresh as fast as it should. Therefore, also rebalance the runtime when we're throttled. Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit ada18de2eb76961a4d4847f63291744c9e7beec4 Author: Peter Zijlstra Date: Thu Jun 19 14:22:24 2008 +0200 sched: debug: add some rt debug output Signed-off-by: Peter Zijlstra Cc: "Daniel K." Signed-off-by: Ingo Molnar commit 7dbceaf9bb68919651901b101f44edd5391ee489 Author: Ingo Molnar Date: Fri Jun 20 07:28:24 2008 +0200 x86, bitops: make constant-bit set/clear_bit ops faster, adapt, clean up fix integration bug introduced by "x86: bitops take an unsigned long *" which turned "(void *) + x" into "(long *) + x". small cleanups to make it more apparent which value get propagated where. Signed-off-by: Ingo Molnar commit 8427f1361225ca27679a6d810c04ddbc357602a7 Author: Michael Chan Date: Thu Jun 19 16:44:44 2008 -0700 bnx2: Update driver version to 1.7.7. And update module description. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 2739a8bb5b13653999827da09565b1bca5cec67d Author: Michael Chan Date: Thu Jun 19 16:44:10 2008 -0700 bnx2: Cleanup error handling in bnx2_open(). All error handling in bnx2_open() can be consolidated. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 5e9ad9e108883503fedfac3279ac101dce00bb56 Author: Michael Chan Date: Thu Jun 19 16:43:17 2008 -0700 bnx2: Turn on multi rx rings. Enable multiple rx rings if MSI-X vectors are available. We enable up to 7 rx rings. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 2dffcc3dcd659b10ff97c6eda427d9d83a94a399 Author: Michael Chan Date: Thu Jun 19 16:42:39 2008 -0700 bnx2: Update firmware to support multi rx rings. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit f0ea2e63859cf234b7017a2d7bba2a5a1db3bf25 Author: Michael Chan Date: Thu Jun 19 16:41:57 2008 -0700 bnx2: Use one handler for all MSI-X vectors. Use the same MSI-X handler to schedule NAPI. Change the dev_instance void pointer to the bnx2_napi struct instead so we can have the proper context for each MSI-X vector. Add a new bnx2_poll_msix() that is optimized for handling MSI-X NAPI polling of rx/tx work only. Remove the old bnx2_tx_poll() that is no longer needed. Each MSI-X vector handles 1 tx and 1 rx ring. The first vector handles link events as well. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 43e80b89b65cbc62b5e0fde09b47c9fc572a8b11 Author: Michael Chan Date: Thu Jun 19 16:41:08 2008 -0700 bnx2: Optimize fast-path tx and rx work. Add hw_tx_cons_ptr and hw_rx_cons_ptr to speed up the retreival of the tx and rx consumer index, since the MSI-X and default status blocks have different structures. Combine status_blk and status_blk_msix into a union. We'll only use one type of status block for each vector. Separate the code to detect more rx and tx work from the code to detect link related work. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit bb4f98abf590cf9899017f14f1a54984f02a0009 Author: Michael Chan Date: Thu Jun 19 16:38:19 2008 -0700 bnx2: Put rx ring variables in a separate struct. In preparation for multi-ring support, rx ring variables are now put in a separate bnx2_rx_ring_info struct. With MSI-X, we can support multiple rx rings. The functions to allocate/free rx memory and to initialize rx rings are now modified to handle multiple rings. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 35e9010b22503f42cbf88144ffe1feff90ea3835 Author: Michael Chan Date: Thu Jun 19 16:37:42 2008 -0700 bnx2: Put tx ring variables in a separate struct. In preparation for multi-ring support, tx ring variables are now put in a separate bnx2_tx_ring_info struct. Multi tx ring will not be enabled until it is fully supported by the stack. Only 1 tx ring will be used at the moment. The functions to allocate/free tx memory and to initialize tx rings are now modified to handle multiple rings. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 4497b0763cb1afae463f5e144c28b5d806e28b60 Author: Ben Hutchings Date: Thu Jun 19 16:22:28 2008 -0700 net: Discard and warn about LRO'd skbs received for forwarding Add skb_warn_if_lro() to test whether an skb was received with LRO and warn if so. Change br_forward(), ip_forward() and ip6_forward() to call it) and discard the skb if it returns true. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0187bdfb05674147774ca79a79942537f3ad54bd Author: Ben Hutchings Date: Thu Jun 19 16:15:47 2008 -0700 net: Disable LRO on devices that are forwarding Large Receive Offload (LRO) is only appropriate for packets that are destined for the host, and should be disabled if received packets may be forwarded. It can also confuse the GSO on output. Add dev_disable_lro() function which uses the appropriate ethtool ops to disable LRO if enabled. Add calls to dev_disable_lro() in br_add_if() and functions that enable IPv4 and IPv6 forwarding. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2e3216cd54b142ba605e87522e15f42e0c4e3996 Author: Vlad Yasevich Date: Thu Jun 19 16:08:18 2008 -0700 sctp: Follow security requirement of responding with 1 packet RFC 4960, Section 11.4. Protection of Non-SCTP-Capable Hosts When an SCTP stack receives a packet containing multiple control or DATA chunks and the processing of the packet requires the sending of multiple chunks in response, the sender of the response chunk(s) MUST NOT send more than one packet. If bundling is supported, multiple response chunks that fit into a single packet MAY be bundled together into one single response packet. If bundling is not supported, then the sender MUST NOT send more than one response chunk and MUST discard all other responses. Note that this rule does NOT apply to a SACK chunk, since a SACK chunk is, in itself, a response to DATA and a SACK does not require a response of more DATA. We implement this by not servicing our outqueue until we reach the end of the packet. This enables maximum bundling. We also identify 'response' chunks and make sure that we only send 1 packet when sending such chunks. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 7115e632f90952454ab6426e0d2151327162a30f Author: Wei Yongjun Date: Thu Jun 19 16:07:48 2008 -0700 sctp: Validate Initiate Tag when handling ICMP message This patch add to validate initiate tag and chunk type if verification tag is 0 when handling ICMP message. RFC 4960, Appendix C. ICMP Handling ICMP6) An implementation MUST validate that the Verification Tag contained in the ICMP message matches the Verification Tag of the peer. If the Verification Tag is not 0 and does NOT match, discard the ICMP message. If it is 0 and the ICMP message contains enough bytes to verify that the chunk type is an INIT chunk and that the Initiate Tag matches the tag of the peer, continue with ICMP7. If the ICMP message is too short or the chunk type or the Initiate Tag does not match, silently discard the packet. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 0344f1c66b544609e867bd24aa7bfa789dfa9830 Merge: dad9b33... ef3a62d... Author: David S. Miller Date: Thu Jun 19 16:00:04 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/tx.c commit 5f0120b5786f5dbe097a946a2eb5d745ebc2b7ed Author: Jan Beulich Date: Wed Jun 18 12:42:11 2008 +0100 x86-64: remove unnecessary ptregs call stubs Signed-off-by: Jan Beulich Cc: "Andi Kleen" Signed-off-by: Ingo Molnar commit 1a750e0cd7a30c478723ecfa1df685efcdd38a90 Author: Linus Torvalds Date: Wed Jun 18 21:03:26 2008 -0700 x86, bitops: make constant-bit set/clear_bit ops faster On Wed, 18 Jun 2008, Linus Torvalds wrote: > > And yes, the "lock andl" should be noticeably faster than the xchgl. I dunno. Here's a untested (!!) patch that turns constant-bit set/clear_bit ops into byte mask ops (lock orb/andb). It's not exactly pretty. The reason for using the byte versions is that a locked op is serialized in the memory pipeline anyway, so there are no forwarding issues (that could slow down things when we access things with different sizes), and the byte ops are a lot smaller than 32-bit and particularly 64-bit ops (big constants, and the 64-bit ops need the REX prefix byte too). [ Side note: I wonder if we should turn the "test_bit()" C version into a "char *" version too.. It could actually help with alias analysis, since char pointers can alias anything. So it might be the RightThing(tm) to do for multiple reasons. I dunno. It's a separate issue. ] It does actually shrink the kernel image a bit (a couple of hundred bytes on the text segment for my everything-compiled-in image), and while it's totally untested the (admittedly few) code generation points I looked at seemed sane. And "lock orb" should be noticeably faster than "lock bts". If somebody wants to play with it, go wild. I didn't do "change_bit()", because nobody sane uses that thing anyway. I guarantee nothing. And if it breaks, nobody saw me do anything. You can't prove this email wasn't sent by somebody who is good at forging smtp. This does require a gcc that is recent enough for "__builtin_constant_p()" to work in an inline function, but I suspect our kernel requirements are already higher than that. And if you do have an old gcc that is supported, the worst that would happen is that the optimization doesn't trigger. Signed-off-by: Ingo Molnar commit dd0c7c4903c29da9aa3bf33deecf064d190a0d81 Author: Andreas Herrmann Date: Wed Jun 18 15:38:57 2008 +0200 x86: shrink pat_x_mtrr_type to its essentials Signed-off-by: Andreas Herrmann Cc: Venkatesh Pallipadi Cc: Suresh B Siddha Cc: Hugh Dickins Signed-off-by: Ingo Molnar commit b8e0418b2a25f975c3b8764030c24b7253d33a68 Author: Glauber Costa Date: Mon Jun 16 19:59:08 2008 -0300 x86: fix typo CONFIX -> CONFIG Signed-off-by: Ingo Molnar commit 31a72bce0bd6f3e0114009288bccbc96376eeeca Author: Paul E. McKenney Date: Wed Jun 18 09:26:49 2008 -0700 rcu: make rcutorture more vicious: reinstate boot-time testing This patch re-institutes the ability to build rcutorture directly into the Linux kernel. The reason that this capability was removed was that this could result in your kernel being pretty much useless, as rcutorture would be running starting from early boot. This problem has been avoided by (1) making rcutorture run only three seconds of every six by default, (2) adding a CONFIG_RCU_TORTURE_TEST_RUNNABLE that permits rcutorture to be quiesced at boot time, and (3) adding a sysctl in /proc named /proc/sys/kernel/rcutorture_runnable that permits rcutorture to be quiesced and unquiesced when built into the kernel. Please note that this /proc file is -not- available when rcutorture is built as a module. Please also note that to get the earlier take-no-prisoners behavior, you must use the boot command line to set rcutorture's "stutter" parameter to zero. The rcutorture quiescing mechanism is currently quite crude: loops in each rcutorture process that poll a global variable once per tick. Suggestions for improvement are welcome. The default action will be to reduce the polling rate to a few times per second. Signed-off-by: Paul E. McKenney Suggested-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 28bb171169247754bae47bad0609208333e7a34b Author: Harvey Harrison Date: Wed Jun 18 13:45:13 2008 -0700 alsa: add annotations to bitwise type snd_pcm_hw_param_t Fully half of all alsa sparse warnings are from snd_pcm_hw_param_t degrading to integer type, this goes a long way towards eliminating them. Signed-off-by: Harvey Harrison Signed-off-by: Jaroslav Kysela commit 1cdad71537b42d0f0bf247772942ce678e4e8898 Merge: 20b6331... 15a8641... Author: Ingo Molnar Date: Thu Jun 19 09:09:15 2008 +0200 Merge branch 'sched' into sched-devel Conflicts: kernel/sched_rt.c Signed-off-by: Ingo Molnar commit 3dfa8773674e16f95f70a0e631e80c69390d04d7 Author: Kumar Gala Date: Mon Jun 16 09:41:32 2008 -0500 powerpc/booke: Add support for new e500mc core The new e500mc core from Freescale is based on the e500v2 but with the following changes: * Supports only the Enhanced Debug Architecture (DSRR0/1, etc) * Floating Point * No SPE * Supports lwsync * Doorbell Exceptions * Hypervisor * Cache line size is now 64-bytes (e500v1/v2 have a 32-byte cache line) Signed-off-by: Kumar Gala commit 688c91755dc3d3c03d8c67c1df13c02be258768e Author: Arjan van de Ven Date: Mon Jun 16 15:51:08 2008 -0700 softlockup: print a module list on being stuck Most places in the kernel that go BUG: print a module list (which is very useful for doing statistics and finding patterns), however the softlockup detector does not do this yet. This patch adds the one line change to fix this gap. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit d120f65f3aaf306c957bc4c82e510f5b0f1e9b27 Author: Paul E. McKenney Date: Wed Jun 18 05:21:44 2008 -0700 rcu: make rcutorture more vicious: add stutter feature This patch takes a step towards making rcutorture more brutal by allowing the test to be automatically periodically paused, with the default being to run the test for five seconds then pause for five seconds and repeat. This behavior can be controlled using a new "stutter" module parameter, so that "stutter=0" gives the old default behavior of running continuously. Starting and stopping rcutorture more heavily stresses RCU's interaction with the scheduler, as well as exercising more paths through the grace-period detection code. Note that the default to "shuffle_interval" has also been adjusted from 5 seconds to 3 seconds to provide varying overlap with the "stutter" interval. I am still unable to provoke the failures that Alexey has been seeing, even with this patch, but will be doing a few additional things to beef up rcutorture. Suggested-by: Ingo Molnar Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 219835f10eaef19d2b976076f2bc4ad806856c55 Author: Paolo Ciarrocchi Date: Sat Jun 14 21:11:39 2008 +0200 x86: coding style fixes to x86/kernel/cpu/cpufreq/cpufreq-nforce2.c Before: total: 22 errors, 8 warnings, 440 lines checked After: total: 0 errors, 8 warnings, 442 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/cpufreq-nforce2.o.* 3d4330a5d188fe904446e5948a618b48 /tmp/cpufreq-nforce2.o.after 1477e6b0dcd6f59b1fb6b4490042eca6 /tmp/cpufreq-nforce2.o.before ^^^ I guess this is because I fixed a few "do not initialise statics to 0 or NULL" paolo@paolo-desktop:~/linux.trees.git$ size /tmp/cpufreq-nforce2.o.* text data bss dec hex filename 1923 72 16 2011 7db /tmp/cpufreq-nforce2.o.after 1923 72 16 2011 7db /tmp/cpufreq-nforce2.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit f016e15c11ba8945ff8e1945445648722d6fadfb Author: Paolo Ciarrocchi Date: Sat Jun 14 20:44:52 2008 +0200 x86: coding style fixes to arch/x86/math-emu/reg_constant Before: total: 6 errors, 1 warnings, 117 lines checked After: total: 0 errors, 1 warnings, 117 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/reg_constant.o.* 780388a3056d58fb759efaf190d5d3d1 /tmp/reg_constant.o.after 780388a3056d58fb759efaf190d5d3d1 /tmp/reg_constant.o.before paolo@paolo-desktop:~/linux.trees.git$ size /tmp/reg_constant.o.* text data bss dec hex filename 457 0 0 457 1c9 /tmp/reg_constant.o.after 457 0 0 457 1c9 /tmp/reg_constant.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 5175676a2d012ca5e5ad5eaedbfc1da5d5660d2a Author: Paolo Ciarrocchi Date: Sat Jun 14 14:37:14 2008 +0200 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/k7.c Before: total: 6 errors, 13 warnings, 105 lines checked After: total: 0 errors, 0 warnings, 105 lines checked paolo@paolo-desktop:~/linux.trees.git$ size /tmp/k7* text data bss dec hex filename 1135 0 0 1135 46f /tmp/k7.o.after 1135 0 0 1135 46f /tmp/k7.o.before paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/k7* 87b14954045aa37dbaee6fb7e022ed9a /tmp/k7.o.after 87b14954045aa37dbaee6fb7e022ed9a /tmp/k7.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit fe94ae995d33a4df35b6b9cd0504e87d7e37c8de Author: Paolo Ciarrocchi Date: Sat Jun 14 14:06:19 2008 +0200 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/p4.c Before: total: 16 errors, 34 warnings, 257 lines checked After: total: 0 errors, 2 warnings, 257 lines checked No changes in the compiled code: paolo@paolo-desktop:~/linux.trees.git$ size /tmp/p4* text data bss dec hex filename 2644 4 4 2652 a5c /tmp/p4.o.after 2644 4 4 2652 a5c /tmp/p4.o.before paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/p4* 13f1b21c4246b31a28aaff38184586ca /tmp/p4.o.after 13f1b21c4246b31a28aaff38184586ca /tmp/p4.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 4620b49f76096fa5183eecad7d689faa898a4c82 Author: Vegard Nossum Date: Thu Jun 12 23:21:53 2008 +0200 softirq: remove initialization of static per-cpu variable Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit e17ba73b0ee6c0f24393c48b455e0d8db761782c Author: Jiri Slaby Date: Mon May 12 15:44:40 2008 +0200 x86, generic: mark early_printk as asmlinkage It's not explicitly marked as asmlinkage, but invoked from x86_32 startup code with parameters on stack. No other architectures define early_printk and none of them are affected by this change, since defines asmlinkage as empty token. Signed-off-by: Jiri Slaby Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 20b6331bfed1f07ba1e5006889a5d64adc53615e Author: Dmitry Adamushko Date: Wed Jun 11 00:58:30 2008 +0200 sched: rework of "prioritize non-migratable tasks over migratable ones" regarding this commit: 45c01e824991b2dd0a332e19efc4901acb31209f I think we can do it simpler. Please take a look at the patch below. Instead of having 2 separate arrays (which is + ~800 bytes on x86_32 and twice so on x86_64), let's add "exclusive" (the ones that are bound to this CPU) tasks to the head of the queue and "shared" ones -- to the end. In case of a few newly woken up "exclusive" tasks, they are 'stacked' (not queued as now), meaning that a task {i+1} is being placed in front of the previously woken up task {i}. But I don't think that this behavior may cause any realistic problems. There are a couple of changes on top of this one. (1) in check_preempt_curr_rt() I don't think there is a need for the "pick_next_rt_entity(rq, &rq->rt) != &rq->curr->rt" check. enqueue_task_rt(p) and check_preempt_curr_rt() are always called one after another with rq->lock being held so the following check "p->rt.nr_cpus_allowed == 1 && rq->curr->rt.nr_cpus_allowed != 1" should be enough (well, just its left part) to guarantee that 'p' has been queued in front of the 'curr'. (2) in set_cpus_allowed_rt() I don't thinks there is a need for requeue_task_rt() here. Perhaps, the only case when 'requeue' (+ reschedule) might be useful is as follows: i) weight == 1 && cpu_isset(task_cpu(p), *new_mask) i.e. a task is being bound to this CPU); ii) 'p' != rq->curr but here, 'p' has already been on this CPU for a while and was not migrated. i.e. it's possible that 'rq->curr' would not have high chances to be migrated right at this particular moment (although, has chance in a bit longer term), should we allow it to be preempted. Anyway, I think we should not perhaps make it more complex trying to address some rare corner cases. For instance, that's why a single queue approach would be preferable. Unless I'm missing something obvious, this approach gives us similar functionality at lower cost. Verified only compilation-wise. (Almost)-Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit f7d62364b2cef85cbcd4feffdd3632ef7c3b61c2 Author: Hiroshi Shimamoto Date: Tue Jun 10 20:29:19 2008 -0700 sched: fix typo in Documentation/scheduler/sched-rt-group.txt Fix minor typos. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 0db125c467afcbcc229abb1a87bc36ef72777dc2 Author: Vegard Nossum Date: Tue Jun 10 23:45:45 2008 +0200 x86: more header fixes Summary: Add missing include guards for some x86 headers. This has only had the most rudimentary testing, but is hopefully obviously correct. Signed-off-by: Ingo Molnar commit 6cf514fce18589ea1e0521c5f2d7c2bb280fefc7 Author: Hugh Dickins Date: Mon Jun 16 18:42:43 2008 +0100 x86: PAT: make pat_x_mtrr_type() more readable Clean up over-complications in pat_x_mtrr_type(). And if reserve_memtype() ignores stray req_type bits when pat_enabled, it's better to mask them off when not also. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit dad9b335c6940de2746a9788eb456d09cf102f81 Author: Wang Chen Date: Wed Jun 18 01:48:28 2008 -0700 netdevice: Fix promiscuity and allmulti overflow Max of promiscuity and allmulti plus positive @inc can cause overflow. Fox example: when allmulti=0xFFFFFFFF, any caller give dev_set_allmulti() a positive @inc will cause allmulti be off. This is not what we want, though it's rare case. The fix is that only negative @inc will cause allmulti or promiscuity be off and when any caller makes the counters touch the roof, we return error. Change of v2: Change void function dev_set_promiscuity/allmulti to return int. So callers can get the overflow error. Caller's fix will be done later. Change of v3: 1. Since we return error to caller, we don't need to print KERN_ERROR, KERN_WARNING is enough. 2. In dev_set_promiscuity(), if __dev_set_promiscuity() failed, we return at once. Signed-off-by: Wang Chen Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit b4b3bd96f26586e53ab5482f1869221dd1b5ac36 Author: Daniel Rahn Date: Fri Jun 6 09:42:36 2008 +0200 x86: correctly report NR_BANKS in mce_64.c attached is a no-brainer that makes kernel correctly report NR_BANKS for MCE. We are right now limited to NR_BANKS==6, but the error message will use the available number of banks instead of the defined maximum. For a Nehalem based system it will print: "MCE: warning: using only 9 banks" while the correct message would be "MCE: warning: using only 6 banks" Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 5af970a48f3ba0dd96a036b196c79dc923f28231 Author: Ingo Molnar Date: Wed Jun 18 10:09:48 2008 +0200 rcutorture: WARN_ON_ONCE(1) when detecting an error this makes it easier for automated tests to pick up such failures. commit dd574dbfcc9e74e7dd8fd59ae0075d23e71a3da1 Author: Rami Rosen Date: Wed Jun 18 00:51:09 2008 -0700 ipv6: minor cleanup in net/ipv6/tcp_ipv6.c [RESEND ]. In net/ipv6/tcp_ipv6.c: - Remove unneeded tcp_v6_send_check() declaration. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 1301a964cef2759d46b4ce366eeeee1f869731f9 Author: Randy Dunlap Date: Tue Jun 17 19:19:34 2008 +0100 ALSA: ASoC: fix PM=n build Fix sound/soc build failure when CONFIG_PM=n: linux-next-20080617/sound/soc/soc-core.c:829: error: 'soc_resume_deferred' undeclared (first use in this function) soc3.out:make[3]: *** [sound/soc/soc-core.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f52845ad771a2b62bc06bc940f16c8f6296654ec Author: Takashi Iwai Date: Tue Jun 17 16:35:22 2008 +0200 ALSA: ca0106 - Add entry for another MSI K8N Diamond MB Added an entry for another MSI K8N Diamond mobo with SSID 1102:1009. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43785eaeb1cfb8aed3cf8027f298b242f88fdc45 Author: Takashi Iwai Date: Mon Jun 16 15:47:26 2008 +0200 ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode Don't create mixer volume elements for Headphone and Speaker if they use the same DAC as normal line-outs on AD1988. Otherwise the amp value gets screwed up, e.g. https://bugzilla.novell.com/show_bug.cgi?id=398255 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83544994a6a592073e9f6b937c6da12cf5ed2d1e Author: Timur Tabi Date: Fri Jun 13 14:02:31 2008 -0500 ALSA: Fix register programming in Freescale MPC8610 HPCD sound driver Fix the Freescale MPC8610 HPCD sound driver so that it programs the DMACR and PMUXCR registers in the global utilities correctly. Signed-off-by: Timur Tabi Acked-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 972692e0db9b0a62329ca394062b58917ddbd03c Author: David S. Miller Date: Tue Jun 17 22:41:38 2008 -0700 net: Add sk_set_socket() helper. In order to more easily grep for all things that set sk->sk_socket, add sk_set_socket() helper inline function. Suggested (although only half-seriously) by Evgeniy Polyakov. Signed-off-by: David S. Miller commit 5bbc1722d52ad3df062d5742a7e958276e57ebd7 Merge: 30902dc... ae7b648... Author: David S. Miller Date: Tue Jun 17 21:37:14 2008 -0700 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 30902dc3cb0ea1cfc7ac2b17bcf478ff98420d74 Author: David S. Miller Date: Tue Jun 17 21:26:37 2008 -0700 ax25: Fix std timer socket destroy handling. Tihomir Heidelberg - 9a4gl, reports: -------------------- I would like to direct you attention to one problem existing in ax.25 kernel since 2.4. If listening socket is closed and its SKB queue is released but those sockets get weird. Those "unAccepted()" sockets should be destroyed in ax25_std_heartbeat_expiry, but it will not happen. And there is also a note about that in ax25_std_timer.c: /* Magic here: If we listen() and a new link dies before it is accepted() it isn't 'dead' so doesn't get removed. */ This issue cause ax25d to stop accepting new connections and I had to restarted ax25d approximately each day and my services were unavailable. Also netstat -n -l shows invalid source and device for those listening sockets. It is strange why ax25d's listening socket get weird because of this issue, but definitely when I solved this bug I do not have problems with ax25d anymore and my ax25d can run for months without problems. -------------------- Actually as far as I can see, this problem is even in releases as far back as 2.2.x as well. It seems senseless to special case this test on TCP_LISTEN state. Anything still stuck in state 0 has no external references and we can just simply kill it off directly. Signed-off-by: David S. Miller commit 9d45abe1c2949183e5d9cb25721bf1c42c7b5e3b Author: Wang Chen Date: Tue Jun 17 21:12:48 2008 -0700 netdevice: change net_device->promiscuity/allmulti to unsigned int The comments of dev_set_allmulti/promiscuity() is that "While the count in the device remains above zero...". So negative count is useless. Fix the type of the counter from "int" to "unsigned int". Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit cb61cb9b8b5ef6c2697d84e5015e314626eb2fba Author: Eric Dumazet Date: Tue Jun 17 21:04:56 2008 -0700 udp: sk_drops handling In commits 33c732c36169d7022ad7d6eb474b0c9be43a2dc1 ([IPV4]: Add raw drops counter) and a92aa318b4b369091fd80433c80e62838db8bc1c ([IPV6]: Add raw drops counter), Wang Chen added raw drops counter for /proc/net/raw & /proc/net/raw6 This patch adds this capability to UDP sockets too (/proc/net/udp & /proc/net/udp6). This means that 'RcvbufErrors' errors found in /proc/net/snmp can be also be examined for each udp socket. # grep Udp: /proc/net/snmp Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors Udp: 23971006 75 899420 16390693 146348 0 # cat /proc/net/udp sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt --- uid timeout inode ref pointer drops 75: 00000000:02CB 00000000:0000 07 00000000:00000000 00:00000000 00000000 --- 0 0 2358 2 ffff81082a538c80 0 111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000 --- 0 0 2286 2 ffff81042dd35c80 146348 In this example, only port 111 (0x006F) was flooded by messages that user program could not read fast enough. 146348 messages were lost. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ae7b6487ec9c2e2a1551b9d291aa0dbbe0addf48 Author: Jeff Kirsher Date: Wed Jun 11 15:15:53 2008 -0700 MAINTAINERS Add PJ Waskiewicz to the list of maintainers for Intel 10/100/1000/10GbE adapters. Signed-off-by: Jeff Kirsher Signed-off-by: PJ Waskiewicz Signed-off-by: Jeff Garzik commit b8a9787eddb0e4665f31dd1d64584732b2b5d051 Author: Jay Vosburgh Date: Fri Jun 13 18:12:04 2008 -0700 bonding: Allow setting max_bonds to zero Permit bonding to function rationally if max_bonds is set to zero. This will load the module, but create no master devices (which can be created via sysfs). Requires some change to bond_create_sysfs; currently, the netdev sysfs directory is determined from the first bonding device created, but this is no longer possible. Instead, an interface from net/core is created to create and destroy files in net_class. Based on a patch submitted by Phil Oester . Modified by Jay Vosburgh to fix the sysfs issue mentioned above and to update the documentation. Signed-off-by: Phil Oester Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit b59f9f74c4c0a569398f08c34a877f1b7b457496 Author: Jay Vosburgh Date: Fri Jun 13 18:12:03 2008 -0700 bonding: Rework / fix multiple gratuitous ARP support Support for sending multiple gratuitous ARPs during failovers was added by commit: commit 7893b2491a2d5f716540ac5643d78d37a7f6628b Author: Moni Shoua Date: Sat May 17 21:10:12 2008 -0700 bonding: Send more than one gratuitous ARP when slave takes over This change modifies that support to remove duplicated code, add support for ARP monitor (the original only supported miimon), clear the grat ARP counter in bond_close (lest a later "ifconfig up" immediately start spewing ARPs), and add documentation for the module parameter. Also updated driver version to 3.3.0. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 01f3109de49a889db8adf9116449727547ee497e Author: Or Gerlitz Date: Fri Jun 13 18:12:02 2008 -0700 bonding: deliver netdev event for fail-over under the active-backup mode under active-backup mode and when there's actual new_active slave, have bond_change_active_slave() call the networking core to deliver NETDEV_BONDING_FAILOVER event such that the fail-over can be notable by code outside of the bonding driver such as the RDMA stack and monitoring tools. As the correct context of locking appropriate for notifier calls is RTNL and nothing else, bond->curr_slave_lock and bond->lock are unlocked and later locked again. This is ensured by the rest of the code to be safe under backup-mode AND when new_active is not NULL. Jay Vosburgh modified the original patch for formatting and fixed a compiler error. Signed-off-by: Or Gerlitz Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 709f8a45e8521f2f4229e5fdf3ded1fb77e2ca4e Author: Or Gerlitz Date: Fri Jun 13 18:12:01 2008 -0700 bonding: bond_change_active_slave() cleanup under active-backup simplified the code of bond_change_active_slave() such that under active-backup mode there's one "if (new_active)" test and the rest of the code only does extra checks on top of it. This removed an unneeded "if (bond->send_grat_arp > 0)" check and avoid calling bond_send_gratuitous_arp when there's no active slave. Jay Vosburgh made minor coding style changes to the orignal patch. Signed-off-by: Or Gerlitz Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit c1da4ac752b8b0411791d26c678fcf23d2eed242 Author: Or Gerlitz Date: Fri Jun 13 18:12:00 2008 -0700 net/core: add NETDEV_BONDING_FAILOVER event Add NETDEV_BONDING_FAILOVER event to be used in a successive patch by bonding to announce fail-over for the active-backup mode through the netdev events notifier chain mechanism. Such an event can be of use for the RDMA CM (communication manager) to let native RDMA ULPs (eg NFS-RDMA, iSER) always be aligned with the IP stack, in the sense that they use the same ports/links as the stack does. More usages can be done to allow monitoring tools based on netlink events being aware to bonding fail-over. Signed-off-by: Or Gerlitz Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 743d32ad3688a6035374885809e1e982adbf16b1 Author: Stephen Hemminger Date: Tue Jun 17 09:04:28 2008 -0700 sky2: version 1.22 New version to reflect new hardware support Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 0ce8b98d55861d5d86ef9bd8df69282b8c5f0b70 Author: Stephen Hemminger Date: Tue Jun 17 09:04:27 2008 -0700 sky2: 88E8057 chip support Add support for Yukon 2 Ultra 2 chip set (88E8057) based on code in latest version of vendor driver (sk98lin 10.60.2.3). Untested on real hardware. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e6cac9badd45439c9a29b289153c39993b471b4c Author: Stephen Hemminger Date: Tue Jun 17 09:04:26 2008 -0700 sky2: use DEFINE_PCI_DEVICE_TABLE PCI device table can be marked as devinitconst by using macro. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c7127a347be8141d395178194b98ecda8fefa1fc Author: Stephen Hemminger Date: Tue Jun 17 09:04:25 2008 -0700 sky2: chip version printout Change how chip version is printed so that if an unknown version is detected nothing breaks. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e1a74b375ca084add9164ae30ca0fdb9fe691ec9 Author: Stephen Hemminger Date: Tue Jun 17 09:04:24 2008 -0700 sky2: phy setup changes Change the setup of the PHY registers on some chip ids. These changes make the latest sky2 driver follow the vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 84aee4889ee843f4cde1c3fb1acfd116733660ef Author: Josh Boyer Date: Tue Jun 17 19:35:23 2008 -0400 ibm_emac: Remove the ibm_emac driver The arch/ppc sub-tree has been removed in the powerpc git tree. The old ibm_emac driver is no longer used by anything as a result of this. This removes it, leaving the ibm_newemac driver as the proper driver to use for PowerPC boards with the EMAC hardware. Signed-off-by: Josh Boyer Signed-off-by: Jeff Garzik commit ebaac8c9a5b9e8aeab4009cefcfc1e9421337ac5 Merge: fe2c802... 85ba9d9... Author: Jeff Garzik Date: Tue Jun 17 23:24:19 2008 -0400 Merge branch 'for-2.6.27' of git://git.marvell.com/mv643xx_eth into upstream-next commit fe2c802ab62aa63d276deafa905875f3455f2621 Author: Bernard Pidoux Date: Tue Jun 17 17:08:32 2008 -0700 rose: improving AX25 routing frames via ROSE network ROSE network is organized through nodes connected via hamradio or Internet. AX25 packet radio frames sent to a remote ROSE address destination are routed through these nodes. Without the present patch, automatic routing mechanism did not work optimally due to an improper parameter checking. rose_get_neigh() function is called either by rose_connect() or by rose_route_frame(). In the case of a call from rose_connect(), f0 timer is checked to find if a connection is already pending. In that case it returns the address of the neighbour, or returns a NULL otherwise. When called by rose_route_frame() the purpose was to route a packet AX25 frame through an adjacent node given a destination rose address. However, in that case, t0 timer checked does not indicate if the adjacent node is actually connected even if the timer is not null. Thus, for each frame sent, the function often tried to start a new connexion even if the adjacent node was already connected. The patch adds a "new" parameter that is true when the function is called by rose route_frame(). This instructs rose_get_neigh() to check node parameter "restarted". If restarted is true it means that the route to the destination address is opened via a neighbour node already connected. If "restarted" is false the function returns a NULL. In that case the calling function will initiate a new connection as before. This results in a fast routing of frames, from nodes to nodes, until destination is reached, as originaly specified by ROSE protocole. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit e92481f95375aa2702ea5018b0295792ae0fa9c1 Author: Chas Williams Date: Tue Jun 17 16:23:11 2008 -0700 atm: [fore200e] convert to use request_firmware() Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 7255ca3f3c928fec6d9ce607fed7d0a4f4fca6f7 Author: Chas Williams Date: Tue Jun 17 16:21:44 2008 -0700 atm: [he] remove #ifdef clutter Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 97928f7021dc70f268037e9a7ea18a7345762fca Author: Alan Cox Date: Tue Jun 17 16:21:18 2008 -0700 atm: [iphase] 64-bit cleanup This fixes the most obvious 64-bit problems, but it is still very very broken in other aspects. Signed-off-by: Alan Cox Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 61c33e012964ce358b42d2a1e9cd309af5dab02b Author: Mitchell Blank Jr Date: Tue Jun 17 16:20:06 2008 -0700 atm: use const where reasonable From: Mitchell Blank Jr Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit df3bc8bd8f8fd17e9b22859d82af38fa702e75b7 Author: Chas Williams Date: Tue Jun 17 16:19:24 2008 -0700 atm: [suni] add support for setting loopback and framing modes Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 2be63b878f2a1e6d939b05f4f5cb733cb39bcd22 Author: Jorge Boncompte [DTI2] Date: Tue Jun 17 16:18:49 2008 -0700 atm: [iphase] move struct suni_priv to suni.h Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit f586287e0fed366d80822666f70487472ab8793a Author: Randy Dunlap Date: Tue Jun 17 16:16:13 2008 -0700 bridge: fix IPV6=n build Fix bridge netfilter code so that it uses CONFIG_IPV6 as needed: net/built-in.o: In function `ebt_filter_ip6': ebt_ip6.c:(.text+0x87c37): undefined reference to `ipv6_skip_exthdr' net/built-in.o: In function `ebt_log_packet': ebt_log.c:(.text+0x88dee): undefined reference to `ipv6_skip_exthdr' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 92c0574f11598c8036f81e27d2e8bdd6eed7d76d Author: Stephen Hemminger Date: Tue Jun 17 16:10:06 2008 -0700 bridge: make bridge address settings sticky Normally, the bridge just chooses the smallest mac address as the bridge id and mac address of bridge device. But if the administrator has explictly set the interface address then don't change it. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 43aa1920117801fe9ae3d1fad886b62511e09bee Author: Stephen Hemminger Date: Tue Jun 17 16:09:45 2008 -0700 bridge: handle process all link-local frames Any frame addressed to link-local addresses should be processed by local receive path. The earlier code would process them only if STP was enabled. Since there are other frames like LACP for bonding, we should always process them. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5ce4b59653b2c2053cd9a011918ac1e4747f24cc Author: Josh Boyer Date: Tue Jun 17 19:01:38 2008 -0400 powerpc/4xx: Workaround for PPC440EPx/GRx PCI_28 Errata The 440EPx/GRx chips don't support PCI MRM commands. Drivers determine this by looking for a zero value in the PCI cache line size register. However, some drivers write to this register upon initialization. This can cause MRMs to be used on these chips, which may cause deadlocks on PLB4. The workaround implemented here introduces a new indirect_type flag, called PPC_INDIRECT_TYPE_BROKEN_MRM. This is set in the pci_controller structure in the pci fixup function for 4xx PCI bridges by determining if the bridge is compatible with 440EPx/GRx. The flag is checked in the indirect_write_config function, and forces any writes to the PCI_CACHE_LINE_SIZE register to be zero, which will disable MRMs for these chips. A similar workaround has been tested by AMCC on various PCI cards, such as the Silicon Image ATA card and Intel E1000 GIGE card. Hangs were seen with the Silicon Image card, and MRMs were seen on the bus with a PCI analyzer. With the workaround in place, the card functioned properly and only Memory Reads were seen on the bus with the analyzer. Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 3d00fb9eb11ac49d4035f756d116deeeaf99a26b Author: Pavel Emelyanov Date: Tue Jun 17 15:54:14 2008 -0700 sctp: fix error path in sctp_proc_init After the sctp_remaddr_proc_init failed, the proper rollback is not the sctp_remaddr_proc_exit, but the sctp_assocs_proc_exit. Signed-off-by: Pavel Emelyanov Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 15439dd37f92f930ac7fc65a4f261834e4215bb0 Merge: 39ab9dd... 90d95ef... Author: Dmitry Torokhov Date: Tue Jun 17 12:02:44 2008 -0400 Merge branch 'for-linus' into next Conflicts: drivers/input/mouse/appletouch.c commit ee4311adf105f4d740f52e3948acc1d81598afcc Author: Ingo Molnar Date: Tue Jun 17 17:43:02 2008 +0200 ftrace: build fix with gcc 4.3 fix: arch/x86/kernel/ftrace.c: Assembler messages: arch/x86/kernel/ftrace.c:82: Error: bad register name `%sil' make[1]: *** [arch/x86/kernel/ftrace.o] Error 1 Signed-off-by: Ingo Molnar commit 284373059f9605442cac6453780f6aaecf9abac1 Author: Takashi Iwai Date: Tue Jun 17 16:30:27 2008 +0200 ALSA: emu10k1 - simplify the last fix Clean up the previous commit for fixing memory leaks. Signed-off-by: Takashi Iwai commit 9f515b6898d0f2c1b9eb34ae9986794045f34e2b Author: Jaroslav Kysela Date: Tue Jun 17 16:20:13 2008 +0200 ALSA: emu10k1 - fix possible memory leak in memory allocation routines The leak was introduced in "[ALSA] emu10k1 - simplify page allocation for synth" commit. Signed-off-by: Jaroslav Kysela commit 48c5732f4ac0621a2fdde006d55a6621a47a728f Author: David S. Miller Date: Tue Jun 17 03:19:58 2008 -0700 netrom: Kill spurious NULL'ing of sk->sk_socket. In nr_release(), one code path calls sock_orphan() which will NULL out sk->sk_socket already. In the other case, handling states other than NR_STATE_{0,1,2,3}, seems to not be possible other than due to bugs. Even for an uninitialized nr->state value, that would be zero or NR_STATE_0. It might be wise to stick a WARN_ON() here. Signed-off-by: David S. Miller commit c751e4f8b32a3869bb4fec12100952abd9baa0e1 Author: David S. Miller Date: Tue Jun 17 03:05:13 2008 -0700 x25: Use sock_orphan() instead of open-coded (and buggy) variant. It doesn't grab the sk_callback_lock, it doesn't NULL out the sk->sk_sleep waitqueue pointer, etc. Signed-off-by: David S. Miller commit 0efffaf9d57f54a864b739176d1f659a69486e8b Author: David S. Miller Date: Tue Jun 17 03:01:47 2008 -0700 econet: Use sock_orphan() instead of open-coded (and buggy) variant. It doesn't grab the sk_callback_lock, it doesn't NULL out the sk->sk_sleep waitqueue pointer, etc. Signed-off-by: David S. Miller commit b61d38e05542200f6d001b5ea9975dc0dc5bab27 Author: David S. Miller Date: Tue Jun 17 02:44:35 2008 -0700 x25: Use sock_graft() and remove bogus sk_socket and sk_sleep init. This is the x25 variant of changeset 9375cb8a1232d2a15fe34bec4d3474872e02faec ("ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.") Signed-off-by: David S. Miller commit 44ccff1f539c8c5bbfc1eacd41cb9ef65022a4ca Author: David S. Miller Date: Tue Jun 17 02:39:21 2008 -0700 rose: Use sock_graft() and remove bogus sk_socket and sk_sleep init. This is the rose variant of changeset 9375cb8a1232d2a15fe34bec4d3474872e02faec ("ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.") Signed-off-by: David S. Miller commit 7b66767f969edcbdd573aca8063beee7534d242b Author: David S. Miller Date: Tue Jun 17 02:36:44 2008 -0700 netrom: Use sock_graft() and remove bogus sk_socket and sk_sleep init. This is the netrom variant of changeset 9375cb8a1232d2a15fe34bec4d3474872e02faec ("ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.") Signed-off-by: David S. Miller commit 9375cb8a1232d2a15fe34bec4d3474872e02faec Author: David S. Miller Date: Tue Jun 17 02:20:54 2008 -0700 ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init. The way that listening sockets work in ax25 is that the packet input code path creates new socks via ax25_make_new() and attaches them to the incoming SKB. This SKB gets queued up into the listening socket's receive queue. When accept()'d the sock gets hooked up to the real parent socket. Alternatively, if the listening socket is closed and released, any unborn socks stuff up in the receive queue get released. So during this time period these sockets are unreachable in any other way, so no wakeup events nor references to their ->sk_socket and ->sk_sleep members can occur. And even if they do, all such paths have to make NULL checks. So do not deceptively initialize them in ax25_make_new() to the values in the listening socket. Leave them at NULL. Finally, use sock_graft() in ax25_accept(). Signed-off-by: David S. Miller commit e01b70ef3eb3080fecc35e15f68cd274c0a48163 Author: Jiri Hladky Date: Mon Jun 2 12:00:19 2008 +0200 x86: fix bug in arch/i386/lib/delay.c file, delay_loop function when trying to understand how Bogomips are implemented I have found a bug in arch/i386/lib/delay.c file, delay_loop function. The function fails for loops > 2^31+1. It because SF is set when dec returns numbers > 2^31. The fix is to use jnz instruction instead of jns (and add one decl instruction to the end to have exactly the same number of loops as in original version). Martin Mares observed: > It is a long time since I have hacked that file, but you should definitely > make sure that the function is never called with a zero argument. In such > case, the original version made just a single pass, but your version > makes 2^32 of them. fixed that. Signed-off-by: Ingo Molnar commit ee5850defcbd98d3a9cb3e0ae93511e7c89bdecd Author: David S. Miller Date: Tue Jun 17 01:21:03 2008 -0700 llc: Use sock_graft() instead of by-hand version. Signed-off-by: David S. Miller commit 338db085518a8436cdecd33f7b52a06ec16d9ec1 Author: David S. Miller Date: Tue Jun 17 01:09:00 2008 -0700 net: Kill SOCK_SLEEP_PRE and SOCK_SLEEP_POST, no users. Signed-off-by: David S. Miller commit 22196d3648581b253f927186b30075fb005287b0 Author: David S. Miller Date: Tue Jun 17 01:06:01 2008 -0700 decnet: Remove SOCK_SLEEP_{PRE,POST} usage. Just expand the wait sequence. And as a nice side-effect the timeout is respected now. Signed-off-by: David S. Miller commit 8ce9c6ede1504d29eead67862edc96c03dd4d0a2 Author: David S. Miller Date: Tue Jun 17 00:40:36 2008 -0700 sctp: Kill SCTP_SOCK_SLEEP_{PRE,POST}, unused. Signed-off-by: David S. Miller commit e6e07d8a2d2989c1f42287131308aa2fde253631 Author: Jeremy Fitzhardinge Date: Mon Jun 16 16:08:17 2008 -0700 x86: make asm/asm.h work for asm code. This is useful for unifying some pieces of asm code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit ccc580571cf0799d0460a085a7632b77753f083e Author: David S. Miller Date: Mon Jun 16 18:50:49 2008 -0700 wext: Emit event stream entries correctly when compat. Three major portions to this change: 1) Add IW_EV_COMPAT_LCP_LEN, IW_EV_COMPAT_POINT_OFF, and IW_EV_COMPAT_POINT_LEN helper defines. 2) Delete iw_stream_check_add_*(), they are unused. 3) Add iw_request_info argument to iwe_stream_add_*(), and use it to size the event and pointer lengths correctly depending upon whether IW_REQUEST_FLAG_COMPAT is set or not. 4) The mechanical transformations to the drivers and wireless stack bits to get the iw_request_info passed down into the routines modified in #3. Also, explicit references to IW_EV_LCP_LEN are replaced with iwe_stream_lcp_len(info). With a lot of help and bug fixes from Masakazu Mokuno. Signed-off-by: David S. Miller commit 0f5cabba49021d36e9f76bd97d7fa0f4a408063f Author: David S. Miller Date: Tue Jun 3 07:39:16 2008 -0700 wext: Create IW_REQUEST_FLAG_COMPAT and set it as needed. Now low-level WEXT ioctl handlers can do compat handling when necessary. Signed-off-by: David S. Miller commit 169a3ec492ddb6b0a8203fccba2ddff077154e26 Author: David S. Miller Date: Fri Dec 21 03:55:13 2007 -0800 wext: Remove compat handling from fs/compat_ioctl.c No longer used. Signed-off-by: David S. Miller commit 87de87d5e47f94b4ea647a5bd1bc8dc1f7930db4 Author: David S. Miller Date: Tue Jun 3 09:14:03 2008 -0700 wext: Dispatch and handle compat ioctls entirely in net/wireless/wext.c Next we can kill the hacks in fs/compat_ioctl.c and also dispatch compat ioctls down into the driver and 80211 protocol helper layers in order to handle iw_point objects embedded in stream replies which need to be translated. Signed-off-by: David S. Miller commit a67fa76d8be4e24e2d61cd76438a893d4c2886f7 Author: David S. Miller Date: Tue Jun 3 07:36:30 2008 -0700 wext: Pull top-level ioctl dispatch logic into helper function. Signed-off-by: David S. Miller commit d2911255590d9ca561a481b9dbebcfcbbf38fa4e Author: David S. Miller Date: Fri Dec 21 03:46:01 2007 -0800 wext: Pass iwreq pointer down into standard/private handlers. They have no need to see the object as an ifreq. Signed-off-by: David S. Miller commit ca1e8bb8e4e89e2769e2b39eb29fdcfc5c19cf89 Author: David S. Miller Date: Fri Dec 21 03:41:45 2007 -0800 wext: Parameterize the standard/private handlers. The WEXT standard and private handlers to use are now arguments to wireless_process_ioctl(). Signed-off-by: David S. Miller commit 67dd7608078b17f63f29ff2108fc5bf2407ddcec Author: David S. Miller Date: Fri Dec 21 03:36:31 2007 -0800 wext: Pull ioctl permission checking out into helper function. Signed-off-by: David S. Miller commit d88174e4d295f0880e5f9cb6d42f26b0367c8fd9 Author: David S. Miller Date: Fri Dec 21 03:33:46 2007 -0800 wext: Extract private call iw_point handling into seperate functions. Signed-off-by: David S. Miller commit 84149b0fca08f9ec554dfc28dabc39839fdf8a06 Author: David S. Miller Date: Fri Dec 21 03:27:17 2007 -0800 wext: Extract standard call iw_point handling into seperate function. Signed-off-by: David S. Miller commit 208887d4cc5a5c1eeb68bd170e21e32b1129cd94 Author: David S. Miller Date: Fri Dec 21 03:24:24 2007 -0800 wext: Make adjust_priv_size() take a "struct iw_point *". Signed-off-by: David S. Miller commit 25519a2a769d42fc2733a8f119682272d99b1304 Author: David S. Miller Date: Fri Dec 21 03:22:38 2007 -0800 wext: Remove inline from get_priv_size() and adjust_priv_size(). The compiler inlines when appropriate. Signed-off-by: David S. Miller commit caea902f72b053fd0c76d0d3b6b2e057beb3fc64 Merge: 0b44191... 65c3e47... Author: David S. Miller Date: Mon Jun 16 18:25:48 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/rt2x00/Kconfig drivers/net/wireless/rt2x00/rt2x00usb.c net/sctp/protocol.c commit 0b4419162aa6c4204843f3a13b48d9ab821d3167 Author: Pavel Emelyanov Date: Mon Jun 16 17:14:11 2008 -0700 netns: introduce the net_hash_mix "salt" for hashes There are many possible ways to add this "salt", thus I made this patch to be the last in the series to change it if required. Currently I propose to use the struct net pointer itself as this salt, but since this pointer is most often cache-line aligned, shift this right to eliminate the bits, that are most often zeroed. After this, simply add this mix to prepared hashfn-s. For CONFIG_NET_NS=n case this salt is 0 and no changes in hashfn appear. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 33de014c63646f69f36f3673e3b4676f931dc878 Author: Pavel Emelyanov Date: Mon Jun 16 17:13:48 2008 -0700 inet6: add struct net argument to inet6_ehashfn Same as for inet_hashfn, prepare its ipv6 incarnation. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9f26b3add3783c0af869ea2207871da5dafefffa Author: Pavel Emelyanov Date: Mon Jun 16 17:13:27 2008 -0700 inet: add struct net argument to inet_ehashfn Although this hash takes addresses into account, the ehash chains can also be too long when, for instance, communications via lo occur. So, prepare the inet_hashfn to take struct net into account. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2086a65078bd24682bdcf413d9c91d81988b8359 Author: Pavel Emelyanov Date: Mon Jun 16 17:13:08 2008 -0700 inet: add struct net argument to inet_lhashfn Listening-on-one-port sockets in many namespaces produce long chains in the listening_hash-es, so prepare the inet_lhashfn to take struct net into account. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7f635ab71eef8da012320c0092b662d6af8c1e69 Author: Pavel Emelyanov Date: Mon Jun 16 17:12:49 2008 -0700 inet: add struct net argument to inet_bhashfn Binding to some port in many namespaces may create too long chains in bhash-es, so prepare the hashfn to take struct net into account. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 19c7578fb22b0aef103222cae9b522f03ae489d6 Author: Pavel Emelyanov Date: Mon Jun 16 17:12:29 2008 -0700 udp: add struct net argument to udp_hashfn Every caller already has this one. The new argument is currently unused, but this will be fixed shortly. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e31634931d00081c75e3fb3f3ec51a50dbf108bb Author: Pavel Emelyanov Date: Mon Jun 16 17:12:11 2008 -0700 udp: provide a struct net pointer for __udp[46]_lib_mcast_deliver They both calculate the hash chain, but currently do not have a struct net pointer, so pass one there via additional argument, all the more so their callers already have such. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d6266281f8175e3ad68c28b20a609b278b47ade5 Author: Pavel Emelyanov Date: Mon Jun 16 17:11:50 2008 -0700 udp: introduce a udp_hashfn function Currently the chain to store a UDP socket is calculated with simple (x & (UDP_HTABLE_SIZE - 1)). But taking net into account would make this calculation a bit more complex, so moving it into a function would help. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 15650a2f644a2f15738cf22807c090d89328f500 Author: Jesse Barnes Date: Mon Jun 16 15:29:45 2008 -0700 x86/PCI: fixup early quirk probing On x86, we do early PCI probing to apply some quirks for chipset bugs. However, in a recent cleanup (7bcbc78dea92fdf0947fa48e248da3c993a5690f) a thinko was introduced that causes us to probe all subfunctions of even single function devices (a function was factored out of an inner loop and a "break" became a "return"). Fix that up by making check_dev_quirk() return a value so we can keep the factored code intact. Acked-by: Ingo Molnar Signed-off-by: Jesse Barnes commit bccaea8fe287454d70f5b2546910561e9f884053 Author: Jerone Young Date: Fri Jun 6 14:09:05 2008 -0500 powerpc/booke: Fix definitions for dbcr[1-2] and dbsr registers This takes values from the PowerPC ISA BookIII-E specifications that are for DBCR0. Many of these values are different from those currently specified, which are for the ppc405. Also added some bookE definitions for DBCR1 & DBCR2. [ galak@kernel.crashing.org: Added aliases to 40x DBCR0 to match Book-E, Added enhanced debug DBCR0/DBSR _CIRPT and _CRET defines and DBSR IRPT and RET. ] Signed-off-by: Jerone Young Acked-by: Josh Boyer Signed-off-by: Kumar Gala commit f22529351f7060d61eff3b76d7c9706f90aaedf3 Author: Ingo Molnar Date: Thu May 22 10:37:48 2008 +0200 namespacecheck: fixes Signed-off-by: Ingo Molnar commit 7aaaec38fcd9ef3172e69f8c19f20113830a8498 Merge: 1ac9701... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:28:04 2008 +0200 Merge branch 'linus' into x86/kconfig commit c54f9da1c8ceee19436430afac0798a989eb886d Merge: a2eddfa... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:27:53 2008 +0200 Merge branch 'linus' into x86/irqstats commit d939d2851fd12568e2eabb2916769e8a57ba5c89 Merge: 9f5314f... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:27:45 2008 +0200 Merge branch 'linus' into x86/irq commit 33ee375b2ea5dd11581a57d67bedd0ca39b19a5e Merge: 6703f6d... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:27:18 2008 +0200 Merge branch 'linus' into x86/gart commit 8bbd54d69e9c66adbf544e21d8dcfb15fb9198f7 Merge: 8c2238e... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:24:43 2008 +0200 Merge branch 'linus' into core/softlockup commit 9583f3d9c00974911daf227cbaa12d6c1caaabad Merge: 962cf36... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:24:17 2008 +0200 Merge branch 'linus' into core/softirq commit 6d72b7952fa7d7c61d021398970c29afde6a4443 Merge: 6360b1f... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:24:00 2008 +0200 Merge branch 'linus' into core/rodata commit 766d02786ecd22932beeb9ca8bad6d8c5a552ef9 Merge: 906d882... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:23:36 2008 +0200 Merge branch 'linus' into core/rcu commit 688d22e23ab1caacb2c36c615854294b58f2ea47 Merge: 7e0edc1... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:21:27 2008 +0200 Merge branch 'linus' into x86/xen commit fd2c17e1777d46cff14c25ea774a4d17459d188a Merge: 74e411c... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:20:57 2008 +0200 Merge branch 'linus' into x86/timers commit 3557b18fcbe0e29706214f3c7cc680a7823605eb Merge: 4226ab9... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:20:37 2008 +0200 Merge branch 'linus' into x86/ptemask commit faeca31d068090285b77c39574d2bda14b079c50 Merge: 499f8f8... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:20:28 2008 +0200 Merge branch 'linus' into x86/pat commit 064a32d82c20cdcb0119a8b316eb520608d8c647 Merge: 0327318... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:19:53 2008 +0200 Merge branch 'linus' into x86/memtest commit 1791a78c0b10fe548bf08a2ed7f84a4ea1385430 Merge: bf07dc8... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:17:50 2008 +0200 Merge branch 'linus' into x86/cleanups commit ed9e4996d9a123b7550e63713d563f524fa9d9f0 Merge: 4d2df79... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:17:19 2008 +0200 Merge branch 'linus' into tracing/sysprof commit cb9aa97c21c59ad01c9514d7faf45dc166fba226 Merge: 668a6c3... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:16:46 2008 +0200 Merge branch 'linus' into tracing/mmiotrace-mergefixups commit e765ee90da62535ac7d7a97f2464f9646539d683 Merge: a4500b8... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:15:58 2008 +0200 Merge branch 'linus' into tracing/ftrace commit f9e8e07e074a880e110922759dcdb369fecdf07c Merge: e9886ca... 0665190... Author: Ingo Molnar Date: Mon Jun 16 11:15:21 2008 +0200 Merge branch 'linus' into sched-devel commit 6719292af5513da52aa876d0e7ac4367a0851845 Author: Jaroslav Kysela Date: Mon Jun 16 10:39:34 2008 +0200 ALSA: Remove duplicate MODULE_AUTHOR/DESCRIPTION/LICENCE from snd-ens1370.ko But comment only extra code in ak4531_codec.c for history. Signed-off-by: Jaroslav Kysela commit 28638ea4f8adb63f837e4436560ab16ab0388587 Merge: f781b03... 0665190... Author: Ingo Molnar Date: Mon Jun 16 10:17:15 2008 +0200 Merge branch 'linus' into x86/nmi Conflicts: arch/x86/kernel/nmi_32.c commit 906d882cacecd37ad2fdd03ed2a9b232bcb9507e Author: Lai Jiangshan Date: Mon Jun 9 16:35:25 2008 -0700 rcu: remove unused field struct rcu_data::rcu_tasklet Since softirq works for rcu reclaimer, rcu_tasklet is unused now. Signed-off-by: Lai Jiangshan Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b7d2399242b639f0b0be5f901506a7180d961b64 Author: Jaroslav Kysela Date: Mon Jun 16 09:42:25 2008 +0200 ALSA: Release 1.0.17rc2 Signed-off-by: Jaroslav Kysela commit 766979e09d302315f314bfd96fdd83f8f9896d9c Author: Takashi Iwai Date: Fri Jun 13 20:53:56 2008 +0200 ALSA: hda - use upper_32_bits() Use the standard upper_32_bits() instead of own macro. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0c6341ace5efb14a0da08482e299b3c158e0d5fb Author: Takashi Iwai Date: Fri Jun 13 20:50:27 2008 +0200 ALSA: hda - bdl_pos_adj=32 as default Use bdl_pos_adj=32 as default except for Intel hardwares confirmed to work with bdl_pos_adj=1. Looks like ATI and NVidia require this higher value. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6ed2597883b1b03ca94f62f0cfe908314cba6d6b Author: Andy Green Date: Fri Jun 13 16:24:05 2008 +0100 ALSA: ASoC: Don't block system resume On OpenMoko soc-audio resume is taking 700ms of the whole resume time of 1.3s, dominated by writes to the codec over I2C. This patch shunts the resume guts into a workqueue which then is done asynchronously. The "card" is locked using the ALSA power state APIs as suggested by Mark Brown. [Added fix for race with resume to suspend and fixed a couple of nits from checkpatch -- broonie.] Signed-off-by: Andy Green Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit abb68c26ba15f8e84e580a40c0b1bc349cb534b0 Author: Mark Brown Date: Fri Jun 13 16:24:04 2008 +0100 ALSA: ASoC: Check for exact register match in wm97xx_reset() To provide added robustness in case an AC97 controller reads back all zeros in error cases check for an exact match when testing to see if resets have brought the codec back. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit aafc4412be31306e5c38bd4e4581066507503adc Author: Matthew Ranostay Date: Fri Jun 13 18:04:33 2008 +0200 ALSA: hda: Add support for 92HD73xxx codecs Added support for new family of IDT codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87c8a64475f0597b7fd9c36d2f867ae8ef4a9eca Author: Ingo Molnar Date: Mon Jun 2 13:19:08 2008 +0200 printk: export console_drivers this symbol is needed by drivers/video/xen-fbfront.ko. Signed-off-by: Ingo Molnar commit 1462a200057df08be12f3719e1f37adbd2c6e4d0 Author: Ingo Molnar Date: Mon Jun 16 08:40:04 2008 +0200 Revert "prohibit rcutorture from being compiled into the kernel" This reverts commit 9aaffc898ff4a3df18c5fc4b9e0fa47e779ad726. That commit was a very bad idea. RCU_TORTURE found many boot timing bugs and other sorts of bugs in the past, so excluding it from boot images is very silly. The option already depends on DEBUG_KERNEL and is disabled by default. Even when it runs, the test threads are reniced. If it annoys people we could add a runtime sysctl. commit 9fc697b0b01416edae99dd9c5c49fb69c9282744 Author: Stefan Schmidt Date: Tue Jun 10 08:57:27 2008 +0100 [ARM] 5082/1: pxa: Definition for the third USB port control register UP3OCR This adds the definition for the third USB port control register UP3OCR. It is used on the EZX GSM mobile phones. Signed-off-by: Stefan Schmidt Acked-by: Eric Miao Signed-off-by: Russell King commit d438ae5796085379327bdba76114929eedf94a89 Author: Philipp Zabel Date: Fri Jun 6 18:40:47 2008 +0100 [ARM] 5080/1: touch PSSR_OTGPH only on pxa27x in ohci-pxa27x and pxa27x_udc and include pxa2xx-regs.h as build fix since PSSR definitions moved from pxa-regs.h into pxa2xx-regs.h. Note: This change is temporary as pxa27x processor specific code will be finally moved elsewhere (both drivers should support pxa3xx, too). Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit 942e7b102a4827fdb69a39c7f07c544542589ef9 Merge: 7d06b2e... 87291c0... Author: David S. Miller Date: Sat Jun 14 17:15:39 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 7d06b2e053d2d536348e3a0f6bb02982a41bea37 Author: Brian Haley Date: Sat Jun 14 17:04:49 2008 -0700 net: change proto destroy method to return void Change struct proto destroy function pointer to return void. Noticed by Al Viro. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 87291c0269e77b029282676448fed3706a54211a Author: Vladimir Koutny Date: Fri Jun 13 16:50:44 2008 +0200 mac80211: eliminate IBSS warning in rate_lowest_index() In IBSS mode prior to join/creation of new IBSS it is possible that a frame from unknown station is received and an ibss_add_sta() is called. This will cause a warning in rate_lowest_index() since the list of supported rates of our station is not initialized yet. The fix is to add ibss stations with a rate we received that frame at; this single-element set will be extended later based on beacon data. Also there is no need to store stations from a foreign IBSS. Signed-off-by: Vladimir Koutny Signed-off-by: John W. Linville commit c644bce95f287e763a0b49e5d03f0fe6256f6d2e Author: Harvey Harrison Date: Wed Jun 11 14:22:02 2008 -0700 mac80211: tkip.c use a local struct tkip_ctx in ieee80211_get_tkip_key Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 7c70537f97fe35f46762247a4bda72c16d585736 Author: Harvey Harrison Date: Wed Jun 11 14:22:00 2008 -0700 mac80211: tkip.c fold ieee80211_gen_rc4key into its one caller Also change the arguments of the phase1, 2 key mixing to take a pointer to the encrytion key and the tkip_ctx in the same order. Do the dereference of the encryption key in the callers. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit c801242c38de247d82f12f6bf28bd19a280a12ae Author: Harvey Harrison Date: Wed Jun 11 14:22:00 2008 -0700 mac80211: tkip.c consolidate tkip IV writing in helper Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 87228f57434108d8463ff10fd408d8d1273a23d2 Author: Harvey Harrison Date: Wed Jun 11 14:21:59 2008 -0700 mac80211: rx.c use new helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 002aaf4ea6be3247c246d274979359c3bc93c82a Author: Harvey Harrison Date: Wed Jun 11 14:21:59 2008 -0700 mac80211: wme.c use new helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit a494bb1cae40dd0a98682826d91ddf533cbc864e Author: Harvey Harrison Date: Wed Jun 11 14:21:58 2008 -0700 mac80211: use new helpers in util.c - ieee80211_get_bssid() Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit d5184cacf3eeaeb6ae0c7a02aa44fe589beeda23 Author: Harvey Harrison Date: Wed Jun 11 14:21:58 2008 -0700 mac80211: wpa.c use new access helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 6693be7124cb8e4f15f0d80ed6e3e50678771737 Author: Harvey Harrison Date: Wed Jun 11 14:21:57 2008 -0700 mac80211: add utility function to get header length Take a __le16 directly rather than a host-endian value. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit c9c6950c14ffc0e30e592fec1ebcb203ad3dff10 Author: Harvey Harrison Date: Wed Jun 11 14:21:57 2008 -0700 mac80211: make ieee80211_get_hdrlen_from_skb return unsigned Many callers already expect it to. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 8b7b1e05b0454f232b8ae1e6ee134b7f0b38abfb Author: Harvey Harrison Date: Wed Jun 11 14:21:56 2008 -0700 mac80211: remove ieee80211_get_morefrag Replaced by the new helper ieee80211_has_morefrags which is more consistent with the intent of the function. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit fd7c8a40b2a63863f749e4d17f0d94d2e5ab1331 Author: Harvey Harrison Date: Wed Jun 11 14:21:56 2008 -0700 mac80211: add helpers for frame control testing A few general categories: 1) ieee80211_has_* tests if particular fctl bits are set, the helpers are de in the same order as the fctl defines: A combined _has_a4 was also added to test when both FROMDS and TODS are set. 2) ieee80211_is_* is meant to test whether the frame control is of a certain ftype - data, mgmt, ctl, and two special helpers _is_data_qos, _is_data_pres which also test a subset of the stype space. When testing for a particular stype applicable only to one ftype, functions like ieee80211_is_ack have been added. Note that the ftype is also being checked in these helpers. They have been added for all mgmt and ctl stypes in the same order as the STYPE defines. 3) ieee80211_get_* is meant to take a struct ieee80211_hdr * and returns a pointer to somewhere in the struct, see get_SA, get_DA, get_qos_ctl. The intel wireless drivers had helpers that used this namespace, convert the all to use the new helpers and remove the byteshifting as they were defined in cpu-order rather than little-endian. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit e36cfdc9b17fa64245ee6206287e5120e59bbfca Author: Jouni Malinen Date: Fri Jun 13 19:44:48 2008 +0300 mac80211_hwsim: Shared TX code for received frames and Beacons Use a shared function for transmitting the frames instead of duplicated code in two places. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f248f10515dc7279120adf2d3eabcac9561fb1b4 Author: Jouni Malinen Date: Fri Jun 13 19:44:47 2008 +0300 mac80211_hwsim: Minor cleanup Remove unnecessary '__constant_' prefix and use the atomic version of ieee80211_iterate_active_interfaces(). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ba77f1abde3999e45d92c0ba4e0356f7498e959f Author: Jouni Malinen Date: Fri Jun 13 19:44:46 2008 +0300 mac80211_hwsim: Clean up documentation Clean up the introduction and fix a typo. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit acc1e7a3007ec1940374206a84465c1e0cfcda09 Author: Jouni Malinen Date: Wed Jun 11 10:42:31 2008 +0300 mac80211_hwsim: 802.11 radio simulator for mac80211 mac80211_hwsim is a Linux kernel module that can be used to simulate arbitrary number of IEEE 802.11 radios for mac80211 on a single device. It can be used to test most of the mac80211 functionality and user space tools (e.g., hostapd and wpa_supplicant) in a way that matches very closely with the normal case of using real WLAN hardware. From the mac80211 view point, mac80211_hwsim is yet another hardware driver, i.e., no changes to mac80211 are needed to use this testing tool. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 14a08a7fcf72a8d69cdee225cc76c50b229faa20 Author: Emmanuel Grumbach Date: Fri Jun 13 15:44:55 2008 +0800 iwlwifi: unify SW rf-kill flow This patch unifies SW rf-kill flow between 4965 and 5000. It enables SW RF-kill for 5000. This patch also solves a bug in iwl4965_mac_config: bad mutex locking balance. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 14b3d3387c95cc78f3d740ea53577d9ff41415e3 Author: Ron Rindjunsky Date: Fri Jun 13 15:44:54 2008 +0800 iwlwifi: remove 4965 prefix from iwl4965_ucode The patch removes 4965 prefix from iwl4965_ucode. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d72a1f5b6da334f8722255c766fdbcd4c1b4c51 Author: Ester Kummer Date: Fri Jun 13 15:44:53 2008 +0800 iwlwifi: adding channels to sysfs This patch returns channel list to sysfs. Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dc0ae30c31ee6ef83992bb692f37dfbba08a2ef6 Author: Tomas Winkler Date: Thu Jun 12 22:38:37 2008 +0300 mac80211: fix beacon interval value This patch fixes setting beacon interval 1. in register_hw it honors value requested by the driver 2. It uses default 100 instead of 1000 or 10000. Scanning for beacon interval ~1sec and above is not sane Signed-off-by: Tomas Winkler Signed-off-by: Emmanuel Grumbach Signed-off-by: John W. Linville commit 5720508d9ad9a82927875252b7a19ba2b45f11f8 Author: Robert P. J. Day Date: Thu Jun 12 15:34:42 2008 -0400 rndis_wlan: Use kernel-supplied ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: John W. Linville commit 90d07349f8d754b89de8c61bdef9f95688900f30 Author: Jussi Kivilinna Date: Thu Jun 12 20:19:19 2008 +0300 rndis_wlan: preallocate command buffer for set/get_oid Reduce amount of kmalloc/kfree calls in set/get_oid by preallocating command buffer. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit bb8649d42989eddf9c7d128114c1adcffe9eef54 Author: Jussi Kivilinna Date: Thu Jun 12 20:19:01 2008 +0300 rndis_wlan: use kzalloc to allocate private data rndis_wlan used kmalloc to allocate private data structure and leaving data uninitialized, but later assumed to be set zero. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8d5e0d58b39eed9b0f1064f4a7f2b215869b7e71 Author: Ron Rindjunsky Date: Thu Jun 12 15:42:29 2008 +0300 mac80211: do not fragment while aggregation is in use This patch denies the use of framentation while ampdu is used. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 58d0f3610e0c1fd31a2ff3b89879211727292771 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:19 2008 +0800 iwlwifi: remove iwlcore_low_level_notify This patch removes the iwlcore_low_level_notify. The notification chain is not required in this level. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit be1f3ab6e5e9788fd2985117b40755130058a2be Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:18 2008 +0800 iwlwifi: general code clean up This patch cleans up iwlwifi's code: Add missing include, remove empty lines etc... Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 808e72a088d164cf0030f593d9a5fc23306fb6b6 Author: Zhu Yi Date: Thu Jun 12 09:47:17 2008 +0800 iwlwifi: fix software rf_kill problem when interface is down The patch fixes the problem that software rf_kill messes up the card status when it is disabled if the interface is down. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 95483b69c8c0d49e43c97ecb5eb3cbec48a02d61 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:15 2008 +0800 iwlwifi: remove dead code iwl4965_calc_db_from_ratio This patch removes iwl4965_calc_db_from_ratio which is dead code. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 91dbc5bdbaccc3e89f757afb53c6956c40b80306 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:14 2008 +0800 iwlwifi: retfactor get_temperature functions This patch renames iwl4965_get_tempearture to iwl4965_hw_get_temperature and replaces usage of original iwl4965_hw_get_temperature by direct access to priv->temperature. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 47f4a5871614756627d7209e0569b58faf99b0d9 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:13 2008 +0800 iwlwifi: move iwl4965_rf_kill_ct_config to iwl-core.c This patch moves iwl4965_rf_kill_ct_config to iwl-core.c. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f53696de6722a4aac00b76e25a5321c01e88a55f Author: Tomas Winkler Date: Thu Jun 12 09:47:12 2008 +0800 iwlwifi: cleans up scanning code This patch 1. cleans up scanning code. 2. It adds round robin of TX antannas/chains. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e7d326ac437e9e9425dcd79382f4e5f6ca31fb16 Author: Tomas Winkler Date: Thu Jun 12 09:47:11 2008 +0800 iwlwifi: move rate helpers to iwlcore This patch moves rate helpers to iwlcore. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2a421b91d6fe89e27ded7544a25449c0b050098f Author: Tomas Winkler Date: Thu Jun 12 09:47:10 2008 +0800 iwlwifi: move scan to iwl-scan.c iwlcore This patch moves scan code to iwl-scan.c file in iwlcore module. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4564ce8b0e17d91d047aa875843deb2cccf3f268 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:09 2008 +0800 iwlwifi: add bad length check for WEP keys This patch adds a check for bad length in set key flow. This solves the Oops reported by Thomas Backlund, Joonwoo Park and Ian Schram. It also adds some debug printing that can be useful. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 630fe9b6f774dd55b71fe94392101eb00df58762 Author: Tomas Winkler Date: Thu Jun 12 09:47:08 2008 +0800 iwlwifi: refactor setting tx power This patch 1. Refactors settings of tx power 2. enables iwconfig txpower 3. adds 5000 HW tx power Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 25a6572cc13ba2a3fefc02a63a077ff3664a1ca9 Author: Tomas Winkler Date: Thu Jun 12 09:47:07 2008 +0800 iwlwifi: refactor tx aggregation response flow This patch refactors tx aggregation respnse flow and fixes bug revealed by tx_info to cb patch Signed-off-by: Tomas Winkler Signed-off-by: Emmanuel Grumbach Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 398f9e765f57c0dca0f6fb13c28ad929c09c68ef Author: Assaf Krauss Date: Thu Jun 12 09:47:06 2008 +0800 iwlwifi: Fix mode changes (ad-hoc <--> managed) This fix allows to move between modes (ad-hoc to managed, and vice versa). Since mode changes can only be done while driver is down, check for ibss support can only be made when the channel is set (afte the driver goes up). Signed-off-by: Assaf Krauss Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c46fbefa32c3c314884d3d3be27d0e1839de2c24 Author: Assaf Krauss Date: Thu Jun 12 09:47:05 2008 +0800 iwlwifi enabling IBSS (Ad-Hoc) mode This patch enables ibss mode. It consists of two changes upon entering ibss mode: 1. Removing the redundant line which clears the driver's station table. This line creates a discrepancy between the driver and the FW's station table. This prevented the generation of beacons. 2. Assigning a default value to priv's assoc_id. Normally given by an AP in STA mode, this field is used as an indication for association. Being 0, it prevented normal TX flow. 3. Remove a redundant ADD_STA command that cause uCode error. 4. Delay the set_mode until after the uCode is ready. Signed-off-by: Assaf Krauss Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f3d5b45b40c42b0b55710667740cc545b6e17c10 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:04 2008 +0800 iwlwifi: fix resart flow after fw error Clear STATUS_FW_ERROR in the _up_ flow before reseting NIC. UP flow will otherwise call restart again causing endless restart loop. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 64e72c3efc2e4753ddfdd27ba8c7a31d6b11faba Author: Mohamed Abbas Date: Thu Jun 12 09:47:03 2008 +0800 iwlwifi: fix resume SW RF-kill This patch fixes SW RF-kill. If we resumed from S3 state with SW RF-kill set, the driver wouldn't be able to remove SW RF-kill. This patch fixes this. Signed-off-by: Mohamed Abbas Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 77c5d08e6c18e5c749f125d7df70bc7d54cb4cd8 Author: Tomas Winkler Date: Thu Jun 12 09:47:02 2008 +0800 iwlwifi: format log prints for easier parsing This patch changes uCode log print to for easier parsing. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 753f766108158c65ac62cddd26dddcb3f7d9cc3a Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:01 2008 +0800 iwlwifi: fix bug when moving from 11gn to 11a or 11an to 11g It is wrong to set the rxon channel according to the ht-channel in case there is a mismatch (e.g. when there is no ht). Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 963f55178b25cb673ab438edaae4127b1d014bc1 Author: Emmanuel Grumbach Date: Thu Jun 12 09:47:00 2008 +0800 iwlwifi: remove redundant flags regarding to FAT channel This patch removes redundant flags regarding to FAT channel. Use mac80211's flag instead. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 838f8a748562265f8a5ad5c0c0ef8f454fcc28cf Author: Tomas Winkler Date: Thu Jun 12 09:46:59 2008 +0800 iwlwifi: remove unused flag This patch removes IEEE80211_CHAN_W_RADAR_DETECT flag. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit faa297183897ac6f55c4dd97a0b3aee122aeec46 Author: Ron Rindjunsky Date: Thu Jun 12 09:46:58 2008 +0800 iwlwifi: fix allow iwlwifi to aggregate according to tid load This fix opens back the aggregation decision path for iwlwifi. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 263b5f5aae8a3ec72fd3e5a98031664759e7fd72 Author: Ron Rindjunsky Date: Thu Jun 12 09:46:57 2008 +0800 iwlwifi: use ieee80211_conf to examine rate capabilities This patch switches the use of internal iwlwifi structure with ieee80211_conf in order to examine ht rate capabilities. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e26e47d94473af0c2a18beac664e526317b4f0b9 Author: Tomas Winkler Date: Thu Jun 12 09:46:56 2008 +0800 iwlwifi: add TX aggregation code for 5000 HW This patch adds TX aggregation handler for 5000 HW. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7f3e4bb60f81dd172d5e4b89220cb3f80c6dc552 Author: Ron Rindjunsky Date: Thu Jun 12 09:46:55 2008 +0800 iwlwifi: map sw and hw ampdu queues This patch maps sw and hw queues (for aggregations), so the right mac80211 queue will be waken when ieee80211_wake_queue is invoked. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 203566f359b5702be72238a8b1d37655c986cc7c Author: Emmanuel Grumbach Date: Thu Jun 12 09:46:54 2008 +0800 iwlwifi: add possibility to disable tx_power calibration This patch adds the possibility to disable the tx_power calibration. In 5000 HW, this calibration is implemented in uCode, hence, it is disabled in driver by default. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4e39317df0f9e48919130574238319f9a445e6e3 Author: Emmanuel Grumbach Date: Thu Jun 12 09:46:53 2008 +0800 iwlwifi: clean up in setup/cancel deferred work This patch makes some clean up in setup/cancel_deferred_work. iwl_setup_deferred_work does the work that is common to 4965 and 5000, then it calls to HW specific handlers. This patch also removes uneeded work_struct from iwl_priv. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 16e727e866d739d7f02790c794410f6d9f1d720b Author: Emmanuel Grumbach Date: Thu Jun 12 09:46:52 2008 +0800 iwlwifi: removes the RUN_TIME_CALIB ifdef This patch removes the possibility not to compile the run time calibrations. It also renames priv->sensitivity_work to priv->run_time_calib_work, and moves bg_run_time_calib to iwl4965_base since it is common to both: 4965 and 5000. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a78a83255651acff8234975b5c7b6cd19d717f3f Author: Holger Schurig Date: Thu Jun 5 13:09:50 2008 +0200 libertas: rename some registers to clarify their meaning Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 4c55523e600ee762c2b00b1ade4c5a82b57d07aa Author: Holger Schurig Date: Thu Jun 5 13:08:35 2008 +0200 libertas: check for old, unsupported hardware Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5314325692239a977a58fc796b4f4fb783643012 Author: Holger Schurig Date: Thu Jun 5 13:07:04 2008 +0200 libertas: document register meanings Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 3073556171f1cf2044ff38c1fc3b9f6c805f0873 Author: Holger Schurig Date: Thu Jun 5 13:06:15 2008 +0200 libertas: fix interrupt issue This helps against lost interrupts and aids in debugging this. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d2c3cc0070d32bf6cabe6b82942c3e80eae0bfc3 Author: Tony Vroon Date: Wed Jun 11 16:23:56 2008 -0400 mac80211: implement EU regulatory domain Implement missing EU regulatory domain for mac80211. Based on the information in IEEE 802.11-2007 (specifically pages 1142, 1143 & 1148) and ETSI 301 893 (V1.4.1). With thanks to Johannes Berg. Signed-off-by: Tony Vroon Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 564d9bdd89df4ceece5d126ff3b7db506ae06548 Author: Michael Buesch Date: Tue Jun 10 14:04:14 2008 +0200 nl80211: Fix comment merge error The comments ended up in the wrong place due to a merge error. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4f85f5b39208e755a93f63296ec1224d14121b6c Author: Ron Rindjunsky Date: Mon Jun 9 22:54:35 2008 +0300 iwlwifi: removing IWL4965_HT config This patch removes CONFIG_IWL4965_HT #ifdefs for iwl 4965 and 5000. 11n feature is stable in those drivers and its mode of operation is determined in mac80211, so this dependency is not needed any more. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit a19d7292dc7f1c7d8704a353f51c7f1529de953b Author: Jussi Kivilinna Date: Mon Jun 2 18:35:44 2008 +0300 rndis_wlan: cleanup: rename and remove local pointers Mixed use of 'dev' and 'usbdev' for usbnet pointer can be confusing. So changing all 'usbnet *dev' to 'usbnet *usbdev'. Also remove 'net_device *net' pointer from 'rndis_wext_bind' as 'usbdev->net' were already used where needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a67edb9e31a328397516d2285269232e98c5f88b Author: Jussi Kivilinna Date: Mon Jun 2 18:35:36 2008 +0300 rndis_wlan: check if set_multicast_list work is already scheduled Don't queue set_multicast_list work if WORK_SET_MULTICAST_LIST flag already set. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5331b96ce3a9f08d3a9e28386e193e8c78f8fdd1 Author: Jussi Kivilinna Date: Mon Jun 2 18:35:29 2008 +0300 rndis_wlan: update carrier flag when link state changes Driver wasn't updating netif_carrier on link state changes but assumed link layer was always up. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 6010ce07a66cfed043879de31275f5b90b33c4fc Author: Jussi Kivilinna Date: Mon Jun 2 18:35:21 2008 +0300 rndis_wlan: do link-down state change in worker thread rndis_wext_link_change() is called from within rndis_command() so it isn't very good place to do any work. Move to worker thread. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit cc0d9ff2c998410c7d4a99061a3ebdaa5c55ae9d Author: Akinobu Mita Date: Mon Jun 9 16:44:30 2008 -0700 airo: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Dan Williams Cc: Michal Schmidt Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit a9f853ddd352954815a023c4811629ed117df2f8 Author: Gertjan van Wingerde Date: Sat Jun 7 16:57:09 2008 +0200 rt2x00: Rework alignment check. Rework the alignment check in rt2x00dev.c to be independent of any potential alignment measures that may be taken before. Just check whether the payload is aligned based on the pointer addresses. Note: This is preparatory for the dynamically mapped skb buffers for the PCI drivers, as these need 4-byte alignment instead of the currently enforced offset by 2 bytes. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 99990e0c031c5da2cf7b0a03fc22ab755aa5619f Author: Ivo van Doorn Date: Sat Jun 7 16:54:12 2008 +0200 rt2x00: Remove unused defines MAX_RX_SSI and MAX_NOISE are no longer used, it is better to remove them entirely. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 58b642ec8961ce76991331a67a356d96a8e45c69 Author: Ivo van Doorn Date: Sat Jun 7 12:29:05 2008 +0200 rt2x00: Clear IEEE80211_TX_CTL_USE_RTS_CTS flag for RTS frame For RTS/CTS-to-self frames the IEEE80211_TX_CTL_USE_RTS_CTS flag should be cleared for the tx_info flags. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4ae1168199021dacedacd32274eef402c5059841 Author: Ivo van Doorn Date: Fri Jun 6 22:58:29 2008 +0200 rt2x00: Use __builtin_choose_expr() instead of ?: To really force the FIELD macros to determine the first bit of the register field we should use the __builtin_choose_expr() function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a26cbc650846b74dd7f46dd877fd30c472df14a1 Author: Gertjan van Wingerde Date: Fri Jun 6 22:54:28 2008 +0200 rt2x00: Fix double usage of skb->cb in USB RX path. It is not safe to use the skb->cb area for both the rxd and skb_frame_desc data at the same time, while they occupy an overlapping piece of memory. This can lead to hard to trace crashes as pointers within skb_frame_desc are pointing into nowhere, or the rxd data is overwritten with non-sense. Fix it by copying the rxd to a small buffer on the stack. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 239c249d06b0c68ae06b10d9d6ad1f8e7f39452b Author: Gertjan van Wingerde Date: Fri Jun 6 22:54:12 2008 +0200 rt2x00: Centralize RX packet alignment handling in rt2x00lib. When rt2x00pci will be switched over to dynamically mapped skb's instead of statically allocated DMA buffers, it no longer can handle alignment of RX packets in a copy step, and needs to implement the same scheme as rt2x00usb does. In order to make the patch on dynamically mapped skb's smaller, already centralize the alignment handling into rt2x00lib. This allows us to move more code in rt2x00lib, and thus remove code duplication between rt2x00usb and rt2x00pci. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d56d453a1dd85aff08fe6965f395049725fdb04e Author: Gertjan van Wingerde Date: Fri Jun 6 22:54:08 2008 +0200 rt2x00: Cleanup struct skb_frame_desc. The data and data_len fields aren't really necessary in struct skb_frame_desc, as they can be deduced from the skb itself. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b869767b6f5049f1d1ede2bb3e48832e0722ca5a Author: Ivo van Doorn Date: Fri Jun 6 22:53:14 2008 +0200 rt2x00: Don't kick TX queue after each frame TX queues shouldn't be kicked after each frame that is put into the queue. This could cause problems during RTS and CTS-to-self as well as with fragmentation. In all those cases you want all frames to be send out in a single burst. Off course we shouldn't let the queue fill up entirely, thus we introduce a 10% threshold which, when reached, will force the frames to be send out regardless of the frame. In addition we should prevent queues to become full in such a way that the tx() handler can fail. Instead of stopping the queue when it is full, we should stop it when it is below the threshold. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6db3786aee36b32e5ed072ed67fad6d5341b0991 Author: Ivo van Doorn Date: Fri Jun 6 22:50:28 2008 +0200 rt2x00: Move generic TX frame writing code into rt2x00queue The write_tx_data functions in rt2x00pci and rt2x00usb have a lot in common. This moves that duplicate code into rt2x00queue_write_tx_frame(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f019d51410a9b61278eeff811a1ca11d2a905241 Author: Ivo van Doorn Date: Fri Jun 6 22:47:39 2008 +0200 rt2x00: Implement rt2x00usb_kick_tx_queue() rt2x00usb_kick_tx_queue() will loop over all entries within the INDEX_DONE->INDEX range and kick each entry which is pending to be kicked. This makes the kick_tx_queue approach work the same as with the PCI drivers which will allow for more code generalisation into rt2x00lib. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 565a019ac635d4f5140a8c4da21387c3b2b28fb9 Author: Ivo van Doorn Date: Tue Jun 3 20:29:05 2008 +0200 rt2x00: Fix queue initialization qid should be initialized to QID_BEACON and QID_ATIM for the beacon and atim quue. This makes checking for a particular queue much saner, and it shouldn't harm, because the only places where the value is send to the hardware, we are allowed to send any value we want since it is only used as argument in the TX done register. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1b92ad7a4549288e8d4d62e1329c50f9349eafa4 Author: Ivo van Doorn Date: Tue Jun 3 20:29:24 2008 +0200 rt2x00: Release rt2x00 2.1.7 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c483bb4cbdeb24d9d3bc0dc4248fdcb1f4c55244 Author: Ivo van Doorn Date: Tue Jun 3 20:29:43 2008 +0200 rt2x00: Make rt2x00_set/get_field macros The rt2x00_set_field functions are very often used, but GCC is better able to optimize them when they are macros instead of static inline functions. After changing it to macro's each rt2x00 driver will loose about ~3500 bytes in size. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 70249816a87b3c2293dc7b33331e614c67666336 Author: Ivo van Doorn Date: Tue Jun 3 20:29:54 2008 +0200 rt2x00: Removed unused descriptor read in txdone rt2x00usb doesn't need the TX descriptor in the TX done path. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 772a249d3348e06427ccd790a989f59cc67574f6 Author: Ivo van Doorn Date: Tue Jun 3 20:29:57 2008 +0200 rt2x00: Remove CTS/RTS check in tx() mac80211 doesn't send RTS or CTS-to-self frames through the tx() callback functions so we don't need to check it. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 475433be3d8f4d840e2930eef96671b7f8d11053 Author: Ivo van Doorn Date: Tue Jun 3 20:30:01 2008 +0200 rt2x00: Move led initialization into function Reduce code duplication by moving led structure initialization into a per-driver function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2b08da3fb595432f87b5206c1c77dcb72300cacf Author: Ivo van Doorn Date: Tue Jun 3 18:58:56 2008 +0200 rt2x00: Cleanup/optimize set_state() function callback function * Reduce goto usage * Mark if-statements which are true on hardware error unlikely() * Cleanup debug messages This makes the code look nicer and be better optimized since the chance of hardware errors should be very small. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9dad92b9ba49eaab72513d821ae43298bcf93b90 Author: Ivo van Doorn Date: Tue Jun 3 22:45:35 2008 +0200 rt2x00: Calculate register offset during compile time By using __ffs() the register offsets were always calculated at run-time which all FIELD32/FIELD16 definitions were builtin constants. This means we can heavily optimize the register handling by allowing GCC to do all the work during compilation. Add some compile_ffs() macros to perform the calculation at compile time. After this each rt2x00 module size is reduced by ~2500 bytes. And the stack size of several functions is reduced as well which further limits the number of rt2x00 results in 'make checkstack'. v2: Merge GertJan's bugfix of patch [1/11] directly into this patch       instead of providing it as seperate patch. v3: Add extra parentheses when bitshifting __x Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a4500b84c51645bbc86be3ca84f2252b7ada060f Author: Abhishek Sagar Date: Sat Jun 14 11:59:39 2008 +0530 ftrace: fix "notrace" filtering priority This is a fix to give notrace filter rules priority over "set_ftrace_filter" rules. This fix ensures that functions which are set to be filtered and are concurrently marked as "notrace" don't get recorded. As of now, if a record is marked as FTRACE_FL_FILTER and is enabled, then the notrace flag is not checked. Tested on x86-32. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 4ae127d1b6c71f9240dd4245f240e6dd8fc98014 Merge: 875ec43... 7775c97... Author: David S. Miller Date: Fri Jun 13 20:52:39 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/smc911x.c commit d3bd67cdbb5d12f30dfd1b627fd95bd6dcc7ff1e Author: Takashi Iwai Date: Thu Jun 12 18:17:26 2008 +0200 ALSA: make snd_ctl_elem_read() and snd_ctl_elem_write() static snd_ctl_elem_read() and snd_ctl_elem_write() are no longer used by any other drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 149b154452b18dedd4559cdd65b965ae9011e425 Author: Takashi Iwai Date: Thu Jun 12 17:43:36 2008 +0200 ALSA: hda - Remove unused mutex Removed unused mutex from patch_*.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4549915cdf468019d2fd86485dd8d2ab426b8d85 Author: Takashi Iwai Date: Thu Jun 12 16:27:24 2008 +0200 ALSA: hda - Fix stac9205_cfg_tbl Sort stac9205_cfg_table in the order of id numbers, and removed the duplicated (obsoleted) entries for 0x01fc and 0x01fd. This doesn't change the driver behavior since the old entries are all secondary. The duplication occured due to commit dfe495d0, and the old entries were introduced by commit ae0a8ed8. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6e132fa668d48a5a6fae6c24f6104e44b1ec1049 Author: Jarkko Nikula Date: Wed Jun 11 13:47:15 2008 +0100 ALSA: ASoC: Cover also Nokia N810 WiMAX Edition in N810 machine driver Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a2e31a595ea74120a5e9de91fce56dd835edff94 Author: Mike Montour Date: Wed Jun 11 13:47:14 2008 +0100 ALSA: ASoC: Add TLV information to the LM4857 controls on the GTA01 Signed-off-by: Mike Montour Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 10144c09a0d6a62e1d56e25f142743c7a00e5dba Author: Mike Montour Date: Wed Jun 11 13:47:13 2008 +0100 ALSA: ASoC: Add SOC_SINGLE_EXT_TLV control type Signed-off-by: Mike Montour Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2cc8c609798957b90adf90b5bfb9859d1643fade Author: Mike Montour Date: Wed Jun 11 13:47:12 2008 +0100 ALSA: ASoC: Add TLV information to remaining WM8753 controls Signed-off-by: Mike Montour Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d133b0ce6ceaf744184c7cb9f95ba92f333c246a Author: Mark Brown Date: Wed Jun 11 13:47:11 2008 +0100 ALSA: ASoC: Fix WM9713 voice PCM slave mode configuration Reported-by: Rodolfo Giometti Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bdb92876f0a9d2b431199e385732ede89ff0b97d Author: Mark Brown Date: Wed Jun 11 13:47:10 2008 +0100 ALSA: ASoC: Pass the DAI being configured into CPU DAI probe and remove This allows per-DAI initialisation to be done by the CPU DAI drivers. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dbac7cb8a7fcae34ffda04e4bc30673c2ea841ae Author: Mark Brown Date: Wed Jun 11 13:47:09 2008 +0100 ALSA: ASoC: Add missing includes Ensure that DAIs are prototyped in the codec drivers that define them. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ae2ff19180d7dcac438e399f874d4de230b7f326 Author: Mark Brown Date: Wed Jun 11 13:47:08 2008 +0100 ALSA: ASoC: Tweak tlv320aicx reg_cache_size ASoC codec drivers frequently set the register cache size using sizeof() rather than ARRAY_SIZE(). For tlv320aicx either is correct since the registers are 8 bit but update to use ARRAY_SIZE() for clarity. Signed-off-by: Mark Brown Acked-by: Jarkko Nikula  Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ddd440768e04e0c158c2bfa6178928e1f1eef3e Author: Mark Brown Date: Wed Jun 11 13:47:07 2008 +0100 ALSA: ASoC: Fix register cache size for UDA1380 The register cache size is used by the codec_reg sysfs file which works in terms of the register cache access functions rather than in terms of raw access to the cache so the size specified needs to be in terms of the number of elements. Signed-off-by: Mark Brown Cc: Philipp Zabel Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d751b233bb8568f1de1ccbe3824ca69090326251 Author: Mark Brown Date: Wed Jun 11 13:47:06 2008 +0100 ALSA: ASoC: Fix register cache sizes for Wolfson codecs The register cache size is used by the codec_reg sysfs file which works in terms of the register cache access functions rather than in terms of raw access to the cache so the size specified needs to be in terms of the number of elements. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6 Author: Krzysztof Helt Date: Wed Jun 11 12:26:32 2008 +0200 ALSA: opti93x: use cs4231 lib This patch converts the Opti93x driver to use the cs4231 library instead of duplicating the code. Signed-off-by: Krzysztof Helt Tested-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit abf1f5aafc1939db1f252e33914a3689e0f5830f Author: Krzysztof Helt Date: Mon Jun 9 23:07:28 2008 +0200 ALSA: opti93x: add support for Opti93x codec in cs4231-lib This patch adds support for WSS compatible Opti93x codec to the cs4231-lib. Signed-off-by: Krzysztof Helt Tested-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a6a950a8a8e1431e8527809339e089ac926a7d34 Author: Takashi Iwai Date: Tue Jun 10 17:53:35 2008 +0200 ALSA: hda - Add a warning if pending IRQ is found The pending IRQ handling is a very hackish workaround and should be avoided as much as possible via a larger bdl_pos_adj option value. Put a warning message if this situation occurs so that the user may have a chance to notice that something is wrong. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c53b96f229aa6e27f17855cbbf8e4243868a3a9 Author: Takashi Iwai Date: Tue Jun 10 17:53:35 2008 +0200 ALSA: hda - Add description of bdl_pos_adj option Added a brief description of the new bdl_pos_adj option to ALSA-Configuration.txt. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5c0d7bc103dd1ae85967fbcf70be8d1ae3aa3d79 Author: Takashi Iwai Date: Tue Jun 10 17:53:35 2008 +0200 ALSA: hda - Fix bdl_pos_adj value for ATI SB chipsets ATI SB controllers seem to report the DMA ahead in the amount of FIFO. Thus bdl_pos_adj should be 32 for them as default. Also, the default value is set to -1, which means to make the driver to choose the appropriate value. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 555e219ffaeecbd08d1603e1551188483e7e3b64 Author: Takashi Iwai Date: Tue Jun 10 17:53:34 2008 +0200 ALSA: hda - bdl_pos_adj option to each instance The option bdl_pos_adj should be provided for each card instance instead of a global one because the value depends rather on each controller-chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d2e1c97331d37a477ef7e9a272b4de4e53b893be Author: Takashi Iwai Date: Tue Jun 10 17:53:34 2008 +0200 ALSA: hda - remove position_fix=3 position_fix=3 is the option to correct the DMA position with the FIFO size. But, it never worked correctly, and we have now more other workarounds for the DMA position fixes. Thus better to remove it. Also, change POS_FIX_NONE to POS_FIX_LPIB to represent its real role better. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 675f25d4d3ff6501cbce608bcc2333a56ec4c105 Author: Takashi Iwai Date: Tue Jun 10 17:53:20 2008 +0200 ALSA: hda - Add bdl_pos_adj option Added a new option, bdl_pos_adj, to adjust the delay of IRQ-wakeup timing. Most HD-audio hardwares have a problem that a BDL IRQ is issued before actually the data and the DMA pointer are updated. We have already a mechanism to force to delay snd_pcm_period_elapsed() calls via workq, but this costs much CPU, and typically the delay is within one sample. Thus, it's more clever to adjust the BDL entries instead. The new option adds the size of the delay in frames. As default, it's set to 1 -- that is, one sample delay. Even the hardware is really correct, one sample delay is relatively harmless in comparison with reporting wrong positions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0a1b42db4bf9db233d1f29795086a9526e84c845 Author: Adrian Bunk Date: Tue Jun 10 01:26:28 2008 +0300 sound: sound/oss/dmasound/: cleanups This patch contains the following cleanups: - make the following needlessly global functions static: - dmasound_core.c: get_afmt_string() - dmasound_paula.c: dmasound_paula_init() - dmasound_q40.c: dmasound_q40_init() - remove the following unused global variable: - dmasound_core.c: software_input_volume Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 781711a93e8aae756e8ae07acef185a6dfe552b8 Author: Takashi Iwai Date: Tue Jun 10 12:34:45 2008 +0200 ALSA: emu10k1 - Fix page allocation with GFP_DMA Added the missing GFP_ATOMIC to page_alloc when called with GFP_DMA. GFP_KERNEL often results in stalls for ZONE_DMA, so GFP_ATOMIC is more prgmatic. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 36ca6e133ae3a57318a3ad8a41b2f005e3934c29 Author: Akio Idehara Date: Mon Jun 9 22:57:40 2008 +0900 [ALSA] hda - Add Toshiba dynabook SS RX1 support I have Toshiba dynabook SS RX1 and this patch adds that support. Signed-off-by: Akio Idehara Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3ae5f36a368b143cfd8a6f7a988a012c1b46eda0 Author: Krzysztof Helt Date: Sun Jun 8 07:57:53 2008 +0200 [ALSA] opti93x: fix sound ouput for Opti930 This patch fixes silenced output from the Opti930. Signed-off-by: Krzysztof Helt Acked-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 38f582270feb19ea8821cb64c5d2fdbd6bdd0bd9 Author: Takashi Iwai Date: Sun Jun 8 09:17:27 2008 +0200 [ALSA] ac97 - Fix power_save option value as time-out The power_save option was set as boot although it was meant to be a timeout value like the same option of snd-hda-intel originally. Now fixed to the same style. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 05a076de83b507238cd186e93daeaf15820d570e Author: Mark Brown Date: Fri Jun 6 17:13:53 2008 +0100 [ALSA] ASoC: Fix default mono mixer configuration for WM8510 Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0264b3b636f1ba5777426dd9b5bb5cbbeb5fcb34 Author: Juergen Beisert Date: Fri Jun 6 17:02:57 2008 +0200 [ALSA] ac97: add support for wm9711 master left inv switch This patch adds support for Master Left Inv Switch on wm9711. At least required to drive the mono speaker on the PXA270 platfrom Signed-off-by: Juergen Beisert Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a5a242dceed5d1c74fe46088762a9e4312c2d000 Author: Vegard Nossum Date: Fri Jun 13 11:00:14 2008 +0200 stacktrace: print_stack_trace() cleanup - shorter code and better atomicity with regards to printk(). (It's been tested with the backtrace self-test code on i386 and x86_64.) Cc: Arjan van de Ven Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 875ec4333b99144e2589e900a0bcd2c25c757b27 Author: Richard Kennedy Date: Fri Jun 13 03:03:17 2008 -0700 udp: reorder udp_iter_state to remove padding on 64bit builds reorder udp_iter_state to remove padding on 64bit builds shrinks from 24 to 16 bytes, moving to a smaller slab when CONFIG_NET_NS is undefined & seq_net_private = {} Signed-off-by: Richard Kennedy Signed-off-by: David S. Miller commit 131b943ae643b1ad6febd67cdbb31d955706ecf4 Author: Ben Hutchings Date: Thu Jun 5 17:37:15 2008 +0100 cputopology: always define CPU topology information, clean up simplify drivers/base/topology.c a bit. Signed-off-by: Ben Hutchings Signed-off-by: Ingo Molnar commit c50cbb05a05cf1f9ca3592272eff053c847727d8 Author: Ben Hutchings Date: Wed Jun 4 21:47:29 2008 -0700 cpu topology: always define CPU topology information This can result in an empty topology directory in sysfs, and requires in-kernel users to protect all uses with #ifdef - see . The documentation of CPU topology specifies what the defaults should be if only partial information is available from the hardware. So we can provide these defaults as a fallback. This patch: - Adds default definitions of the 4 topology macros to - Changes drivers/base/topology.c to use the topology macros unconditionally and to cope with definitions that aren't lvalues - Updates documentation accordingly [ From: Andrew Morton - fold now-duplicated code - fix layout ] Signed-off-by: Ben Hutchings Cc: Vegard Nossum Cc: Nick Piggin Cc: Chandra Seetharaman Cc: Suresh Siddha Cc: Mike Travis Cc: Christoph Lameter Cc: John Hawkes Cc: Zhang, Yanmin Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 2429e4ee78e2fa40f82a4572dd21d4f3b4de9325 Author: Huang, Ying Date: Fri Jun 13 14:40:17 2008 +0800 lockdep: output lock_class key instead of address for forward dependency output The key instead of address of lock_class should be output in /proc/lockdep when forward dependency is output, because key is output for lock_class itself as identifier too. This patch is based on x86/auto-latest branch of git-x86 tree, and has been tested on x86_64 platform. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 030352a9c7715780b2c01033ae9afe56249bb7cc Merge: e6e30ad... 0c1aa20... Author: David S. Miller Date: Thu Jun 12 16:14:22 2008 -0700 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit d8f3de0d2412bb91639cfefc5b3c79dbf3812212 Author: Rafael J. Wysocki Date: Thu Jun 12 23:24:06 2008 +0200 Suspend-related patches for 2.6.27 ACPI PM: Add possibility to change suspend sequence There are some systems out there that don't work correctly with our current suspend/hibernation code ordering. Provide a workaround for these systems allowing them to pass 'acpi_sleep=old_ordering' in the kernel command line so that it will use the pre-ACPI 2.0 ("old") suspend code ordering. Unfortunately, this requires us to add a platform hook to the resuming of devices for recovering the platform in case one of the device drivers' .suspend() routines returns error code. Namely, ACPI 1.0 specifies that _PTS should be called before suspending devices, but _WAK still should be called before resuming them in order to undo the changes made by _PTS. However, if there is an error during suspending devices, they are automatically resumed without returning control to the PM core, so the _WAK has to be called from within device_resume() in that cases. The patch also reorders and refactors the ACPI suspend/hibernation code to avoid duplication as far as reasonably possible. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 53eb2fbeb9e68e1a9a23945de8450999c46270ce Merge: 8344b56... 0e6859d... Author: Jesse Barnes Date: Thu Jun 12 12:06:58 2008 -0700 Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 into linux-next commit f781b03c4b1c713ac000877c8bbc31fc4164a29b Author: Cyrill Gorcunov Date: Thu Jun 12 17:08:16 2008 +0400 x86: touch_nmi_watchdog(): reset alert counters for supported nmi_watchdog modes only The checking 'if nmi_watchdog > 0' (ie NMI_NONE) is quite fast but it has a side effect - it's taken even if nmi_watchdog = NMI_DISABLED. Nowadays nmi_watchdog is set up to NMI_NONE by default so this condition is properly taken most the time but we better show this explicitly. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6703f6d10dcd3316e03641a5ecaa6c8a04374d98 Author: Rafael J. Wysocki Date: Tue Jun 10 00:10:48 2008 +0200 x86, gart: add resume handling If GART IOMMU is used on an AMD64 system, the northbridge registers related to it should be restored during resume so that memory is not corrupted. Make gart_resume() handle that as appropriate. Ref. http://lkml.org/lkml/2008/5/25/96 and the following thread. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit 20764ff1efb440640353053ec83263e69e1259e0 Author: Jiri Slaby Date: Thu Jun 12 11:27:03 2008 +0200 ftrace: fix printout Do not print loglevel before "entries of %ld bytes". Move it to the previous pr_info. Signed-off-by: Jiri Slaby Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit bb6dfb32f90094fea647e1f27d994a8b6ddd2766 Merge: 4f384f8... 5e70b7f... Author: Ingo Molnar Date: Thu Jun 12 11:27:22 2008 +0200 Merge branch 'linus' into x86/gart commit bf07dc864902b3e788de5ab50dc62d5677da90f2 Author: Rafael J. Wysocki Date: Thu Jun 12 10:27:08 2008 +0200 x86: remove obsolete PM definitions from NMI header Remove obsolete and no longer used PM-related definitions from include/asm-x86/nmi.h. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit 499f8f84b8324ba27d756e03f373fa16eeed9ccc Author: Andreas Herrmann Date: Tue Jun 10 16:06:21 2008 +0200 x86: rename pat_wc_enabled to pat_enabled BTW, what does pat_wc_enabled stand for? Does it mean "write-combining"? Currently it is used to globally switch on or off PAT support. Thus I renamed it to pat_enabled. I think this increases readability (and hope that I didn't miss something). Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit cd7a4e936d345ab4cb49d68192d90bd4e4c58458 Author: Andreas Herrmann Date: Tue Jun 10 16:05:39 2008 +0200 x86: PAT: fixed checkpatch errors (and whitespaces) x86: PAT: fixed checkpatch errors (and whitespaces) Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 97cfab6ac4ddfda0d722393bbf46cc40bc332107 Author: Andreas Herrmann Date: Tue Jun 10 16:05:18 2008 +0200 x86: PAT: fix ambiguous paranoia check in pat_init() Starting with commit 8d4a4300854f3971502e81dacd930704cb88f606 (x86: cleanup PAT cpu validation) the PAT CPU feature flag is not cleared anymore. Now the error message "PAT enabled, but CPU feature cleared" in pat_init() is misleading. Furthermore the current code does not check for existence of the PAT CPU feature flag if a CPU is whitelisted in validate_pat_support. This patch clears pat_wc_enabled if boot CPU has no PAT feature flag and adapts the paranoia check. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit ee863ba7ab3d3ed8a9585d378aae69d1e3e9f1b4 Author: Andreas Herrmann Date: Tue Jun 10 16:04:30 2008 +0200 x86: unconditionally enable PAT for AMD CPUs If PAT support is advertised it should just work. No errata known. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit c26421d01986e1521043c8feb47256833df3bf31 Author: Venki Pallipadi Date: Thu May 29 12:01:44 2008 -0700 x86: fix Xorg crash with xf86MapVidMem error Clarify the usage of mtrr_lookup() in PAT code, and to make PAT code resilient to mtrr lookup problems. Specifically, pat_x_mtrr_type() is restructured to highlight, under what conditions we look for mtrr hint. pat_x_mtrr_type() uses a default type when there are any errors in mtrr lookup (still maintaining the pat consistency). And, reserve_memtype() highlights its usage ot mtrr_lookup for request type of '-1' and also defaults in a sane way on any mtrr lookup failure. pat.c looks at mtrr type of a range to get a hint on what mapping type to request when user/API: (1) hasn't specified any type (/dev/mem mapping) and we do not want to take performance hit by always mapping UC_MINUS. This will be the case for /dev/mem mappings used to map BIOS area or ACPI region which are WB'able. In this case, as long as MTRR is not WB, PAT will request UC_MINUS for such mappings. (2) user/API requests WB mapping while in reality MTRR may have UC or WC. In this case, PAT can map as WB (without checking MTRR) and still effective type will be UC or WC. But, a subsequent request to map same region as UC or WC may fail, as the region will get trackked as WB in PAT list. Looking at MTRR hint helps us to track based on effective type rather than what user requested. Again, here mtrr_lookup is only used as hint and we fallback to WB mapping (as requested by user) as default. In both cases, after using the mtrr hint, we still go through the memtype list to make sure there are no inconsistencies among multiple users. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Tested-by: Rufus & Azrael Signed-off-by: Ingo Molnar commit 85ba9d978d654b802d2ad46563cfb4b960eb1357 Author: Dale Farnsworth Date: Thu Jun 5 06:10:51 2008 -0700 mv643xx_eth: new maintainer Signed-off-by: Dale Farnsworth Signed-off-by: Lennert Buytenhek commit 45675bc6eb2393587bea900c726bca3b74ea9a3e Author: Lennert Buytenhek Date: Mon Jun 2 02:02:30 2008 +0200 mv643xx_eth: update driver version and author fields Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit bedfe3248efd070acd97d44d8c58cf82d7ebe7c4 Author: Lennert Buytenhek Date: Mon Jun 2 02:13:03 2008 +0200 mv643xx_eth: add PHY-less mode On some boards, the mv643xx_eth MAC isn't connected to a PHY but directly (via the MII/GMII/RGMII interface) to another MAC-layer device. This patch allows specifying ->phy_addr = -1 to skip all PHY-related initialisation and run-time poking in that case. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 12e4ab79cd828563dc090d2117dc8626b344bc8f Author: Lennert Buytenhek Date: Mon Jun 2 01:58:01 2008 +0200 mv643xx_eth: be more agressive about RX refill During OOM, instead of stopping RX refill when the rx desc ring is not empty, keep trying to refill the ring as long as it is not full instead. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 1e881592e0420dfb5626344a69b15ae268ee98c7 Author: Lennert Buytenhek Date: Mon Jun 2 01:57:36 2008 +0200 mv643xx_eth: detect alternate TX BW control register location Some SoCs have the TX bandwidth control registers in a slightly different place. This patch detects that case at run time, and re-directs accesses to those registers to the proper place at run time if needed. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 773fc3ee7ef47081c018c964829b660d6be9ee01 Author: Lennert Buytenhek Date: Mon Jun 2 01:54:16 2008 +0200 mv643xx_eth: detect extended rx coal register field Newer hardware has a 16-bit instead of a 14-bit RX coalescing count field in the SDMA_CONFIG register. This patch adds a run-time check for which of the two we have, and adjusts further writes to the rx coal count field accordingly. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 226bb6b732f8c2cc7004279c509333fa41186a6d Author: Lennert Buytenhek Date: Mon Jun 2 01:47:21 2008 +0200 mv643xx_eth: work around TX hang hardware issue Under some conditions, the TXQ ('TX queue being served') bit can clear before all packets queued for that TX queue have been transmitted. This patch enables TXend interrupts, and uses those to re-kick TX queues that claim to be idle but still have queued descriptors from the interrupt handler. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 3d6b35bc5090cf8d8b7e62eca1f9c21ca56fc6c7 Author: Lennert Buytenhek Date: Mon Jun 2 01:28:22 2008 +0200 mv643xx_eth: allow multiple TX queues As with the multiple RX queue support, allow the platform code to specify that the hardware we are running on supports multiple TX queues. This patch only uses the highest-numbered enabled queue to send packets to for now, this can be extended later to enable QoS and such. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 64da80a29c7455321a7df7b47e27d639e3944c1a Author: Lennert Buytenhek Date: Mon Jun 2 01:01:26 2008 +0200 mv643xx_eth: allow multiple RX queues Allow the platform code to specify that we are running on hardware that is capable of supporting multiple RX queues. If this option is used, initialise all of the given RX queues instead of just RX queue zero. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 89df5fdc5290681e17b8755675c59ed9607a487a Author: Lennert Buytenhek Date: Mon Jun 2 00:51:05 2008 +0200 mv643xx_eth: add tx rate control Add an interface for the hardware's per-port and per-subqueue TX rate control. In this stage, this is mainly so that we can disable the bandwidth limits during initialisation of the port. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit fc32b0e28df6655a15b488aaddfc1339f82dc13a Author: Lennert Buytenhek Date: Mon Jun 2 00:28:40 2008 +0200 mv643xx_eth: general cleanup General cleanup of the mv643xx_eth driver. Mainly fixes coding style / indentation issues, get rid of some useless 'volatile's, kill some more superfluous comments, and such. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit ffd86bbe1c744a25efad5bddd08f1c5b1dbcd9ac Author: Lennert Buytenhek Date: Sun Jun 1 21:59:27 2008 +0200 mv643xx_eth: remove write-only interrupt coalescing variables Remove the write-only ->[rt]x_int_coal members from struct mv643xx_eth_private. In the process, tweak the RX/TX interrupt mitigation code so that it is compiled by default, and set the default coalescing delays to 0 usec. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 13d6428538feaefa6c796f76b9918de165ae69f8 Author: Lennert Buytenhek Date: Sun Jun 1 20:51:22 2008 +0200 mv643xx_eth: split out tx queue state Split all TX queue related state into 'struct tx_queue', in preparation for multiple TX queue support. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 8a578111e343350ff8fa75fc3630d4bba5475cae Author: Lennert Buytenhek Date: Sun Jun 1 18:09:35 2008 +0200 mv643xx_eth: split out rx queue state Split all RX queue related state into 'struct rx_queue', in preparation for multiple RX queue support. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 69876569bbf3dfac567f47c619888c827cb87b30 Author: Lennert Buytenhek Date: Sun Jun 1 11:43:32 2008 +0200 mv643xx_eth: massively simplify multicast address crc8 computation Replace the 70-line crc8 computation (used for multicast address filtering tables) by a 5-line version. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 16820054773027a9be2e2b5e33eb2015d32deeaf Author: Lennert Buytenhek Date: Sun Jun 1 11:40:29 2008 +0200 mv643xx_eth: kill private unused instance of struct net_device_stats The per-port mv643xx_eth_private struct had a private instance of struct net_device_stats that was never ever written to, only read (via the ethtool statistics interface). This patch gets rid of the private instance, and tweaks the ethtool statistics code in mv643xx_eth to use the statistics in struct net_device instead. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 03ae1aac4af54b52ac501e507d75d8f37634b32e Author: Lennert Buytenhek Date: Sun Jun 1 10:52:41 2008 +0200 mv643xx_eth: kill FUNC_RET_STATUS/pkt_info Since they are no longer used, kill enum FUNC_RET_STATUS and struct pkt_info (which were a rather roundabout way of communicating RX/TX status within the same driver). Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit de34f225e112ddfabb56043a2be64bf7f69c1885 Author: Lennert Buytenhek Date: Sun Jun 1 10:07:49 2008 +0200 mv643xx_eth: move rx_return_buff() into its only caller rx_return_buff() is also a remnant of the HAL layering that the original mv643xx_eth driver used. Moving it into its caller kills the last reference to FUNC_RET_STATUS/pkt_info. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 9658766152c0e3759f61cc4e75aef6d8450bd5bb Author: Lennert Buytenhek Date: Sun Jun 1 10:31:56 2008 +0200 mv643xx_eth: move port_receive() into its only caller The port_receive() function is a remnant of the original mv643xx_eth HAL split. This patch moves port_receive() into its caller, so that the top and the bottom half of RX processing no longer communicate via the HAL FUNC_RET_STATUS/pkt_info mechanism abstraction anymore. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 5daffe945a60376b626896c371ef78f24698b988 Author: Lennert Buytenhek Date: Sun Jun 1 02:52:41 2008 +0200 mv643xx_eth: get rid of hungarian variable naming Nuke some Hungarian-esque variable naming conventions: - p_ prefix for pointers - _q suffix for variables dealing with rx/tx queue state Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit fab1f6b1e25c2c7e9d0b79e589a5e48fdead47f6 Author: Lennert Buytenhek Date: Sun Jun 1 02:40:33 2008 +0200 mv643xx_eth: kill ->rx_resource_err The ->rx_resource_err variable doesn't serve a useful purpose -- kill it. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 5dc4d174e2fc0a30ae8fbeb0de81d7cef21f8885 Author: Lennert Buytenhek Date: Sun Jun 1 12:27:57 2008 +0200 mv643xx_eth: kill superfluous comments Half of the functions in the mv643xx_eth driver are prefixed by useless and baroque comment blocks on _what_ those functions do (which is obvious from the code itself) rather than why, and there's no point in keeping those comments around. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit e53714933c66668ecb7eb9a48d79725e5a077a93 Author: Lennert Buytenhek Date: Sun Jun 1 02:18:13 2008 +0200 mv643xx_eth: use 'mv643xx_eth_' prefix consistently A bunch of places in the mv643xx_eth driver use the 'mv643xx_' prefix. Since the mv643xx is a chip that includes more than just ethernet, this patch makes all those places use either no prefix (for some internal-use-only functions), or the full 'mv643xx_eth_' prefix. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit cc9754b3334ea371c25041b03b2fdc08404f38b4 Author: Lennert Buytenhek Date: Sun Jun 1 02:10:27 2008 +0200 mv643xx_eth: get rid of ETH_/ethernet_/eth_ prefixes The fact that mv643xx_eth is an ethernet driver is pretty obvious, and having a lot of internal-use-only functions and defines prefixed with ETH_/ethernet_/eth_ prefixes is rather pointless. So, get rid of most of those prefixes. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 7ca72a3b166fe5e7e7e2bf0fb9e48089cba6c25e Author: Lennert Buytenhek Date: Sun Jun 1 01:41:29 2008 +0200 mv643xx_eth: clean up rx/tx descriptor field defines Remove the unused rx/tx descriptor field defines, and move the ones that are actually used to the actual definitions of the rx/tx descriptor format. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit a2a41689fea5d9c6ae01d6becee513b7888dd53b Author: Lennert Buytenhek Date: Sun Jun 1 01:30:42 2008 +0200 mv643xx_eth: remove port serial status register bit defines All except one of the port serial status register bit defines are unused -- kill the unused ones. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 4b8e3655978690cee49416c61c5cccf166fd390b Author: Lennert Buytenhek Date: Sun Jun 1 01:29:58 2008 +0200 mv643xx_eth: move MIB offset defines into their only user The only user of the ETH_MIB_VERY_LONG_NAME_HERE defines is the eth_update_mib_counters() function. Get rid of the defines by open-coding the register offsets in the latter. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 0a6cf74dd5ec440b7681880984d9455353f673ec Author: Lennert Buytenhek Date: Sun Jun 1 11:16:21 2008 +0200 mv643xx_eth: get rid of RX_BUF_OFFSET Get rid of RX_BUF_OFFSET (which is synonymous with ETH_HW_IP_ALIGN). Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit e1bea50ac4e950ea3249cfed219f49d6be22d280 Author: Lennert Buytenhek Date: Sun Jun 1 01:29:14 2008 +0200 mv643xx_eth: move PHY wait defines into callers Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 073a345c04b01da0cc5b79ac7be0c7c8b1691ef5 Author: Lennert Buytenhek Date: Sun Jun 1 02:00:31 2008 +0200 mv643xx_eth: clarify irq masking and unmasking Replace the nondescriptive names ETH_INT_UNMASK_ALL and ETH_INT_UNMASK_ALL_EXT by names of the actual fields being masked and unmasked in the various writes to the interrupt mask registers. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit d08911c4d760d71d1331e4f43b9d805ce6920823 Author: Lennert Buytenhek Date: Sun Jun 1 01:24:23 2008 +0200 mv643xx_eth: remove unused DESC_SIZE define Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 5a5ba930bf3b3b5e2bfce3be301c34059dc91626 Author: Lennert Buytenhek Date: Sun Jun 1 01:23:20 2008 +0200 mv643xx_eth: nuke port status register bit defines None of the port status register bit defines are ever used in the mv643xx_eth driver -- nuke them all. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 2beff77b6e02f52376843fbea3df9d620ee24903 Author: Lennert Buytenhek Date: Sun Jun 1 01:22:37 2008 +0200 mv643xx_eth: delete unused port serial control register bit defines Over half of the port serial control register bit defines are never used, and the PORT_SERIAL_CONTROL_DEFAULT_VALUE define is never used either. Keep only those defines that are actually used. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 2679a550d39d7815f9fdbde5cef2f54e5fbdeae2 Author: Lennert Buytenhek Date: Sun Jun 1 01:18:58 2008 +0200 mv643xx_eth: delete unused SDMA config register bit defines Delete the defines for SDMA config register bit values that are never used in the driver, to tidy up the code some more. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 376489a250be5a5abe07aa39aa9623c31031b55e Author: Lennert Buytenhek Date: Sun Jun 1 01:17:44 2008 +0200 mv643xx_eth: get rid of individual port config extend register bit defines The port config extend register is never changed at run time. Document the meaning of the initial value, and delete the defines for the individual bits in this register. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit d9a073ea166983e180438e2989b07ec1b70bc1f5 Author: Lennert Buytenhek Date: Sun Jun 1 01:22:06 2008 +0200 mv643xx_eth: get rid of individual port config register bit defines The mv643xx_eth driver only ever changes bit 0 of the port config register at run time, the rest of the register bits are fixed (and always zero). Document the meaning of the chosen default value, and get rid of all the defines for each of the individual bits. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit 3cb4667c5b35ad3cafe57f24dab5284056d89df1 Author: Lennert Buytenhek Date: Sun Jun 1 01:03:23 2008 +0200 mv643xx_eth: shorten reg names Shorten the various oversized register names in mv643xx_eth.c, to increase readability. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit a779d38ccf558576ab911e8ca0d66bbd92fcaba9 Author: Lennert Buytenhek Date: Sun Jun 1 00:54:05 2008 +0200 mv643xx_eth: trim unnecessary includes Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit c9df406f3138265193f5e8d7b7fe85dfbbbd3ac4 Author: Lennert Buytenhek Date: Sun Jun 1 00:48:39 2008 +0200 mv643xx_eth: reverse topological sort of functions This patch performs a reverse topological sort of all functions in mv643xx_eth.c, so that we can get rid of all forward declarations, and end up with a more understandable driver due to related functions being grouped together. Signed-off-by: Lennert Buytenhek Acked-by: Dale Farnsworth commit e6e30add6bd8115af108de2a13ec82d997a55777 Merge: d4c3c07... 9501f97... Author: David S. Miller Date: Wed Jun 11 22:33:59 2008 -0700 Merge branch 'net-next-2.6-misc-20080612a' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-next commit d4c3c0753594adaafbcb77a086f013f1d847b3f0 Author: Adrian Bunk Date: Tue Jun 10 22:48:08 2008 -0700 irda: remove CVS keywords This patch removes CVS keyword that weren't updated for a long time. One of them was printed as part of a printk, which also doesn't make much sense for a 5 year old and no longer updated keyword. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 0b040829952d84bf2a62526f0e24b624e0699447 Author: Adrian Bunk Date: Tue Jun 10 22:46:50 2008 -0700 net: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 0c1aa20fb87b796d904f4d89ad12e5a0c483127b Author: Stephen Rothwell Date: Thu May 29 22:39:28 2008 +1000 [netdrvr] Fix 8390 build breakage From: tony@bakeyournoodle.com (Tony Breeds) The commit 3f8cb098859bbea29d7b3765a3102e4a6bf81b85 (drivers/net/lib8390: fix warning, trim trailing whitespace) removed ei_local from ei_tx_err() and ei_rx_overrun() resulting in the following build errors on m68k and sh: Using /scratch1/tony/next as source for kernel GEN /scratch1/tony/next_out/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h CALL /scratch1/tony/next/scripts/checksyscalls.sh CHK include/linux/compile.h CC [M] drivers/net/zorro8390.o In file included from /scratch1/tony/next/drivers/net/zorro8390.c:47: drivers/net/lib8390.c: In function 'ei_tx_err': drivers/net/lib8390.c:556: error: 'ei_local' undeclared (first use in this function) drivers/net/lib8390.c:556: error: (Each undeclared identifier is reported only once drivers/net/lib8390.c:556: error: for each function it appears in.) drivers/net/lib8390.c: In function 'ei_rx_overrun': drivers/net/lib8390.c:823: error: 'ei_local' undeclared (first use in this function) make[3]: *** [drivers/net/zorro8390.o] Error 1 make[2]: *** [drivers/net] Error 2 make[1]: *** [drivers] Error 2 make: *** [sub-make] Error 2 The problem is that ei_inb_p() is using various #defines (from drivers/net/8390.h) that use EI_SHIFT, which in some drivers on some architectures use ei_local. Tag ei_local as "__maybe_unused" to keep it around and keep the warnings the original commit is trying to silence ... silenced. Signed-off-by: Tony Breeds Signed-off-by: Jeff Garzik commit a5136e23b54250f4082130f3dd6f5cb6c54bc7d5 Author: Jeff Kirsher Date: Thu Jun 5 04:07:28 2008 -0700 e1000e: allow VLAN devices to use TSO and TCP CSUM offload Using the new interface for propagating device feature flags into VLAN devices, turn on TSO and CSUM offload on VLAN devices. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 48f29ffc509748f5b82d7690561e98f851241a19 Author: Jeff Kirsher Date: Thu Jun 5 04:06:27 2008 -0700 igb: allow vlan devices to use TSO and TCP CSUM offload Using the new interface for propagating device feature flags into VLAN deivces, turn on TSO and CSUM offload on VLAN devices. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit ad31c402b41a25cfc6c8369b8412d6c133ccafbe Author: Jeff Kirsher Date: Thu Jun 5 04:05:30 2008 -0700 ixbge: allow vlan devices to use TSO and TCP CSUM offload Using the new interface for propagating device feature flags into VLAN devices, turn on TSO and CSUM offload on VLAN devices. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 72dc1c096c7051a48ab1dbb12f71976656b55eb5 Author: Greg Kroah-Hartman Date: Tue May 13 21:57:12 2008 -0700 HSO: add option hso driver This driver is for a number of different Option devices. Originally written by Option and Andrew Bird, but cleaned up massivly for acceptance into mainline by me and others. Many thanks to the following for their help in cleaning up the driver by providing feedback and patches to it: - Paulius Zaleckas - Oliver Neukum - Alan Cox - Javier Marcet Cc: Andrew Bird Cc: Javier Marcet Cc: Filip Aben Cc: Paulius Zaleckas Cc: Oliver Neukum Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit 44f74c046961bd1f21b7d35baaa9165572d1e975 Author: Adrian Bunk Date: Tue Jun 10 01:23:47 2008 +0300 drivers/net/macsonic.c: make functions static This patch makes the following needlessly global functions static: - macsonic_init() - mac_onboard_sonic_ethernet_addr() - mac_onboard_sonic_probe() - mac_nubus_sonic_ethernet_addr() - macsonic_ident() - mac_nubus_sonic_probe() Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3a221d17a7a031ad04242f6bc86b7dff307534f8 Author: Adrian Bunk Date: Tue Jun 10 01:23:25 2008 +0300 drivers/net/: remove write-only "last_dev" This patch removes write-only global "last_dev" variables from the following drivers: - a2065.c - declance.c - sunlance.c Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 909fa882a83a5c73868ba0630654d0018d35252a Author: Adrian Bunk Date: Tue Jun 10 01:23:39 2008 +0300 drivers/net/mac8390.c: make functions static This patch makes the following needlessly global functions static: - mac8390_ident() - mac8390_testio() - mac8390_memsize() Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 0b1140782a68569b859b727de67eecf95a74ab44 Author: Adrian Bunk Date: Tue Jun 10 01:23:32 2008 +0300 make hplance_{init,cleanup}_module() static This patch makes the needlessly global hplance_{init,cleanup}_module() static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3cacd2a1ce5464b9874508927d561c0dfce74637 Author: Adrian Bunk Date: Tue Jun 10 01:23:29 2008 +0300 make drivers/net/atarilance.c:lance_addr_list[] static This patch makes the needlessly global lance_addr_list[] static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit d1d5741d8568c268ec234a5b35af4a04498be6d8 Author: Sven Schnelle Date: Mon Jun 9 16:33:57 2008 -0700 macb: use random mac if stored address in EEPROM is invalid We should use a random mac address if the EEPROM doesn't contain a valid one. This makes life on Boards with unprogrammed EEPROM devices easier. Signed-off-by: Sven Schnelle Cc: Haavard Skinnemoen Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 86a74ff21a7ac4bc06b18076ddb0347712b46cfd Author: Nobuhiro Iwamatsu Date: Mon Jun 9 16:33:56 2008 -0700 net: sh_eth: add support for Renesas SuperH Ethernet Add support for Renesas SuperH Ethernet controller. This driver supports SH7710 and SH7712. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Cc: Paul Mundt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1ae9d2f4d776bd7e5f64d957216051cd36eb6802 Author: Magnus Damm Date: Mon Jun 9 16:33:55 2008 -0700 smc911x: SuperH architecture support Enable the smc911x driver for the SuperH architecture. While at it remove the unused SMC_USE_SH_DMA definition. Signed-off-by: Magnus Damm Cc: Jeff Garzik Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 12c03f59c3909159010b87a926f5626d4380d441 Author: Magnus Damm Date: Mon Jun 9 16:33:55 2008 -0700 smc911x: introduce platform data flags This patch adds a new header file for platform data information together with code that adds run time bus width and irq flag support. Signed-off-by: Magnus Damm Cc: Jeff Garzik Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 699559f84bee8b630c1d16fe1bc8e9667d170d65 Author: Magnus Damm Date: Mon Jun 9 16:33:54 2008 -0700 smc911x: pass along private data and use iomem This patch contains changes needed for platform data support: - Move smc911x_local structure to header file - Pass along smc911x_local structure pointer to macros - Keep register base address in smc911x_local structure - Remove unused ioaddr variables [m.kozlowski@tuxland.pl: Parenthesis fix in drivers/net/smc911x.h] Signed-off-by: Magnus Damm Cc: Jeff Garzik Cc: Paul Mundt Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9961530a5f017afae6a928672840617103bea118 Author: Magnus Damm Date: Mon Jun 9 16:33:53 2008 -0700 smc911x: fix 16-bit I/O operations This patch fixes the following issues related to 16-bit support: - Remove unused 16-bit PXA DMA implementation. - Remove unused SMC_inw() and SMC_outw() functions. - Fix 16-bit SMC_outl to use writew() instead of writel(). Signed-off-by: Magnus Damm Cc: Jeff Garzik Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f0000920696661cbbe2393d93a6f4e1b8325d531 Author: Magnus Damm Date: Mon Jun 9 16:33:53 2008 -0700 smc911x: remove unused 8-bit I/O operations Remove unused SMC_inb() and SMC_outb() functions. Signed-off-by: Magnus Damm Cc: Jeff Garzik Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0e6859d49ff194e01afc229c996e3aefca1a0539 Author: Rafael J. Wysocki Date: Thu Jun 5 01:17:28 2008 +0200 ACPI PM: Remove obsolete Toshiba workaround Remove the obsolete workaround for a Toshiba Satellite 4030cdt S1 problem from drivers/acpi/sleep/main.c . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 8d2bdf49481b27096e242119e73abe9348c1019b Author: Rafael J. Wysocki Date: Thu Jun 5 01:16:37 2008 +0200 PCI ACPI: Drop the second argument of platform_pci_choose_state Since the second argument of acpi_pci_choose_state() and platform_pci_choose_state() is never used, remove it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 06166780eb53685e72b589814d535d1f9948e761 Author: David Brownell Date: Thu Jun 5 01:15:40 2008 +0200 ACPI PM: acpi_pm_device_sleep_state() cleanup Get rid of a superfluous acpi_pm_device_sleep_state() parameter. The only legitimate value of that parameter must be derived from the first parameter, which is what all the callers already do. (However, this does not address the fact that ACPI still doesn't set up those flags.) Signed-off-by: David Brownell Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit fec6a82282cc38397ba1c4a7b5b99d70eea06532 Author: Kumar Gala Date: Wed Jun 11 13:07:26 2008 -0500 powerpc/booke: Fix some comments related to debug level exceptions Signed-off-by: Kumar Gala commit 9501f9722922f2e80e1f9dc6682311d65c2b5690 Author: YOSHIFUJI Hideaki Date: Fri Apr 18 12:45:16 2008 +0900 tcp md5sig: Let the caller pass appropriate key for tcp_v{4,6}_do_calc_md5_hash(). As we do for other socket/timewait-socket specific parameters, let the callers pass appropriate arguments to tcp_v{4,6}_do_calc_md5_hash(). Signed-off-by: YOSHIFUJI Hideaki commit 5848f16947026601b9cb4df694bb9f44dfefc354 Author: Anton Vorontsov Date: Wed Jun 11 16:32:48 2008 +0400 powerpc/QE: qe_reset should be __init This patch fixes following section mismatch: WARNING: arch/powerpc/sysdev/built-in.o(.text+0x11d8): Section mismatch in reference from the function qe_reset() to the function .init.text:cpm_muram_init() Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 8d26d76dd4a4c87ef037a44a42a0608ffc730199 Author: YOSHIFUJI Hideaki Date: Thu Apr 17 13:19:16 2008 +0900 tcp md5sig: Share most of hash calcucaltion bits between IPv4 and IPv6. We can share most part of the hash calculation code because the only difference between IPv4 and IPv6 is their pseudo headers. Signed-off-by: YOSHIFUJI Hideaki commit 076fb7223357769c39f3ddf900bba6752369c76a Author: YOSHIFUJI Hideaki Date: Thu Apr 17 12:48:12 2008 +0900 tcp md5sig: Remove redundant protocol argument. Protocol is always TCP, so remove useless protocol argument. Signed-off-by: YOSHIFUJI Hideaki commit 7d5d5525bd88313e6fd90c0659665aee5114bc2d Author: YOSHIFUJI Hideaki Date: Thu Apr 17 12:29:53 2008 +0900 tcp md5sig: Share MD5 Signature option parser between IPv4 and IPv6. Signed-off-by: YOSHIFUJI Hideaki commit 81b302a321a0d99ff172b8cb2a8de17bff2f9499 Author: YOSHIFUJI Hideaki Date: Mon Apr 28 03:17:38 2008 +0900 key: Use xfrm_addr_cmp() where appropriate. Signed-off-by: YOSHIFUJI Hideaki commit 5f95ac9111f75aa240dc3bcabffc0f047f13cb64 Author: YOSHIFUJI Hideaki Date: Mon Apr 28 02:46:24 2008 +0900 key: Share common code path to extract address from sockaddr{}. Signed-off-by: YOSHIFUJI Hideaki commit e5b56652c11baf144eb713c33ff70a1b5d6d09bc Author: YOSHIFUJI Hideaki Date: Mon Apr 28 01:46:41 2008 +0900 key: Share common code path to fill sockaddr{}. Signed-off-by: YOSHIFUJI Hideaki commit 9e8b4ed8bb7d2f0f91dccf0abf648771d76e7a01 Author: YOSHIFUJI Hideaki Date: Mon Apr 28 00:50:45 2008 +0900 key: Introduce pfkey_sockaddr_len() for raw sockaddr{} length. Signed-off-by: YOSHIFUJI Hideaki commit 3de232554a91adc74e80dc15c304be806bd7e1f9 Author: Benjamin Thery Date: Wed May 28 14:51:24 2008 +0200 ipv6 netns: Address labels per namespace This pacth makes IPv6 address labels per network namespace. It keeps the global label tables, ip6addrlbl_table, but adds a 'net' member to each ip6addrlbl_entry. This new member is taken into account when matching labels. Changelog ========= * v1: Initial version * v2: * Minize the penalty when network namespaces are not configured: * the 'net' member is added only if CONFIG_NET_NS is defined. This saves space when network namespaces are not configured. * 'net' value is retrieved with the inlined function ip6addrlbl_net() that always return &init_net when CONFIG_NET_NS is not defined. * 'net' member in ip6addrlbl_entry renamed to the less generic 'lbl_net' name (helps code search). Signed-off-by: Benjamin Thery Signed-off-by: YOSHIFUJI Hideaki commit 2b5ead46442d80928cce987ae6acf3fe99968ad8 Author: YOSHIFUJI Hideaki Date: Tue May 13 01:16:24 2008 +0900 ipv6 addrconf: Introduce addrconf_is_prefix_route() helper. This inline function, for readability, returns if the route is a "prefix" route regardless if it was installed by RA or by hand. Signed-off-by: YOSHIFUJI Hideaki commit 0399e5f07ad7024f70881d44f19d767d3f25a980 Author: Rami Rosen Date: Wed Apr 23 14:36:58 2008 +0300 ipv6 addrconf: Remove IFA_GLOBAL definition from include/net/if_inet6.h. This patches removes IFA_GLOBAL definition from linux/include/net/if_inet6.h as it is unused. Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki commit 7d120c55df02a2b87f4aa317f1f04e398398dcdc Author: Rami Rosen Date: Wed Apr 23 14:35:13 2008 +0300 ipv6 mroute: Use MRT6_VERSION instead of MRT_VERSION in ip6mr.c. MRT6_VERSION should be used instead of MRT_VERSION in ip6mr.c. Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki commit 9cba632e24ef18e2905c18997a8f24e8d7a29e71 Author: Rami Rosen Date: Wed Apr 23 14:34:00 2008 +0300 ipv6 mcast: Remove unused macro (MLDV2_QQIC) from mcast.c. This patch removes MLDV2_QQIC macro from mcast.c as it is unused. Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki commit d2146cb274e494dd14e50f5b4cdeb7a5e5af5421 Author: Giuseppe Coviello Date: Fri May 23 03:51:37 2008 +1000 powerpc/4xx: Convert Sam440ep DTS to dts-v1 This makes the sam440ep.dts dts-v1 compliant. Signed-off-by: Giuseppe Coviello Signed-off-by: Josh Boyer commit b6014e15bc38a33cf9591d33674dd870027cb623 Author: Giuseppe Coviello Date: Tue May 20 01:20:47 2008 +1000 powerpc/4xx: Sam440ep support The Sam440ep is an high customizable general purpose mini-itx board, based on the AMCC 440EP and with a LatticeXP FPGA onboard. It's poduced by ACube Systems Srl (Bassano del Grappa, Italy), http://www.acube-systems.biz. Signed-off-by: Giuseppe Coviello Signed-off-by: Josh Boyer commit 995ada8d5e6b3d5a32ca3e544a564d0623c4f3fa Author: Stefan Roese Date: Fri Jun 6 00:22:29 2008 +1000 powerpc/4xx: PCIe driver now detects if a port is disabled via the dev-tree This patch add a check to the PPC4xx PCIe driver to detect if the port is disabled via the device-tree. This is needed for the AMCC Canyonlands board which has an option to either select 2 PCIe ports or 1 PCIe port and one SATA port. The SATA port and the 1st PCIe port pins are multiplexed so we can't start both drivers. Signed-off-by: Stefan Roese Acked-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 156cea23acffaa270cf243a3a0f43e1e30682081 Author: Valentine Barshak Date: Thu Jun 5 23:36:38 2008 +1000 powerpc/4xx: Fix resource issue in warp-nand.c The "ndfc-chip" device doesn't need any resources. All resources are handled by the "ndfc-nand" device. Registering the same memory resource twice causes "cat /proc/iomem" to go into an infinite loop displaying NDFC memory addresses. Signed-off-by: Valentine Barshak Acked-by: Stefan Roese Acked-by: Sean MacLennan Signed-off-by: Josh Boyer commit 887942d7d62499999f7868f194d7f41fd6e88795 Author: Imre Kaloz Date: Wed Jun 11 08:03:41 2008 -0400 powerpc/4xx: MTD support for the AMCC Taishan Board Add support for the NOR flash found on the AMCC Taishan Board and enable MTD support in the defconfig. Signed-off-by: Imre Kaloz Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 939e622c5e7f8ccd6b0a05a810114b368f7de69e Author: Josh Boyer Date: Wed Jun 11 07:52:40 2008 -0400 Revert "[POWERPC] 4xx: Fix 460GT support to not enable FPU" This reverts commit acb0142bf01c0ebe18f09e37814451ee6a873e27. AMCC has indicated that the PPC 460GT does have FPU support. This revert enables the FPU for those chips again. Signed-off-by: Josh Boyer commit 573bf470e693f73a6ac437b17a64a10902ba54bf Author: Thomas Graf Date: Tue Jun 10 15:40:04 2008 -0700 ipv4 addr: Send netlink notification for address label changes Makes people happy who try to keep a list of addresses up to date by listening to notifications. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 8344b568f5bdc7ee1bba909de3294c6348c36056 Author: Alex Chiang Date: Tue Jun 10 15:30:42 2008 -0600 PCI: ACPI PCI slot detection driver Detect all physical PCI slots as described by ACPI, and create entries in /sys/bus/pci/slots/. Not all physical slots are hotpluggable, and the acpiphp module does not detect them. Now we know the physical PCI geography of our system, without caring about hotplug. [kaneshige.kenji@jp.fujitsu.com: export-kobject_rename-for-pci_hotplug_core] Signed-off-by: Kenji Kaneshige Acked-by: Greg KH [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: fix build with CONFIG_DMI=n] Signed-off-by: Alex Chiang Cc: Greg KH Cc: Kristen Carlson Accardi Cc: Len Brown Acked-by: Len Brown Acked-by: Kenji Kaneshige Signed-off-by: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit f46753c5e354b857b20ab8e0fe7b2579831dc369 Author: Alex Chiang Date: Tue Jun 10 15:28:50 2008 -0600 PCI: introduce pci_slot Currently, /sys/bus/pci/slots/ only exposes hotplug attributes when a hotplug driver is loaded, but PCI slots have attributes such as address, speed, width, etc. that are not related to hotplug at all. Introduce pci_slot as the primary data structure and kobject model. Hotplug attributes described in hotplug_slot become a secondary structure associated with the pci_slot. This patch only creates the infrastructure that allows the separation of PCI slot attributes and hotplug attributes. In this patch, the PCI hotplug core remains the only user of this infrastructure, and thus, /sys/bus/pci/slots/ will still only become populated when a hotplug driver is loaded. A later patch in this series will add a second user of this new infrastructure and demonstrate splitting the task of exposing pci_slot attributes from hotplug_slot attributes. - Make pci_slot the primary sysfs entity. hotplug_slot becomes a subsidiary structure. o pci_create_slot() creates and registers a slot with the PCI core o pci_slot_add_hotplug() gives it hotplug capability - Change the prototype of pci_hp_register() to take the bus and slot number (on parent bus) as parameters. - Remove all the ->get_address methods since this functionality is now handled by pci_slot directly. [achiang@hp.com: rpaphp-correctly-pci_hp_register-for-empty-pci-slots] Tested-by: Badari Pulavarty Acked-by: Benjamin Herrenschmidt [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: make headers_check happy] [akpm@linux-foundation.org: nuther build fix] [akpm@linux-foundation.org: fix typo in #include] Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Cc: Greg KH Cc: Kristen Carlson Accardi Cc: Len Brown Acked-by: Kenji Kaneshige Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit fe99740cac117f208707488c03f3789cf4904957 Author: Alex Chiang Date: Tue Jun 10 15:27:37 2008 -0600 PCI: construct one fakephp slot per PCI slot Register one slot per slot, rather than one slot per function. Change the name of the slot to fake%d instead of the pci address. Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Cc: Greg KH Cc: Kristen Carlson Accardi Cc: Len Brown Cc: Kenji Kaneshige Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 64dab20450184e6586c12704da11ce48a0918050 Author: Jesse Barnes Date: Tue Jun 10 14:20:03 2008 -0700 PCI: update location of PCI hotplug mailing lists Just concentrate PCI traffic at linux-pci@vger rather than splitting it between vger and a sf.net moderated (!) mailing list. Acked-by: Matthew Wilcox Acked-by: Scott Murray Acked-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit ec1aef33668448718fcba79e4e981592bfd7e0a3 Author: Adrian Bunk Date: Tue Jun 10 15:12:58 2008 -0500 jfs: remove DIRENTSIZ After fat gets fixed the unused DIRENTSIZ macro was the last user of struct dirent we should get rid of since the kernel and userspace versions differed. Signed-off-by: Adrian Bunk Signed-off-by: Dave Kleikamp commit c5ec514016d1a65922465372ff1e6748e6f7dea9 Author: Harvey Harrison Date: Tue Jun 10 12:48:45 2008 -0700 bluetooth: hci_bcsp.c small cleanups/api users Use bitrev16 from lib/bitrev.c. Use the get_unaligned_be16 to get the crc from the packet, create a small helper function for this. Fix a shadowed variable sparse warning: drivers/bluetooth/hci_bcsp.c:218:26: warning: symbol 'hdr' shadows an earlier one drivers/bluetooth/hci_bcsp.c:187:5: originally declared here [akpm@linux-foundation.org: select CONFIG_BITREVERSE, noted by akinobu.mita@gmail.com] Signed-off-by: Harvey Harrison Acked-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 27e468597315e5ce078fdd39856b7954b639183a Author: Krzysztof Helt Date: Sun Jun 8 13:47:02 2008 +0200 PCI: unhide the SMBus on the Compaq Deskpro EN This patch unhides the SMBus on Compaq Deskpro EN SFF P667 with the Intel 815E chipset. Unhiding it reveals a THMC51 hardware monitoring chip. Jean Delvare has checked that this machine has no ACPI magic touching the SMBus nor the hardware monitoring chip, so this should be safe. The patch was tested on Fedora Core 9 with 2.6.25.4 kernel. Signed-off-by: Krzysztof Helt Tested-by: Rafał Haładuda CC: Jean Delvare Signed-off-by: Jesse Barnes commit 5d9526d07a8dc87460c13c277b3edcc26b0e662f Author: Alex Chiang Date: Wed Jun 4 11:39:07 2008 -0600 PCIe: fix 'symbol not declared' sparse warnings While refreshing my physical PCI slot series against upstream, I noticed a few simple sparse/compile warnings that were easy to fix. Fix the following sparse warnings in PCIe: drivers/pci/pcie/aer/aerdrv.c:86:6: warning: symbol 'pci_no_aer' was not declared. Should it be static? drivers/pci/pcie/portdrv_bus.c:21:17: warning: symbol 'pcie_port_bus_type' was not declared. Should it be static? Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 10260d9ab702454460242ef4d3ecfc49fcb96a5b Author: Jean Delvare Date: Wed Jun 4 13:53:31 2008 +0200 PCI: Unhide the SMBus on the Compaq Evo D510 One more machine with a hidden Intel SMBus. Unhiding it reveals a SMSC EMC6D100 hardware monitoring chip. I have checked that this machine has no ACPI magic touching the SMBus nor the hardware monitoring chip, so this should be safe. Signed-off-by: Jean Delvare Signed-off-by: Jesse Barnes commit ece6763419f44ed72f4fc78752e5f5364df1794b Author: Julia Lawall Date: Thu May 29 15:04:38 2008 +0200 PCI: eliminate double kfree in intel-iommu initialization The destination of goto error also does a kfree(g_iommus), so it is not correct to do one here. This was found using Coccinelle (http://www.emn.fr/x-info/coccinelle/). Signed-off-by: Julia Lawall Signed-off-by: Jesse Barnes commit 6a3f084971bad985722afe25b16a5c0a990cea75 Author: Kenji Kaneshige Date: Mon Jun 2 09:22:34 2008 -0700 pciehp: removes redundant NULL write to slot status register Cleanup to remove a redundant NULL write to SLOTSTATUS. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit d8b23e8ffb567758fc6074e97210ddb42114827c Author: Kenji Kaneshige Date: Mon Jun 2 09:07:46 2008 -0700 pciehp: fixes typo in dbg_ctrl() in pciehp_hpc.c Fixup a typo in dbg_ctrl(); it was fetching SLOTSTATUS twice. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit ac9c052d10d8d6f46a30cb46c0d6d753997c299f Author: Kenji Kaneshige Date: Wed May 28 15:01:03 2008 +0900 shpchp: check firmware before taking control Fix the following problems of shpchp driver about getting hotplug control from firmware. - The shpchp driver must not control the hotplug controller if it fails to get control from the firmware. But current shpchp controls the hotplug controller regardless the result, because it doesn't check the return value of get_hp_hw_control_from_firmware(). - Current shpchp driver doesn't support _OSC. The pciehp driver already have the code for evaluating _OSC and OSHP and shpchp and pciehp can share it. So this patch move that code from pciehp to acpi_pcihp.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d737bdc141f0f040171fffbb7f9e08a825b27aab Author: Kenji Kaneshige Date: Wed May 28 14:59:44 2008 +0900 pciehp: block signals while waiting for command completion Since we need to wait for command completion for muximum 1sec, waiting command should not be interrupted by a signal. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 125c39f7d233de28f342d80858025ffed0c4b7f4 Author: Kenji Kaneshige Date: Wed May 28 14:57:30 2008 +0900 pciehp: evaluate _OSC/OSHP before controller init Current pciehp evaluates _OSC/OSHP method after some controller initialization is done. So if evaluating _OSC/OSHP is failed, we need to cleanup already initialized data structures or hardware. This clearly is not robust way. With this patch, _OSC/OSHP evaluation is done first. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b143b3cc82fac459feb1abdffb1d77be9805adaa Author: Kenji Kaneshige Date: Wed May 28 14:56:00 2008 +0900 pciehp: remove redundant pci_dev initialization Remove the redundant initialization of pci_dev member of struct controller in pciehp_probe(). It is initialized in pcie_init(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit e3f2baebf4209b5927e23fa65d5977d31db936b3 Author: Yinghai Lu Date: Thu May 22 14:35:11 2008 -0700 PCI/x86: early dump pci conf space v2 Allows us to dump PCI space before any kernel changes have been made. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit e7891c733f9b26c851edde50cf886a30bd133dbd Author: Yinghai Lu Date: Thu May 22 14:35:21 2008 -0700 PCI/x86: write_pci_config_byte fix offset also add write_pci_config_16 Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 25e18499e08cb097cbbfeab5de25d094d5312ee5 Author: Rafael J. Wysocki Date: Wed May 21 01:40:43 2008 +0200 Implement new suspend and hibernation callbacks for platform busses Implement new suspend and hibernation callbacks for the platform bus type. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg KH Signed-off-by: Jesse Barnes commit bbb44d9f23d868a2837c6b22b8dfb123d8e7800c Author: Rafael J. Wysocki Date: Tue May 20 00:49:04 2008 +0200 PCI: implement new suspend/resume callbacks Implement new suspend and hibernation callbacks for the PCI bus type. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit 1eede070a59e1cc73da51e1aaa00d9ab86572cfc Author: Rafael J. Wysocki Date: Tue May 20 23:00:01 2008 +0200 Introduce new top level suspend and hibernation callbacks Introduce 'struct pm_ops' and 'struct pm_ext_ops' ('ext' meaning 'extended') representing suspend and hibernation operations for bus types, device classes, device types and device drivers. Modify the PM core to use 'struct pm_ops' and 'struct pm_ext_ops' objects, if defined, instead of the ->suspend(), ->resume(), ->suspend_late(), and ->resume_early() callbacks (the old callbacks will be considered as legacy and gradually phased out). The main purpose of doing this is to separate suspend (aka S2RAM and standby) callbacks from hibernation callbacks in such a way that the new callbacks won't take arguments and the semantics of each of them will be clearly specified. This has been requested for multiple times by many people, including Linus himself, and the reason is that within the current scheme if ->resume() is called, for example, it's difficult to say why it's been called (ie. is it a resume from RAM or from hibernation or a suspend/hibernation failure etc.?). The second purpose is to make the suspend/hibernation callbacks more flexible so that device drivers can handle more than they can within the current scheme. For example, some drivers may need to prevent new children of the device from being registered before their ->suspend() callbacks are executed or they may want to carry out some operations requiring the availability of some other devices, not directly bound via the parent-child relationship, in order to prepare for the execution of ->suspend(), etc. Ultimately, we'd like to stop using the freezing of tasks for suspend and therefore the drivers' suspend/hibernation code will have to take care of the handling of the user space during suspend/hibernation. That, in turn, would be difficult within the current scheme, without the new ->prepare() and ->complete() callbacks. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Jesse Barnes commit bb71ad880204b79d60331d3384103976e086cb9f Author: Gary Hade Date: Mon May 12 13:57:46 2008 -0700 PCI: boot parameter to avoid expansion ROM memory allocation Contention for scarce PCI memory resources has been growing due to an increasing number of PCI slots in large multi-node systems. The kernel currently attempts by default to allocate memory for all PCI expansion ROMs so there has also been an increasing number of PCI memory allocation failures seen on these systems. This occurs because the BIOS either (1) provides insufficient PCI memory resource for all the expansion ROMs or (2) provides adequate PCI memory resource for expansion ROMs but provides the space in kernel unexpected BIOS assigned P2P non-prefetch windows. The resulting PCI memory allocation failures may be benign when related to memory requests for expansion ROMs themselves but in some cases they can occur when attempting to allocate space for more critical BARs. This can happen when a successful expansion ROM allocation request consumes memory resource that was intended for a non-ROM BAR. We have seen this happen during PCI hotplug of an adapter that contains a P2P bridge where successful memory allocation for an expansion ROM BAR on device behind the bridge consumed memory that was intended for a non-ROM BAR on the P2P bridge. In all cases the allocation failure messages can be very confusing for users. This patch provides a new 'pci=norom' kernel boot parameter that can be used to disable the default PCI expansion ROM memory resource allocation. This provides a way to avoid the above described issues on systems that do not contain PCI devices for which drivers or user-level applications depend on the default PCI expansion ROM memory resource allocation behavior. Signed-off-by: Gary Hade Signed-off-by: Jesse Barnes commit 5ca5c02f0e81c094c19d30dc0d13be4e929a994a Author: Hidetoshi Seto Date: Mon May 19 13:48:17 2008 +0900 PCI/MSI: skip calling pci_find_capability from msi_set_mask_bits The position of MSI capability is already cached in the msi_desc when we enter the msi_set_mask_bits(). Use it instead. Signed-off-by: Hidetoshi Seto Acked-by: Arnaldo Carvalho de Melo Signed-off-by: Jesse Barnes commit cf35e4ad57b4c39a4c74921e20e48ec0dbeb14f4 Author: Adrian Bunk Date: Tue May 20 01:02:06 2008 +0300 PCI: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Jesse Barnes commit 90a57dab6a2bce7f2ef186fe2d07a84d14a2a625 Author: Kenji Kaneshige Date: Thu May 15 15:23:13 2008 +0900 pci-acpi: formatting cleanups for _OSC Minor cleanup in pci-acpi.c. Signed-off-by: Kenji Kaneshige Acked-by: Shaohua Li Signed-off-by: Jesse Barnes commit c155062d6ebed676f62761f90c62894a97816932 Author: Kenji Kaneshige Date: Thu May 15 15:22:35 2008 +0900 pci-acpi: remove unused variable in __pci_osc_support_set The 'retval' variable in __pci_osc_support_set() is no longer used. Remove this unused variable. Signed-off-by: Kenji Kaneshige Acked-by: Shaohua Li Signed-off-by: Jesse Barnes commit 681f7d9db58d2b6dc3c3b784d6815f86a53b6ba0 Author: Kenji Kaneshige Date: Thu May 15 15:21:16 2008 +0900 pci-acpi: add flag to indicate query had been done Current pci-acpi implementation checks osc_data->support_stat to see if control bits had been already queried. It is not good from the viewpoint of easy understanding. So this patch adds new 'is_queried' flag to indicate query had been done. Signed-off-by: Kenji Kaneshige Acked-by: Shaohua Li Signed-off-by: Jesse Barnes commit 5e0b9947452c824d66fafe728a46312cff544a7f Author: Kenji Kaneshige Date: Thu May 15 15:20:11 2008 +0900 pci-acpi: use local buffer for _OSC Current pci-acpi implementation uses array in osc_data directly to evaluate _OSC. It needs to save the old data and restore it if _OSC evaluation fails. To make it more robust, we should use local array to evaluate _OSC. Signed-off-by: Kenji Kaneshige Acked-by: Shaohua Li Signed-off-by: Jesse Barnes commit 8a7a4faf96eef8c87421be0d3f33ea036804289b Author: Kenji Kaneshige Date: Thu May 15 15:18:53 2008 +0900 pci-acpi: remove duplicate code for _OSC Remove the duplicated code in acpi_query_osc() and acpi_run_osc(). It simplifies the code very much. Signed-off-by: Kenji Kaneshige Acked-by: Shaohua Li Signed-off-by: Jesse Barnes commit 49db139955d3392c6c4facf987905d0a9afed581 Author: Zhao Yakui Date: Tue May 13 11:15:05 2008 +0800 PCI: Disable PME during PCI scan If a device supports #PME and can generate PME events from D0, we may see superfluous events before a driver is loaded (drivers should only enable PME as needed), preventing suspend from working if the corresponding GPE was enabled. Likewise, if the ACPI device has the _PRW object, the _PSW/_DSW object will be called in order to disable the wakeup functionality. But when it is allowed to wake up the sleeping state, OSPM will enable it again. So we should disable PME in the course of scanning PCI devices and enable it again only when PME events are actually required to be generated from the requested PCI state (for example, D3_hot or D3_cold). It is also safe to disable PME again when the PME is disabled for the PCI devices. Signed-off-by: Zhao Yakui Signed-off-by: Li Shaohua Signed-off-by: Jesse Barnes commit e1a2a51e684bfe9d6165992d4a065439617a3107 Author: Rafael J. Wysocki Date: Thu May 15 21:51:31 2008 +0200 Suspend/Resume bug in PCI layer wrt quirks Some quirks should be called with interrupt disabled, we can't directly call them in .resume_early. Also the patch introduces pci_fixup_resume_early and pci_fixup_suspend, which matches current device core callbacks (.suspend/.resume_early). TBD: Somebody knows why we need quirk resume should double check if a quirk should be called in resume or resume_early. I changed some per my understanding, but can't make sure I fixed all. Signed-off-by: Shaohua Li Signed-off-by: Jesse Barnes commit 273c11270d3715c4c06d4df1607a1a60034d887b Author: Miklos Vajna Date: Tue May 13 18:38:56 2008 +0200 x86/PCI: janitor work in irq.c Wrapped long lines, removed trailing whitespaces, fixed case indentation inside switch and so. Signed-off-by: Miklos Vajna Signed-off-by: Jesse Barnes commit eaf611426d4b9ad0d0a30c0a8d414380128720af Author: Robert P. J. Day Date: Sun May 11 16:58:53 2008 -0400 PCI: Replace deprecated __initcall with device_initcall. Signed-off-by: Robert P. J. Day Signed-off-by: Jesse Barnes commit 19792a0859f96e9fc8ce87d97b269bcb895389e5 Author: Adrian Bunk Date: Mon May 5 21:25:47 2008 +0300 PCI: drivers/pci/pci.c: add prototypes This patch adds prototypes for pcibios_disable_device() and pcibios_set_pcie_reset_state() in include/linux/pci.h While I was at it, I also removed the unneeded "extern" from the prototype of pcibios_add_platform_entries(). Signed-off-by: Adrian Bunk Signed-off-by: Jesse Barnes commit 552fe04aa242f164f126abfdb3f6f90fd6679d9f Author: Adrian Bunk Date: Mon May 5 21:21:51 2008 +0300 PCI: make {pciehp,shpchp}_slot_with_bus static This patch makes the needlessly global {pciehp,shpchp}_slot_with_bus static. Signed-off-by: Adrian Bunk Signed-off-by: Jesse Barnes commit 9a727a250c676334efdcb71a5b2ad4603addda06 Author: John W. Linville Date: Tue Jun 10 13:31:23 2008 -0400 net/mac80211/ieee80211_i.h: fix-up merge damage These definitions were originally removed in "mac80211: remove channel use statistics". Signed-off-by: John W. Linville commit 5093bb965a163fe288c3e5db0275165f86c895c2 Author: Anton Vorontsov Date: Fri May 23 20:39:06 2008 +0400 powerpc/QE: switch to the cpm_muram implementation This is very trivial patch. We're transitioning to the cpm_muram_* calls. That's it. Less trivial changes: - BD_SC_* defines were defined in the cpm.h and qe.h, so to avoid redefines we remove BD_SC from the qe.h and use cpm.h along with cpm_muram_* prototypes; - qe_muram_dump was unused and thus removed; - added some code to the cpm_common.c to support legacy QE bindings (data-only node name). - For convenience, define qe_* calls to cpm_*. So drivers need not to be changed. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit b13e930906b313d787f4dd07fe78b74a3a8c22c4 Author: Anton Vorontsov Date: Fri May 23 20:39:01 2008 +0400 powerpc/83xx: new board support: MPC8360E-RDK This is patch adds board file, device tree, and defconfig for the new board, made by Freescale Semiconductor Inc. and Logic Product Development. Currently supported: 1. UEC{1,2,7,4}; 2. I2C; 3. SPI; 4. NS16550 serial; 5. PCI and miniPCI; 6. Intel NOR StrataFlash X16 64Mbit PC28F640P30T85; 7. Graphics controller, Fujitsu MB86277. Not supported in this patch: 1. StMICRO NAND512W3A2BN6E, 512 Mbit (supported with FSL UPM NAND driver); 2. FHCI USB (supported with FHCI driver). 3. QE Serial UCCs (tested to not work with ucc_uart driver, reason unknown, yet); 4. ADC AD7843 (tested to work, but support via device tree depends on major SPI rework, GPIO API, etc); Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 32def337aafee0bc65eb58d5b1b3617525eb7fb7 Author: Anton Vorontsov Date: Mon May 19 21:47:05 2008 +0400 powerpc/QE: implement support for the GPIO LIB API This is needed to access QE GPIOs via Linux GPIO API. Signed-off-by: Anton Vorontsov Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit 9572653ee01a2134ae3a1d7aa29ce9d026a6afe9 Author: Anton Vorontsov Date: Fri May 23 20:38:58 2008 +0400 powerpc/QE: prepare QE PIO code for GPIO LIB support - split and export __par_io_config_pin() out of par_io_config_pin(), so we could use the prefixed version with GPIO LIB API; - rename struct port_regs to qe_pio_regs, and place it into qe.h; - rename #define NUM_OF_PINS to QE_PIO_PINS, and place it into qe.h. Signed-off-by: Anton Vorontsov Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit 5e41486c408eb4206aee09303631427f57771691 Author: Anton Vorontsov Date: Fri May 23 20:38:56 2008 +0400 powerpc/QE: add support for QE USB clocks routing This patch adds a function to the qe_lib to setup QE USB clocks routing. To setup clocks safely, cmxgcr register needs locking, so I just reused ucc_lock since it was used only to protect cmxgcr. The idea behind placing clocks routing functions into the qe_lib is that later we'll hopefully switch to the generic Linux Clock API, thus, for example, FHCI driver may be used for QE and CPM chips without nasty #ifdefs. This patch also fixes QE_USB_RESTART_TX command definition in the qe.h. Signed-off-by: Anton Vorontsov Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit 83ff9dcf375c418ca3b98eb950711525ca1269e2 Author: Anton Vorontsov Date: Fri May 23 20:38:54 2008 +0400 powerpc/sysdev: implement FSL GTM support GTM stands for General-purpose Timers Module and able to generate timer{1,2,3,4} interrupts. These timers are used by the drivers that need time precise interrupts (like for USB transactions scheduling for the Freescale USB Host controller as found in some QE and CPM chips), or these timers could be used as wakeup events from the CPU deep-sleep mode. Things unimplemented: 1. Cascaded (32 bit) timers (1-2, 3-4). This is straightforward to implement when needed, two timers should be marked as "requested" and configured as appropriate. 2. Super-cascaded (64 bit) timers (1-2-3-4). This is also straightforward to implement when needed, all timers should be marked as "requested" and configured as appropriate. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5399be7f4679251e8c4c6637fde240f7ac8efdb9 Author: Wolfgang Grandegger Date: Fri Jun 6 13:50:06 2008 +0200 powerpc/85xx: add local bus nodes for Flash and CAN to tqm8560.dts This patch adds local bus nodes for Flash and CAN to the DTS file of the TQM8560 module (tqm8560.dts). Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 02b8a3d1eb2ae6353cfbce627ded22e299cf1989 Author: Wolfgang Grandegger Date: Fri Jun 6 13:50:05 2008 +0200 powerpc/85xx: support for the TQM8548 module using the big Flash Some TQM85xx boards could be equipped with up to 1 GiB (NOR) flash memory and therefore a modified memory map is required and setup by the board loader. This patch adds an appropriate DTS file. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 6dd1b64a26d9209c09488e9fa257e7744823bf29 Author: Wolfgang Grandegger Date: Fri Jun 6 13:50:04 2008 +0200 powerpc/85xx: add board support for the TQM8548 modules This patch adds support for the TQM8548 modules from TQ-Components GmbH (http://www.tqc.de). Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 4fb035f69e3d08506b65d33b97be1b0e78af39a2 Author: Wolfgang Grandegger Date: Fri Jun 6 13:50:03 2008 +0200 powerpc/85xx: correct vendor prefix in DTS files for TQM85xx modules Like for the TQM5200, the vendor prefix "tqc," is now used for all TQM85xx modules from TQ-Components GmbH (http://www.tqc.de) in the corresponding DTS files. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 00dba56465228825ea806e3a7fc0aa6bba7bdc6c Author: Thomas Gleixner Date: Mon Jun 9 18:35:28 2008 +0200 x86: move more common idle functions/variables to process.c more unification. Should cause no change in functionality. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 09fd4b4ef5bc7e5222c13acec1bee8cd252fb63f Author: Thomas Gleixner Date: Mon Jun 9 18:04:27 2008 +0200 x86: use cpuid to check MWAIT support for C1 cpuid(0x05) provides extended information about MWAIT in EDX when bit 0 of ECX is set. Bit 4-7 of EDX determine whether MWAIT is supported for C1. C1E enabled CPUs have these bits set to 0. Based on an earlier patch from Andi Kleen. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 732d7be17b98ebfd59e5864c3490f19856fa832c Author: Thomas Gleixner Date: Mon Jun 9 17:27:20 2008 +0200 x86: use cpuinfo to check for interrupt pending message msr Simplify code: no need to do a cpuid(1) again. The cpuinfo structure has all necessary information already. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aa83f3f2cfc74d66d01b1d2eb1485ea1103a0f4e Author: Thomas Gleixner Date: Mon Jun 9 17:11:13 2008 +0200 x86: cleanup C1E enabled detection Rename the "MSR_K8_ENABLE_C1E" MSR to INT_PENDING_MSG, which is the name in the data sheet as well. Move the C1E mask to the header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ddd2a27948f0bd02a2ad001e8a6816898eba0dc Author: Thomas Gleixner Date: Mon Jun 9 16:59:53 2008 +0200 x86: simplify idle selection default_idle is selected in cpu_idle(), when no other idle routine is selected. Select it in select_idle_routine() when mwait is not selected. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cb14cb791c57b45ba32c92b041420cdc1b1a0283 Author: John W. Linville Date: Tue Jun 10 09:06:52 2008 -0400 rt2x00dev.c: fix-up merge damage This restores the effects of "rt2x00: Don't count retries as failure". Signed-off-by: John W. Linville commit 2b1bce1787700768cbc87c8509851c6f49d252dc Author: Ankita Garg Date: Mon Jun 9 14:10:25 2008 +0530 ftrace: disable tracing when current_tracer is set to "none" Found that inspite of setting the current_tracer to "none", trace from the previous trace type continued to be collected. The patch below fixes this and causes the trace to be disabled when the "none" type is selected. Compile and boot tested the patch for functionality. Signed-off-by: Ankita Garg Signed-off-by: Ingo Molnar commit 040ec23d07f95285e9777a85cda29cb339a3065b Author: Ingo Molnar Date: Mon Jun 9 01:45:29 2008 -0700 sched: sched_clock() lockdep fix Sitsofe Wheeler bisected the following commit to cause a lockdep to warn about itself and turn itself off: > commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4 > Author: Ingo Molnar > Date: Mon May 12 21:21:14 2008 +0200 > > sched: do not trace sched_clock do not use raw irq flags in cpu_clock() as it causes lockdep to lose track of the true state of the IRQ flag. Reported-and-bisected-by: Sitsofe Wheeler Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit e9886ca3a93d7d041d3de8e5acebe213da777d59 Author: Paul Mundt Date: Mon Jun 9 17:12:24 2008 +0900 sched: kill off dead cfs_rq_set_shares() Building with CONFIG_FAIR_GROUP_SCHED=y on UP results in an unused cfs_rq_set_shares() reference. As nothing is using this dummy function in the first place, just kill it off. Signed-off-by: Paul Mundt Signed-off-by: Ingo Molnar commit 917f0af9e5a9ceecf9e72537fabb501254ba321d Author: Paul Mackerras Date: Mon Jun 9 14:01:46 2008 +1000 powerpc: Remove arch/ppc and include/asm-ppc All the maintained platforms are now in arch/powerpc, so the old arch/ppc stuff can now go away. Acked-by: Adrian Bunk Acked-by: Arnd Bergmann Acked-by: Becky Bruce Acked-by: Benjamin Herrenschmidt Acked-by: Geert Uytterhoeven Acked-by: Grant Likely Acked-by: Jochen Friedrich Acked-by: John Linn Acked-by: Jon Loeliger Acked-by: Josh Boyer Acked-by: Kumar Gala Acked-by: Olof Johansson Acked-by: Peter Korsgaard Acked-by: Scott Wood Acked-by: Sean MacLennan Acked-by: Segher Boessenkool Acked-by: Stefan Roese Acked-by: Stephen Neuendorffer Acked-by: Wolfgang Denk Signed-off-by: Paul Mackerras commit 6492c7f83e88a3a9521793b6934d882b97afe287 Author: Mike Galbraith Date: Sun Jun 8 09:27:13 2008 +0200 sched: trivial sched_features cleanup Remove unused debug/tuning features. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 5b80fe8bd732b5dd442118a43e02db22e8fd93e2 Author: Paolo Ciarrocchi Date: Sat Jun 7 14:34:42 2008 +0200 x86: coding style fixes to arch/x86/kernel/sys_i386_32.c Before: total: 16 errors, 25 warnings, 246 lines checked After: total: 0 errors, 7 warnings, 246 lines checked Compile tested. paolo@paolo-desktop:/tmp$ size sys* text data bss dec hex filename 1209 0 0 1209 4b9 sys_i386_32.o.after 1209 0 0 1209 4b9 sys_i386_32.o.before paolo@paolo-desktop:/tmp$ md5sum sys* 6144f6d6ce7342c3e192681a1ccaa1c1 sys_i386_32.o.after 6144f6d6ce7342c3e192681a1ccaa1c1 sys_i386_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 7058b06188232381c13ff05a3caf458bb892b834 Author: Paolo Ciarrocchi Date: Sat Jun 7 14:14:35 2008 +0200 x86: coding style fixes to arch/x86/pci/irq. Before: total: 60 errors, 85 warnings, 1237 lines checked After: total: 1 errors, 82 warnings, 1226 lines checked WARNING: line over 80 characters Compile tested. paolo@paolo-desktop:/tmp$ size irq.o.* text data bss dec hex filename 6128 440 76 6644 19f4 irq.o.after 6128 440 76 6644 19f4 irq.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 9e26d84273541a8c6c2efb705457ca8e6245fb73 Author: Robert Richter Date: Fri Jun 6 12:01:13 2008 +0200 fix build bug in "x86: add PCI extended config space access for AMD Barcelona" Also much less code now. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit ce8e37cdbdb34a9faeade22e0e6440f0d04560f5 Author: Jeremy Fitzhardinge Date: Fri Jun 6 10:21:39 2008 +0100 x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits. When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can potentially have the same number of physical address bits as the 64-bit host ("Enhanced Legacy PAE Paging"). This means, in theory, we could have up to 52 bits of physical address in a pte. The 32-bit kernel uses a 32-bit unsigned long to represent a pfn. This means that it can only represent physical addresses up to 32+12=44 bits wide. Rather than widening pfns everywhere, just set 2^44 as the Linux x86_32-PAE architectural limit for physical address size. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich Signed-off-by: Ingo Molnar commit 9985b0bab332289f14837eff3c6e0bcc658b58f7 Author: David Rientjes Date: Thu Jun 5 12:57:11 2008 -0700 sched: prevent bound kthreads from changing cpus_allowed Kthreads that have called kthread_bind() are bound to specific cpus, so other tasks should not be able to change their cpus_allowed from under them. Otherwise, it is possible to move kthreads, such as the migration or software watchdog threads, so they are not allowed access to the cpu they work on. Cc: Peter Zijlstra Cc: Paul Menage Cc: Paul Jackson Signed-off-by: David Rientjes Signed-off-by: Ingo Molnar commit 668231141f307ffd81db075b34bddaedae0ec863 Author: Andreas Herrmann Date: Thu Jun 5 16:35:10 2008 +0200 x86: fix compile warning in io_apic_{32,64}.c Signed-off-by: Ingo Molnar commit 7def2be1dc679984f4c4fb3ef19a8a081b2454ec Author: Peter Zijlstra Date: Thu Jun 5 14:49:58 2008 +0200 sched: fix hotplug cpus on ia64 Cliff Wickman wrote: > I built an ia64 kernel from Andrew's tree (2.6.26-rc2-mm1) > and get a very predictable hotplug cpu problem. > billberry1:/tmp/cpw # ./dis > disabled cpu 17 > enabled cpu 17 > billberry1:/tmp/cpw # ./dis > disabled cpu 17 > enabled cpu 17 > billberry1:/tmp/cpw # ./dis > > The script that disables the cpu always hangs (unkillable) > on the 3rd attempt. > > And a bit further: > The kstopmachine thread always sits on the run queue (real time) for about > 30 minutes before running. this fix solves some (but not all) issues between CPU hotplug and RT bandwidth throttling. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 34078a5e44db3cbed2e0ed580c29a39d94e0cd97 Author: Abhishek Sagar Date: Tue Jun 3 08:33:41 2008 +0530 ftrace: prevent freeing of all failed updates Steven Rostedt wrote: > If we unload a module and reload it, will it ever get converted again? The intent was always to filter core kernel functions to prevent their freeing. Here's a fix which should allow re-recording of module call-sites. Signed-off-by: Ingo Molnar commit eb9a7bf09172f409c10ec9560adeea95bb4045f5 Author: Abhishek Sagar Date: Sun Jun 1 21:47:54 2008 +0530 ftrace: add debugfs entry 'failures' Identify functions which had their mcount call-site updates failed. This can help us track functions which ftrace shouldn't fiddle with, and are thus not being traced. If there is no race with any external agent which is modifying the mcount call-site, then this file displays no entries (normal case). Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 1d74f2a0f64b4091e5e91b55ac1b17dff93f4b59 Author: Abhishek Sagar Date: Sun Jun 1 21:47:42 2008 +0530 ftrace: remove ftrace_ip_converted() Remove the unneeded function ftrace_ip_converted(). Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 0eb967012ea15e6e8cfab483d9fa37bc602d400c Author: Abhishek Sagar Date: Sun Jun 1 21:47:30 2008 +0530 ftrace: prevent freeing of all failed updates Prevent freeing of records which cause problems and correspond to function from core kernel text. A new flag, FTRACE_FL_CONVERTED is used to mark a record as "converted". All other records are patched lazily to NOPs. Failed records now also remain on frace_hash table. Each invocation of ftrace_record_ip now checks whether the traced function has ever been recorded (including past failures) and doesn't re-record it again. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 6ad36762d7a88d747f6fed95194b4f7ff5da8df4 Author: Oleg Nesterov Date: Sun Jun 8 21:20:42 2008 +0400 __mutex_lock_common: use signal_pending_state() Change __mutex_lock_common() to use signal_pending_state() for the sake of the code re-use. This adds 7 bytes to kernel/mutex.o, but afaics only because gcc isn't smart enough. (btw, uninlining of __mutex_lock_common() shrinks .text from 2722 to 1542, perhaps it is worth doing). Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit af1cf204ba2fd8135933a2e4df523fb1112dc0e2 Author: Ingo Molnar Date: Sun May 25 21:16:06 2008 +0200 x86, mpparse: build fix fix: LD .tmp_vmlinux1 arch/x86/kernel/built-in.o: In function `setup_arch': : undefined reference to `early_reserve_e820_mpc_new' Signed-off-by: Ingo Molnar commit 6780711e9817585f89b02b0556aac3564cbe1f45 Author: Yinghai Lu Date: Sun Jun 8 19:53:26 2008 -0700 x86: update mptable, fix need to call early_reserve_e820() to preallocate mptable for 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d49c4288407b2ffa8cab270cb5bc6882abe969f6 Author: Yinghai Lu Date: Sun Jun 8 18:31:54 2008 -0700 x86: make generic arch support NUMAQ ... so it could fall back to normal numa and we'd reduce the impact of the NUMAQ subarch. NUMAQ depends on GENERICARCH also decouple genericarch numa from acpi. also make it fall back to bigsmp if apicid > 8. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4e78c91abe1a40b905611100a593be62784ba355 Author: Ingo Molnar Date: Mon Jun 9 11:59:30 2008 +0200 Revert "x86, numaq: add pci_acpi_scan_root() stub" This reverts commit f3294690979634ee10398bb0beadfe1d4edb881d. That bug will be fixed in a better way via: x86: make generic arch support NUMAQ commit e0da33646826b66ef933d47ea2fb7a693fd849bf Author: Yinghai Lu Date: Sun Jun 8 18:29:22 2008 -0700 x86: introduce max_physical_apicid for bigsmp switching a multi-socket test-system with 3 or 4 ioapics, when 4 dualcore cpus or 2 quadcore cpus installed, needs to switch to bigsmp or physflat. CPU apic id is [4,11] instead of [0,7], and we need to check max apic id instead of cpu numbers. also add check for 32 bit when acpi is not compiled in or acpi=off. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c3ff01672a23fabb40d4b80ff25a845582fd07c2 Author: Yinghai Lu Date: Fri Jun 6 18:54:26 2008 -0700 x86: fix boot failure with 64GB+ system with numa 32-bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9043f007963f4039befa3c31f47173f74a0b1c70 Author: Yinghai Lu Date: Fri Jun 6 18:53:33 2008 -0700 x86, numa, 32-bit: use find_e820_area() to find KVA RAM on node don't assume we can use RAM near the end of every node. Esp systems that have few memory and they could have kva address and kva RAM all below max_low_pfn. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit cc1a9d86ce989083703c4bdc11b75a87e1cc404a Author: Yinghai Lu Date: Sun Jun 8 19:39:16 2008 -0700 mm, x86: shrink_active_range() should check all Now we are using register_e820_active_regions() instead of add_active_range() directly. So end_pfn could be different between the value in early_node_map to node_end_pfn. So we need to make shrink_active_range() smarter. shrink_active_range() is a generic MM function in mm/page_alloc.c but it is only used on 32-bit x86. Should we move it back to some file in arch/x86? Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit db3660c1905293b91653e07f7857576df71ebf28 Author: Yinghai Lu Date: Tue Jun 3 01:43:24 2008 -0700 x86: remove all active memory ranges before registering them again after trimming - 64bit this way we keep the early_node_map all right. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 65b53e4cc90e59936733b3b95b9451d2ca47528d Merge: 788c0a5... 2e761e0... Author: David S. Miller Date: Tue Jun 10 02:22:26 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h commit 788c0a53164c05c5ccdb1472474372b72ba74644 Merge: e64bda8... 78cf074... Author: David S. Miller Date: Tue Jun 10 01:54:31 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: drivers/net/ps3_gelic_wireless.c drivers/net/wireless/libertas/main.c commit e64bda89b8fe81cce9b4a20885d2c204c2d52532 Author: Rami Rosen Date: Mon Jun 9 16:00:45 2008 -0700 netfilter: {ip,ip6,nfnetlink}_queue: misc cleanups - No need to perform data_len = 0 in the switch command, since data_len is initialized to 0 in the beginning of the ipq_build_packet_message() method. - {ip,ip6}_queue: We can reach nlmsg_failure only from one place; skb is sure to be NULL when getting there; since skb is NULL, there is no need to check this fact and call kfree_skb(). Signed-off-by: Rami Rosen Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bcd978e8cf2a1a9502d454cd2f80f9834e82610 Author: Rami Rosen Date: Mon Jun 9 16:00:22 2008 -0700 netfilter: nf_conntrack: remove unnecessary function declaration This patch removes nf_ct_ipv4_ct_gather_frags() method declaration from include/net/netfilter/ipv4/nf_conntrack_ipv4.h, since it is unused in the Linux kernel. Signed-off-by: Rami Rosen Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e57dce60c7478fdeeb9a1ebd311261ec901afe4d Author: Fabian Hugelshofer Date: Mon Jun 9 15:59:58 2008 -0700 netfilter: ctnetlink: include conntrack status in destroy event message When a conntrack is destroyed, the connection status does not get exported to netlink. I don't see a reason for not doing so. This patch exports the status on all conntrack events. Signed-off-by: Fabian Hugelshofer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 718d4ad98e272daebc258e49dc02f52a6a8de9d3 Author: Fabian Hugelshofer Date: Mon Jun 9 15:59:40 2008 -0700 netfilter: nf_conntrack: properly account terminating packets Currently the last packet of a connection isn't accounted when its causing abnormal termination. Introduces nf_ct_kill_acct() which increments the accounting counters on conntrack kill. The new function was necessary, because there are calls to nf_ct_kill() which don't need accounting: nf_conntrack_proto_tcp.c line ~847: Kills ct and returns NF_REPEAT. We don't want to count twice. nf_conntrack_proto_tcp.c line ~880: Kills ct and returns NF_DROP. I think we don't want to count dropped packets. nf_conntrack_netlink.c line ~824: As far as I can see ctnetlink_del_conntrack() is used to destroy a conntrack on behalf of the user. There is an sk_buff, but I don't think this is an actual packet. Incrementing counters here is therefore not desired. Signed-off-by: Fabian Hugelshofer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 51091764f26ec36c02e35166f083193a30f426fc Author: Patrick McHardy Date: Mon Jun 9 15:59:06 2008 -0700 netfilter: nf_conntrack: add nf_ct_kill() Encapsulate the common if (del_timer(&ct->timeout)) ct->timeout.function((unsigned long)ct) sequence in a new function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31d8519c9cf87e9d8a0cc5b9734fda02af66d7e2 Author: Pekka Enberg Date: Mon Jun 9 15:58:39 2008 -0700 netfilter: nf_conntrack_extend: use krealloc() in nf_conntrack_extend.c V2 The ksize() API is going away because it is being abused and it doesn't even work consistenly across different allocators. Therefore, convert net/netfilter/nf_conntrack_extend.c to use krealloc(). Signed-off-by: Pekka Enberg Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17e6e59f0a1d7188d783c15dc3ccebd95a0840cd Author: James Morris Date: Mon Jun 9 15:58:05 2008 -0700 netfilter: ip6_tables: add ip6tables security table This is a port of the IPv4 security table for IPv6. Signed-off-by: James Morris Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 560ee653b67074b805f1b661988a72a0e58811a5 Author: James Morris Date: Mon Jun 9 15:57:24 2008 -0700 netfilter: ip_tables: add iptables security table for mandatory access control rules The following patch implements a new "security" table for iptables, so that MAC (SELinux etc.) networking rules can be managed separately to standard DAC rules. This is to help with distro integration of the new secmark-based network controls, per various previous discussions. The need for a separate table arises from the fact that existing tools and usage of iptables will likely clash with centralized MAC policy management. The SECMARK and CONNSECMARK targets will still be valid in the mangle table to prevent breakage of existing users. Signed-off-by: James Morris Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a258860e01b80e8f554a4ab1a6c95e6042eb8b73 Author: Pablo Neira Ayuso Date: Mon Jun 9 15:56:39 2008 -0700 netfilter: ctnetlink: add full support for SCTP to ctnetlink This patch adds full support for SCTP to ctnetlink. This includes three new attributes: state, original vtag and reply vtag. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0adf9d67489cd30bab8eb93f7de81a674e44e1c3 Author: Pablo Neira Ayuso Date: Mon Jun 9 15:56:20 2008 -0700 netfilter: ctnetlink: group errors into logical errno sets This patch groups ctnetlink errors into three logical sets: * Malformed messages: if ctnetlink receives a message without some mandatory attribute, then it returns EINVAL. * Unsupported operations: if userspace tries to perform an unsupported operation, then it returns EOPNOTSUPP. * Unchangeable: if userspace tries to change some attribute of the conntrack object that can only be set once, then it returns EBUSY. This patch reduces the number of -EINVAL from 23 to 14 and it results in 5 -EBUSY and 6 -EOPNOTSUPP. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 93f65158723ceb7078ee9a0fd4830c0de00f4b9e Author: Kuo-lang Tseng Date: Mon Jun 9 15:55:45 2008 -0700 netfilter: ebtables: add IPv6 support It implements matching functions for IPv6 address & traffic class (merged from the patch sent by Jan Engelhardt [jengelh@computergmbh.de] http://marc.info/?l=netfilter-devel&m=120182168424052&w=2), protocol, and layer-4 port id. Corresponding watcher logging function is also added for IPv6. Signed-off-by: Kuo-lang Tseng Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 469689a4dd476c1be6750deea5f59528a17b8b4a Author: Ursula Braun Date: Mon Jun 9 15:51:03 2008 -0700 af_iucv: exploit target message class support of IUCV The first 4 bytes of data to be sent are stored additionally into the message class field of the send request. A receiving target program (not an af_iucv socket program) can make use of this information to pre-screen incoming messages. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 7b9d1b22a382aa221018c19880ee22c44467feec Author: Heiko Carstens Date: Mon Jun 9 15:50:30 2008 -0700 iucv: prevent cpu hotplug when walking cpu_online_map. The code used preempt_disable() to prevent cpu hotplug, however that doesn't protect for cpus being added. So use get_online_cpus() instead. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit f1494ed1d318542baa9480cfd44d040a92635129 Author: Heiko Carstens Date: Mon Jun 9 15:49:57 2008 -0700 iucv: fix section mismatch warning. WARNING: net/iucv/built-in.o(.exit.text+0x9c): Section mismatch in reference from the function iucv_exit() to the variable .cpuinit.data:iucv_cpu_notifier This warning is caused by a reference from unregister_hotcpu_notifier() from an exit function to a cpuinitdata annotated data structurre. This is a false positive warning since for the non CPU_HOTPLUG case unregister_hotcpu_notifier() is a nop. Use __refdata instead of __cpuinitdata to get rid of the warning. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 7bfe8bdb80d5988483b01177b09b9c8d1605dffb Author: Vlad Yasevich Date: Mon Jun 9 15:45:05 2008 -0700 sctp: Fix problems with the new SCTP_DELAYED_ACK code The default sack frequency should be 2. Also fix copy/paste error when updating all transports. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 237749428552e2f81ec6c801482dfd8a777e470b Author: Ingo Molnar Date: Mon Jun 9 10:57:16 2008 +0200 Revert "x86, 32-bit: SRAT fix" This reverts commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973, a better fix will be merged. commit 0f3d6bcd391b058c619fc30e8022e8a29fbf4bef Author: Trent Piepho Date: Wed May 28 09:48:32 2008 +1000 powerpc: Improve (in|out)_[bl]eXX() asm code Since commit 4cb3cee03d558fd457cb58f56c80a2a09a66110c the code generated for the in_beXX() and out_beXX() mmio functions has been sub-optimal. The out_leXX() family of functions are created with the macro DEF_MMIO_OUT_LE() while the out_beXX() family are created with DEF_MMIO_OUT_BE(). In what was perhaps a bit too much macro use, both of these macros are in turn created via the macro DEF_MMIO_OUT(). For the LE versions, eventually they boil down to an asm that will look something like this: asm("sync; stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); The issue is that the "stwbrx" instruction only comes in an indexed, or 'x', version, in which the address is represented by the sum of two registers (the "0,%2"). Unfortunately, gcc doesn't have a constraint for an indexed memory reference. The "m" constraint allows both indexed and offset, i.e. register plus constant, memory references and there is no "stwbr" version for offset references. "m" also allows updating addresses and there is no 'u' version of "stwbrx" like there is with "stwux". The unused first operand to the asm is just to tell gcc that *addr is an output of the asm. The address used is passed in a single register via the third asm operand, and the index register is just hard coded as 0. This means gcc is forced to put the address in a single register and can't use index addressing, e.g. if one has the data in register 9, a base address in register 3 and an index in register 4, gcc must emit code like "add 11,4,3; stwbrx 9,0,11" instead of just "stwbrx 9,4,3". This costs an extra add instruction and another register. For gcc 4.0 and older, there doesn't appear to be anything that can be done. But for 4.1 and newer, there is a 'Z' constraint. It does not allow "updating" addresses, but does allow both indexed and offset addresses. However, the only allowed constant offset is 0. We can then use the undocumented 'y' operand modifier, which causes gcc to convert "0(reg)" into the equivilient "0,reg" format that can be used with stwbrx. This brings us the to problem with the BE version. In this case, the "stw" instruction does have both indexed and non-indexed versions. The final asm ends up looking like this: asm("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val), "r" (addr)); The undocumented codes "%U0" and "%0X" will generate a 'u' if the memory reference should be an auto-updating one, and an 'x' if the memory reference is indexed, respectively. The third operand is unused, it's just there because asm the code is reused from the LE version. However, gcc does not know this, and generates unnecessary code to stick addr in a register! To use the example from the LE version, gcc will generate "add 11,4,3; stwx 9,4,3". It is able to use the indexed address "4,3" for the "stwx", but still thinks it needs to put 4+3 into register 11, which will never be used. This also ends up happening a lot for the offset addressing mode, where common code like this: out_be32(&device_registers->some_register, data); uses an instruction like "stw 9, 42(3)", where register 3 has the pointer device_registers and 42 is the offset of some_register in that structure. gcc will be forced to generate the unnecessary instruction "addi 11, 3, 42" to put the address into a single (unused) register. The in_* versions end up having these exact same problems as well. Signed-off-by: Trent Piepho CC: Benjamin Herrenschmidt CC: Andreas Schwab Signed-off-by: Paul Mackerras commit 19fc65b5251dfd90312ae0142cc8650cd273e6a6 Author: Michael Ellerman Date: Mon May 26 12:12:32 2008 +1000 powerpc: Fix irq_alloc_host() reference counting and callers When I changed irq_alloc_host() to take an of_node (52964f87c64e6c6ea671b5bf3030fb1494090a48: "Add an optional device_node pointer to the irq_host"), I botched the reference counting semantics. Stephen pointed out that it's irq_alloc_host()'s business if it needs to take an additional reference to the device_node, the caller shouldn't need to care. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 2272a55f16c998d916904bba018b0f40f430d744 Author: Michael Ellerman Date: Mon May 26 12:12:31 2008 +1000 powerpc: Rework qe_ic_init() so we can avoid freeing the irq_host If we do the call to of_address_to_resource() first, then we don't need to worry about freeing the irq_host (which the code doesn't do currently anyway). Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 84f1c1e08906f2206f2bbdd19e4ff6a0757ff7f8 Author: Michael Ellerman Date: Mon May 26 12:12:30 2008 +1000 powerpc: Rework ipic_init() so we can avoid freeing the irq_host If we do the call to of_address_to_resource() first, then we don't need to worry about freeing the irq_host (which the code doesn't do currently anyway). Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 997526db9fa408058f23de19c0e12abd9207276b Author: Michael Ellerman Date: Mon May 26 12:12:30 2008 +1000 powerpc: Rework Axon MSI setup so we can avoid freeing the irq_host If we do the call to irq_of_parse_and_map() first, then we don't need to worry about freeing the irq_host. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 7c4f10b9003dc8423df07574ba197bbbe3bc382b Author: Rune Torgersen Date: Sat May 24 01:59:15 2008 +1000 powerpc: Check that TASK_SIZE does not overlap KERNEL_START Make sure CONFIG_TASK_SIZE does not overlap CONFIG_KERNEL_START This could happen when overriding settings to get 1GB lowmem, and would lead to userland mysteriousely hanging. This setting is only used by PPC32. Signed-off-by: Rune Torgersen Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit cec0dd94cf2628d5ba184e725f02be061e7bb014 Author: Stephen Rothwell Date: Fri May 23 16:39:58 2008 +1000 platinumfb: Use linux/of_{device,platform}.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c401b0445649d8a7e3e43fee915ec9aa6149a1b9 Author: Stephen Rothwell Date: Fri May 23 16:32:54 2008 +1000 of_serial: Use linux/of_platform.h instead of asm Signed-off-by: Stephen Rothwell Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d33b78df142177d51de0ed0c4f3e57c8b5e8ff89 Author: Emil Medve Date: Fri May 23 08:40:16 2008 +1000 powerpc: Add the PC speaker only when requested This eliminates this minor boot-time debugging error message: [ 1.316451] calling add_pcspkr+0x0/0x84 [ 1.316478] initcall add_pcspkr+0x0/0x84 returned -19 after 0 msecs Signed-off-by: Emil Medve Signed-off-by: Paul Mackerras commit bacd73ae76c310bc3c71d21a2864746fd9696d3c Author: Remi Machet Date: Fri May 16 10:26:02 2008 +1000 powerpc: Add C2K to configuration Support for the C2K cPCI Single Board Computer from GEFanuc (PowerPC MPC7448 with a Marvell MV64460 chipset). All features of the board are not supported yet, but the board boots, flash works, all Ethernet ports are working and PCI devices are all found (USB and SATA on PCI1 do not work yet). Part 5 of 5: add the Kconfig entry for the C2K board. Signed-off-by: Remi Machet Signed-off-by: Paul Mackerras commit 2059615f37505b7ee988549ce4de34b620110ebe Author: Remi Machet Date: Fri May 16 10:25:28 2008 +1000 powerpc: Default configuration for C2K Support for the C2K cPCI Single Board Computer from GEFanuc (PowerPC MPC7448 with a Marvell MV64460 chipset). All features of the board are not supported yet, but the board boots, flash works, all Ethernet ports are working and PCI devices are all found (USB and SATA on PCI1 do not work yet). Part 4 of 5: this is the default config for the board. In this configuration the kernel is going to try to boot from MTD partition 3 on the NOR flash (see c2k.dts for details about the partitioning of the flash). Signed-off-by: Remi Machet Signed-off-by: Paul Mackerras commit 46388c0d88add1c39926cd415039fe931edd5829 Author: Remi Machet Date: Sat May 17 05:31:04 2008 +1000 powerpc: C2K board driver Support for the C2K cPCI Single Board Computer from GEFanuc (PowerPC MPC7448 with a Marvell MV64460 chipset). All features of the board are not supported yet, but the board boots, flash works, all Ethernet ports are working and PCI devices are all found (USB and SATA on PCI1 do not work yet). Part 3 of 5: driver for the board. At this time it is very generic and similar to its original, the driver for the prpmc2800. Signed-off-by: Remi Machet Signed-off-by: Paul Mackerras commit c6ec08e03dd06b8dfa3f6d938b0a89c6ed8475c9 Author: Remi Machet Date: Wed May 21 06:50:10 2008 +1000 powerpc: Boot code for the C2K Support for the C2K cPCI Single Board Computer from GEFanuc (PowerPC MPC7448 with a Marvell MV64460 chipset). All features of the board are not supported yet, but the board boots, flash works, all Ethernet ports are working and PCI devices are all found (USB and SATA on PCI1 do not work yet). Part 2 of 5: support for the board in arch/powerpc/boot. Signed-off-by: Remi Machet Signed-off-by: Paul Mackerras commit 61586476cda599c64ab2b8f4f808d6a615a2fab2 Author: Remi Machet Date: Wed May 21 03:30:24 2008 +1000 powerpc: DTS file for the C2K Support for the C2K cPCI Single Board Computer from GEFanuc (PowerPC MPC7448 with a Marvell MV64460 chipset). All features of the board are not supported yet, but the board boots, flash works, all Ethernet ports are working and PCI devices are all found (USB and SATA on PCI1 do not work yet). Part 1 of 5: DTS file describing the board peripherals. As far as I know all peripherals except the FPGA are listed in there (I did not include the FPGA because a lot of work is needed there). Signed-off-by: Remi Machet Signed-off-by: Paul Mackerras commit 5073e7ee8684f3997b3633a2e5fa574027f37891 Author: Anton Vorontsov Date: Sat May 24 04:40:00 2008 +1000 powerpc/mpic: Fix ambiguous else statement This fixes the following warning, introduced by commit 475ca391b490a683d66bf19999a8a7a24913f139 (mpic: Deal with bogus NIRQ in Feature Reporting Register): CC arch/powerpc/sysdev/mpic.o arch/powerpc/sysdev/mpic.c: In function 'mpic_alloc': arch/powerpc/sysdev/mpic.c:1146: warning: suggest explicit braces to avoid ambiguous 'else' Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 8a3e1c670e503ddd6f6c373b307f38b783ee3a50 Merge: e026892... 60d5019... Author: Paul Mackerras Date: Mon Jun 9 12:19:41 2008 +1000 Merge branch 'merge' Conflicts: arch/powerpc/sysdev/fsl_soc.c commit 90574d0a4d4b73308ae54a2a57a4f3f1fa98e984 Author: David Woodhouse Date: Sat Jun 7 08:49:00 2008 +0100 [MTD] [NAND] Fix checkpatch warnings which showed up when atmel_nand.c moved Some of them, at least. Signed-off-by: David Woodhouse commit e150d6e725c014d72106a8610be40b7b08beb77a Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:58 2008 +0200 avr32: Add support for ATSTK1006 The ATSTK1006 is basically an upgraded version of ATSTK1002 with 128 MiB SDRAM and 256 MiB NAND flash on board. Otherwise, the board is very similar to the ATSTK1002, so it uses the same board support file. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit 984290ded4ee3834ca913fe361afe3bf625cd9c0 Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:57 2008 +0200 [MTD] [NAND] atmel_nand: make available on AVR32 Make the atmel_nand driver selectable on AVR32, and update the Kconfig help text to reflect this. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit 62090a08aba579e6c69319fac4d4a1f806f26400 Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:56 2008 +0200 [MTD] [NAND] avr32: atmel_nand platform code for AT32AP700x This function initializes and adds a platform_device for a NAND flash interface on SMC chip select 3. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit e1677ce4e41a7c1bbc35a0dee27d5c7e7d223a4b Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:55 2008 +0200 avr32: move hsmc_init() to core_initcall The board init code, typically running from postcore_initcall, may need to set up SMC timings. We have to make sure the SMC driver is ready before this happens. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit cc0c72e173db70a3a864994b05ebbe59b79b888f Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:54 2008 +0200 [MTD] [NAND] atmel_nand: Clean up and fix probe() error path This fixes several bugs in the atmel_nand_probe() error path, including at least one memory leak. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit 3c3796cc32b6e53653a5eb868dc959b8c2779db9 Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:53 2008 +0200 [MTD] [NAND] rename at91_nand -> atmel_nand: internal symbols This is basically s/at91_nand/atmel_nand/g with some manual inspection. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit d4f4c0aa8e36f69e46360b3d3569dc15d6099894 Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:52 2008 +0200 [MTD] [NAND] rename at91_nand -> atmel_nand: file names and Kconfig The AT91 NAND driver needs just a few tiny modifications to work on AVR32 as well. Rename it atmel_nand to reflect this. Also move the ECC register definitions into drivers/mtd/nand since they are only useful to the atmel_nand driver, and get rid of the useless filename at the top of each file. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit 62fd71fe710886ba449e932ad7877f4a8340c2d4 Author: Håvard Skinnemoen Date: Fri Jun 6 18:04:51 2008 +0200 [MTD] [NAND] at91_nand: Convert to generic GPIO API No point in using an AT91-specific GPIO API when the generic API works just as well. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit aa83570e23e626fe8dd1253f17e6d175507025f1 Author: Anton Vorontsov Date: Fri Jun 6 18:59:40 2008 +0400 [MTD] [NAND] fsl_elbc_nand: fix section mismatch between probe and remove WARNING: drivers/mtd/nand/built-in.o(.devinit.text+0x114): Section mismatch in reference from the function fsl_elbc_ctrl_probe() to the function .devexit.text:fsl_elbc_ctrl_remove() __devinit functions should not call functions with __devexit. Since probe function calls remove in case of errors, we want to remove __devexit attribute from it. Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: David Woodhouse commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973 Author: Ingo Molnar Date: Fri Jun 6 16:28:23 2008 +0200 x86, 32-bit: SRAT fix we were adding reserved BIOS ranges as general memory as well => not good. solves this crash: [ 20.068075] hostname used greatest stack depth: 6464 bytes left [ 20.121404] BUG: unable to handle kernel <1>BUG: unable to handle kernel NULL pointer dereference at 00000b8c [ 20.121404] IP: [] kmap_atomic_prot+0x2d/0x1c3 [ 20.121404] *pdpt = 00000000367eb001 *pde = 0000000000000000 [ 20.121404] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 20.121404] [ 20.121404] Pid: 2061, comm: rc.sysinit Not tainted (2.6.26-rc3 #2440) [ 20.121404] EIP: 0060:[] EFLAGS: 00010206 CPU: 0 [ 20.121404] EIP is at kmap_atomic_prot+0x2d/0x1c3 Signed-off-by: Ingo Molnar commit e958b3600484533ff801920290468adc8135f89d Author: Thomas Gleixner Date: Wed Jun 4 23:22:32 2008 +0200 sched: move weighted_cpuload into #ifdef CONFIG_SMP section weighted_cpuload is only used on SMP. move it into the CONFIG_SMP section. Signed-off-by: Thomas Gleixner commit 68f4f1ec08e3d95730a2693b99df8260aa0d06ae Author: Max Krasnyansky Date: Thu May 29 11:17:02 2008 -0700 sched: Move cpu masks from kernel/sched.c into kernel/cpu.c kernel/cpu.c seems a more logical place for those maps since they do not really have much to do with the scheduler these days. kernel/cpu.c is now built for the UP kernel too, but it does not affect the size the kernel sections. $ size vmlinux before text data bss dec hex filename 3313797 307060 310352 3931209 3bfc49 vmlinux after text data bss dec hex filename 3313797 307060 310352 3931209 3bfc49 vmlinux Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Cc: mingo@elte.hu Acked-by: Peter Zijlstra Signed-off-by: Thomas Gleixner commit 5c8e1ed1d204a6770ca2854cd3b3597070fe7e5a Author: Max Krasnyansky Date: Thu May 29 11:17:01 2008 -0700 sched: CPU hotplug events must not destroy scheduler domains created by the cpusets First issue is not related to the cpusets. We're simply leaking doms_cur. It's allocated in arch_init_sched_domains() which is called for every hotplug event. So we just keep reallocation doms_cur without freeing it. I introduced free_sched_domains() function that cleans things up. Second issue is that sched domains created by the cpusets are completely destroyed by the CPU hotplug events. For all CPU hotplug events scheduler attaches all CPUs to the NULL domain and then puts them all into the single domain thereby destroying domains created by the cpusets (partition_sched_domains). The solution is simple, when cpusets are enabled scheduler should not create default domain and instead let cpusets do that. Which is exactly what the patch does. Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Cc: mingo@elte.hu Acked-by: Peter Zijlstra Signed-off-by: Thomas Gleixner commit 1100ac91b6af02d8639d518fad5b434b1bf44ed6 Author: Ingo Molnar Date: Thu Jun 5 12:25:37 2008 +0200 sched: fix cpuprio build bug this patch was not built on !SMP: kernel/sched_rt.c: In function 'inc_rt_tasks': kernel/sched_rt.c:404: error: 'struct rq' has no member named 'online' Signed-off-by: Ingo Molnar commit e539d8fcd11af811db70707d47ea436d5621d0da Author: Thomas Gleixner Date: Thu Jun 5 10:28:00 2008 +0200 sched: fix the cpuprio count really Peter pointed out that the last version of the "fix" was still one off under certain circumstances. Use BITS_TO_LONG instead to get an accurate result. Signed-off-by: Thomas Gleixner commit 709d4b0c60f990bccf3e10ba7c6da407ad65c97f Author: Gregory Haskins Date: Wed Jun 4 15:04:10 2008 -0400 sched: fix cpupri priocount A rounding error was pointed out by Peter Zijlstra which would result in the structure holding priorities to be off by one. Signed-off-by: Gregory Haskins Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Signed-off-by: Thomas Gleixner commit 1f11eb6a8bc92536d9e93ead48fa3ffbd1478571 Author: Gregory Haskins Date: Wed Jun 4 15:04:05 2008 -0400 sched: fix cpupri hotplug support The RT folks over at RedHat found an issue w.r.t. hotplug support which was traced to problems with the cpupri infrastructure in the scheduler: https://bugzilla.redhat.com/show_bug.cgi?id=449676 This bug affects 23-rt12+, 24-rtX, 25-rtX, and sched-devel. This patch applies to 25.4-rt4, though it should trivially apply to most cpupri enabled kernels mentioned above. It turned out that the issue was that offline cpus could get inadvertently registered with cpupri so that they were erroneously selected during migration decisions. The end result would be an OOPS as the offline cpu had tasks routed to it. This patch generalizes the old join/leave domain interface into an online/offline interface, and adjusts the root-domain/hotplug code to utilize it. I was able to easily reproduce the issue prior to this patch, and am no longer able to reproduce it after this patch. I can offline cpus indefinately and everything seems to be in working order. Thanks to Arnaldo (acme), Thomas, and Peter for doing the legwork to point me in the right direction. Also thank you to Peter for reviewing the early iterations of this patch. Signed-off-by: Gregory Haskins Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Cc: Ingo Molnar Signed-off-by: Thomas Gleixner commit 099f98c8a1f13501a98afbfff4756395a610581c Author: Gautham R Shenoy Date: Thu May 29 20:56:32 2008 +0530 sched: print the sd->level in sched_domain_debug code While printing out the visual representation of the sched-domains, print the level (MC, SMT, CPU, NODE, ... ) of each of the sched_domains. Credit: Peter Zijlstra Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit e29c98d12b3f02d6ac711c60b4a5f8a46d1cf19b Author: Gautham R Shenoy Date: Thu May 29 12:36:18 2008 +0530 sched: update the sched-domains debug documentation SCHED_DOMAIN_DEBUG mentioned in the Documentation for sched-domains for enabling sched-domains debugging doesn't exist anymore. Update the documentation to reflect the correct way of enabling sched-domain debugging. Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit 6d6bc0ad867c46896d0994bb039e7550ecb9b51d Author: Dhaval Giani Date: Fri May 30 14:23:45 2008 +0200 sched: add comments for ifdefs in sched.c make sched.c easier to read. Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e21f5b153b9b4a6775d7d41964e372e13a9178ab Author: Arjan van de Ven Date: Fri May 23 09:05:58 2008 -0700 sched: print module list in the "scheduling while atomic" warning For the normal WARN_ON() etc we added a print-the-modules-list already, which is very useful to figure out candidates for certain types of bugs. This patch adds the same print to the "scheduling while atomic" BUG warning, for the same reason: when we get here it's very useful to see which modules are loaded, to narrow down the candidate code list. Signed-off-by: Arjan van de Ven Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit c7aceaba042702538b23cf4e0de1b2891ad8e671 Author: Richard Kennedy Date: Thu May 15 12:09:15 2008 +0100 sched: reorder task_struct to reduce padding on 64bit builds This patch removes 24 bytes of padding and allows 1 extra object per slab on my fedora based config. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 81d41d7ece23a1c3b4bcd1604026d3a06cc4dc79 Author: Rabin Vincent Date: Sun May 11 05:55:33 2008 +0530 sched: fix defined-but-unused warning Fix this warning, which appears with !CONFIG_SMP: kernel/sched.c:1216: warning: `init_hrtick' defined but not used Signed-off-by: Rabin Vincent Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 554ec22f075d46e4363520a407d2b7eeb5dfdd43 Author: Ingo Molnar Date: Mon May 12 21:21:03 2008 +0200 namespacecheck: more sched.c fixes [ Stephen Rothwell : build fix ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f7dcd80bbc8e7032443e6539ea1b830364f82200 Author: Thomas Gleixner Date: Sat May 24 23:20:38 2008 +0200 namespacecheck: fixes in kernel/sched.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d07355f5def74d060333563b36ab51b89fd44cdd Author: Dmitry Adamushko Date: Mon May 12 21:21:15 2008 +0200 sched: check for SD_SERIALIZE atomically in rebalance_domains() Nothing really serious here, mainly just a matter of nit-picking :-/ From: Dmitry Adamushko For CONFIG_SCHED_DEBUG && CONFIG_SYSCT configs, sd->flags can be altered while being manipulated in rebalance_domains(). Let's do an atomic check. We rely here on the atomicity of read/write accesses for aligned words. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d299f1b53b84e2665f402d9bcc494800aba6386 Author: Gregory Haskins Date: Mon May 12 21:21:14 2008 +0200 sched: fix SCHED_OTHER balance iterator to include all tasks The currently logic inadvertently skips the last task on the run-queue, resulting in missed balance opportunities. Signed-off-by: Gregory Haskins Signed-off-by: David Bahi CC: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e0534f278199f1e3dd1049b9bc19a7a5b87ada1 Author: Gregory Haskins Date: Mon May 12 21:21:01 2008 +0200 sched: use a 2-d bitmap for searching lowest-pri CPU The current code use a linear algorithm which causes scaling issues on larger SMP machines. This patch replaces that algorithm with a 2-dimensional bitmap to reduce latencies in the wake-up path. Signed-off-by: Gregory Haskins Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f333fdc9098b71e2687e4e9b6349fcb352960d66 Author: Mike Galbraith Date: Mon May 12 21:20:55 2008 +0200 sched: make !hrtick faster it is safe to ignore timers and flags when the feature is disabled. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45c01e824991b2dd0a332e19efc4901acb31209f Author: Gregory Haskins Date: Mon May 12 21:20:41 2008 +0200 sched: prioritize non-migratable tasks over migratable ones Dmitry Adamushko pointed out a known flaw in the rt-balancing algorithm that could allow suboptimal balancing if a non-migratable task gets queued behind a running migratable one. It is discussed in this thread: http://lkml.org/lkml/2008/4/22/296 This issue has been further exacerbated by a recent checkin to sched-devel (git-id 5eee63a5ebc19a870ac40055c0be49457f3a89a3). >From a pure priority standpoint, the run-queue is doing the "right" thing. Using Dmitry's nomenclature, if T0 is on cpu1 first, and T1 wakes up at equal or lower priority (affined only to cpu1) later, it *should* wait for T0 to finish. However, in reality that is likely suboptimal from a system perspective if there are other cores that could allow T0 and T1 to run concurrently. Since T1 can not migrate, the only choice for higher concurrency is to try to move T0. This is not something we addessed in the recent rt-balancing re-work. This patch tries to enhance the balancing algorithm by accomodating this scenario. It accomplishes this by incorporating the migratability of a task into its priority calculation. Within a numerical tsk->prio, a non-migratable task is logically higher than a migratable one. We maintain this by introducing a new per-priority queue (xqueue, or exclusive-queue) for holding non-migratable tasks. The scheduler will draw from the xqueue over the standard shared-queue (squeue) when available. There are several details for utilizing this properly. 1) During task-wake-up, we not only need to check if the priority preempts the current task, but we also need to check for this non-migratable condition. Therefore, if a non-migratable task wakes up and sees an equal priority migratable task already running, it will attempt to preempt it *if* there is a likelyhood that the current task will find an immediate home. 2) Tasks only get this non-migratable "priority boost" on wake-up. Any requeuing will result in the non-migratable task being queued to the end of the shared queue. This is an attempt to prevent the system from being completely unfair to migratable tasks during things like SCHED_RR timeslicing. I am sure this patch introduces potentially "odd" behavior if you concoct a scenario where a bunch of non-migratable threads could starve migratable ones given the right pattern. I am not yet convinced that this is a problem since we are talking about tasks of equal RT priority anyway, and there never is much in the way of guarantees against starvation under that scenario anyway. (e.g. you could come up with a similar scenario with a specific timing environment verses an affinity environment). I can be convinced otherwise, but for now I think this is "ok". Signed-off-by: Gregory Haskins CC: Dmitry Adamushko CC: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e7bd3de08e5208b09fbad06dd80294ea0e86f7bf Author: Adrian Bunk Date: Thu Jun 5 21:29:18 2008 +0300 ALSA: make sparc/dbri.c:snd_dbri_proc() static This patch makes the needlessly global snd_dbri_proc() static. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 33b9cd8214d6e385fcd63c321252a359ee96d568 Author: Adrian Bunk Date: Thu Jun 5 21:24:10 2008 +0300 [ALSA] usbaudio.c: remove #ifndef CONFIG_USB_EHCI_SPLIT_ISO code Since USB_EHCI_SPLIT_ISO is now unconditionally enabled the #ifndef CONFIG_USB_EHCI_SPLIT_ISO became wrong. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 40445ac5e93f1b97e1d7a8c5bed9d34bd89b7550 Author: Adrian Bunk Date: Thu Jun 5 21:22:25 2008 +0300 [ALSA] remove SND_GUS_SYNTH After the removal of the sequencer instrument layer SND_GUS_SYNTH was no longer used. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 9aaca9683b014c4d718f32cbddb42e5b36ea3c0f Author: Geoffrey Wossum Date: Thu Jun 5 13:49:34 2008 +0100 [ALSA] Revised AT32 ASoC Patch Attached is a revised version of my patch to add AT32 to ASoC. This cleans most of the style issues associated with the previous patch. Also fixes an issue with the playpaq_wm8510.c code depending on a non-released patch to th AT32 portmux support. Patch is against 2.6.24.3.atmel.3 kernel, the latest AVR32 kernel Atmel has released, with the linux-2.6-asoc patches from when v2.6.24 was tagged also applied. [Fixed up minor checkpatch issues and updated for current kernels -- broonie] Signed-off-by: Geoffrey Wossum Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit f10485e79882bf09cf442a673511154987b43e3b Author: Mark Brown Date: Thu Jun 5 13:49:33 2008 +0100 [ALSA] ASoC: Add WM8990 driver The WM8990 is a highly integrated ultra-low power hi-fi codec designed for handsets rich in multimedia features such as mobile TV, digital audio playback and gaming. The bulk of this driver was written by Liam Girdwood with some additional development and updates for new ASoC APIs by me. Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5d421516670e8009436e299bd25cff1a6d3a4707 Author: Mark Brown Date: Thu Jun 5 13:49:32 2008 +0100 [ALSA] ASoC: Add WM8510 driver The WM8510 is a mono CODEC with speaker driver optimised for telephony applications, featuring: - 16/20/24/32 bit audio at data rates between 8kHz and 48kHz - On-chip PLL - Dual microphone inputs This driver was originally written by Liam Girdwood with updates from Brett Saunders, Geoffrey Wossum and myself. Signed-off-by: Liam Girdwood Signed-off-by: Brett Saunders Signed-off-by: Geoffrey Wossum Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8b83afe0d21f07145ec34ac006656e4d3edc4bac Author: Ville Syrjälä Date: Tue Jun 3 20:52:10 2008 +0300 [ALSA] maestro3: Fix hw volume on HP OmniBook Make the hw volume buttons work correctly on some HP OmniBook laptops. The original quirk was apparently applied a bit too early and it was also lacking some critial register writes. This improved sequence was discovered by trial and error (like the original sequence). Tested and found working on OB500 and OB6000 laptops. Signed-off-by: Ville Syrjala Signed-off-by: Takashi Iwai commit 607d982bbea2a14b5b77cc7689f509d588e1e6da Author: Takashi Iwai Date: Wed Jun 4 12:41:21 2008 +0200 [ALSA] hda - increase max_codecs of ICH to 4 It turned out that some ICH9-based boards use SD3 for the audio codec where the current driver code doesn't probe. Since we have a better codec slot check now, it must be safe to increase this to 4. Signed-off-by: Takashi Iwai commit 2c3bf9abb11dd8050cd2d153917d1746c8d5af05 Author: Takashi Iwai Date: Wed Jun 4 12:39:38 2008 +0200 [ALSA] hda - Fix PLL gating control on Realtek codecs On some Realtek codecs, the analog PLL gating control bit must be set off while the default value is 1. Signed-off-by: Takashi Iwai commit 17bba1b72d190742c99a140154f0abac9c1996c3 Author: Jiang zhe Date: Wed Jun 4 12:11:07 2008 +0200 [ALSA] hda - support intel DG33 motherboards These two motherboards's pin configuration are not covered by driver. I wrote a new model to support them. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 4474573a90bae41351fad576fa80c424d62be567 Author: Randy Dunlap Date: Thu Jun 5 09:43:03 2008 -0700 [MTD] [NAND] nandsim: missing header for do_div Fix nandsim build error, missing #include: linux-next-20080605/drivers/mtd/nand/nandsim.c: In function 'divide': linux-next-20080605/drivers/mtd/nand/nandsim.c:462: error: implicit declaration of function 'do_div' Signed-off-by: Randy Dunlap Signed-off-by: David Woodhouse commit 9457afee85e0dfc2b5075a391d6f34463b4c2b90 Author: Denis V. Lunev Date: Thu Jun 5 11:23:39 2008 -0700 netlink: Remove nonblock parameter from netlink_attachskb Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit cddc0ab71194a09c0ac359be10a0f1ef976ddc95 Author: Prakash, Sathya Date: Wed May 21 00:56:41 2008 +0530 [SCSI] mpt fusion : Updated copyright statment with 2008 included Updating copyright statement to include the year 2008 Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 22288ca9e6d19ead263249521ab77e576c6e7fdd Author: Prakash, Sathya Date: Wed May 21 00:55:33 2008 +0530 [SCSI] mpt fusion: Driver version upgrade to 3.04.07 Updating driver version to 3.04.07 from 3.04.06 Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit aa0fec62391cd429385e7f3f9fc4a1fb8e2d1218 Author: Christof Schmitt Date: Mon May 19 12:17:47 2008 +0200 [SCSI] zfcp: Fix sparse warning by providing new entry in dbf drivers/s390/scsi/zfcp_dbf.c:692:2: warning: context imbalance in 'zfcp_rec_dbf_event_thread' - different lock contexts for basic block Replace the parameter indicating if the lock is held with a new entry function that only acquires the lock. This makes the lock handling more visible and removes the sparse warning. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 7337891f381f856a63595392d7e79f2580912bf7 Author: Martin Peschke Date: Mon May 19 12:17:46 2008 +0200 [SCSI] zfcp: remove some __attribute__ ((packed)) There is no need to pack data structures which describe the contents of records in the new recovery trace. lcrash currently depends on the binary format for the other traces, removing the packed attribute from all traces would break trace debugging with lcrash. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 70c665405151bc0fdb73ea47c85eb9d0254770b0 Author: Martin Peschke Date: Mon May 19 12:17:45 2008 +0200 [SCSI] zfcp: Refine trace levels of some recovery related events. This change better spreads trace levels of recovery related events. There was an overlap of traces for some recovery triggers and the processing of recovery actions. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c3baa9a26c5ac7e8d801093d55d33620d8bc2fe2 Author: Martin Peschke Date: Mon May 19 12:17:44 2008 +0200 [SCSI] zfcp: Add information about interrupt to trace. Store the index of the buffer in the inbound queue used to report request completion in trace record for request coompletion. This piece of information allows to better compare qdio and zfcp traces. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit e891bffe927f39718cf84c35b380d6edb189848b Author: Martin Peschke Date: Mon May 19 12:17:43 2008 +0200 [SCSI] zfcp: Rename sbal_curr to sbal_last. sbal_last is more appropriate, because it matches sbal_first. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d01d51beee4dd9f7ff9caf7491aa1727a318e665 Author: Martin Peschke Date: Mon May 19 12:17:42 2008 +0200 [SCSI] zfcp: Rename sbal_last. sbal_last is confusing, as it is not the last one actually used, but just a limit. sbal_limit is a better name. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0f83b110f0cf6aef59e66184d5a1513318d654b5 Author: Martin Peschke Date: Mon May 19 12:17:41 2008 +0200 [SCSI] zfcp: Remove field sbal_last from trace record. This field is not needed, because it designates an index with a fix offset from sbal_first. It's name is confusing anyway. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5c9a6890de80ed9222e6920f5930c272800f75ad Author: Christof Schmitt Date: Mon May 19 12:17:40 2008 +0200 [SCSI] zfcp: Remove some sparse warnings Remove some sparse warnings by telling sparse that zfcp_req_create acquires the lock for the request queue. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit b21417820f8f659a6b73cc937ab39bf77d350ce6 Author: Heiko Carstens Date: Mon May 19 12:17:39 2008 +0200 [SCSI] zfcp: Fix fsf_status_read return code handling If allocation of a status buffer failed the function incorrectly returned 0 instead of -ENOMEM. Signed-off-by: Heiko Carstens Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 9dfe1cc36be27040144238d30da05053db71beb1 Author: Christof Schmitt Date: Mon May 19 12:17:38 2008 +0200 [SCSI] zfcp: Fix mempool pointer for GID_PN request allocation When allocating memory for GID_PN nameserver requests, the allocation function stores the pointer to the mempool, but then overwrites the pointer via memset. Later, the wrong function to free the memory will be called, since this is based on the stored pointer. Fix this by first initializing the struct and then storing the pointer. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit d26ab06ede83287f99067fee3034c5455a75faf9 Author: Swen Schillig Date: Mon May 19 12:17:37 2008 +0200 [SCSI] zfcp: receiving an unsolicted status can lead to I/O stall Processing of an unsolicted status request can lead to a locking race of the request_queue's queue_lock during the recreation of the used up status read request while still in interrupt context of the response handler. Detaching the 'refill' of the long running status read requests from the handler to a scheduled work is solving this issue. In addition, each refill-run is trying to re-establish the full amount of status read requests, which might have failed in earlier runs. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 15424921222f2bed0aa92ef1e8bc94f753d2c6ea Author: Adrian Bunk Date: Tue Apr 22 00:31:51 2008 +0300 [SCSI] mpt fusion: make struct mpt_proc_root_dir static This patch makes the needlessly global struct mpt_proc_root_dir static. Signed-off-by: Adrian Bunk Acked-by: "Prakash, Sathya" Signed-off-by: James Bottomley commit 427e59f09fdba387547106de7bab980b7fff77be Author: James Bottomley Date: Sat Mar 8 18:24:17 2008 -0600 [SCSI] make use of the residue value USB sometimes doesn't return an error but instead returns a residue value indicating part (or all) of the command wasn't completed. So if the driver _done() error processing indicates the command was fully processed, subtract off the residue so that this USB error gets propagated. Cc: Alan Stern Signed-off-by: James Bottomley commit 19c4158bcdf42ee3b2394342caf14f8471d2c78e Author: Alan Stern Date: Fri Mar 7 11:20:25 2008 -0500 [SCSI] SCSI: remove dev->power.power_state from mesh driver power.power_state is scheduled for removal. This patch (as1055) removes all uses of that field from the SCSI mesh driver. Signed-off-by: Alan Stern Acked-by: Paul Mackerras Signed-off-by: James Bottomley commit 13a17fdeedbb156463a9a007378366ec0a0c30ef Author: Harvey Harrison Date: Thu May 8 12:08:53 2008 -0700 [SCSI] aacraid: linit.c make aac_show_serial_number static drivers/scsi/aacraid/linit.c:865:9: warning: symbol 'aac_show_serial_number' was not declared. Should it be static? Signed-off-by: Harvey Harrison Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit a4c38cfa462be3be6c200740a4f2edbae25903c5 Author: Mark Salyzyn Date: Wed May 7 15:24:23 2008 -0400 [SCSI] aacraid: Add Power Management cards to documentation Update the documented list of products supported by the aacraid driver. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3a0d9e92356feb60ee4e978355f712366a93f4ef Author: Christof Schmitt Date: Tue May 6 11:00:06 2008 +0200 [SCSI] zfcp: sysfs attributes for fabric and channel latencies The latency information is provided on a SCSI device level (LUN) which can be found at the following location  /sys/class/scsi_device//device/cmd_latency  /sys/class/scsi_device//device/read_latency  /sys/class/scsi_device//device/write_latency Each sysfs attribute provides the available data: min, max and sum for fabric and channel latency and the number of requests processed. An overrun of the variables is neither detected nor treated. The file has to be read twice to make a meaningful statement, because only the differences of the values between the two reads can be used. A reset of the values can be achieved by writing to the attribute. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c9615858a81d2424c78b10a2f689ba24b156937c Author: Christof Schmitt Date: Tue May 6 11:00:05 2008 +0200 [SCSI] zfcp: Track fabric and channel latencies provided by FCP adapter Add the infrastructure to retrieve the fabric and channel latencies from FSF commands for each SCSI command that has been processed. For each unit, the sum, min, max and number of requests is tracked. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 688864e29869a71a8183e4e2f96ccf9f2de1375f Author: Chandra Seetharaman Date: Thu May 1 14:50:40 2008 -0700 [SCSI] scsi_dh: Remove hardware handler infrastructure from dm This patch just removes infrastructure that provided support for hardware handlers in the dm layer as it is not needed anymore. Signed-off-by: Chandra Seetharaman Acked-by: Alasdair G Kergon Signed-off-by: James Bottomley commit cb520223d7f22c5386aff27a5856a66e2c32aaac Author: Chandra Seetharaman Date: Thu May 1 14:50:34 2008 -0700 [SCSI] scsi_dh: Remove hardware handlers from dm This patch removes the 3 hardware handlers that currently exist under dm as the functionality is moved to SCSI layer in the earlier patches. [jejb: removed more makefile hunks and rejection fixes] Signed-off-by: Chandra Seetharaman Acked-by: Alasdair G Kergon Signed-off-by: James Bottomley commit 2651f5d7d3bc5120a439e498f131e4d731f99b3e Author: Chandra Seetharaman Date: Thu May 1 14:50:28 2008 -0700 [SCSI] scsi_dh: Remove dm_pg_init_complete This patch just removes the dm layer's path initialization completion routine. This is separated from the other patch(scsi_dh: Use SCSI device handler in dm-multipath) Just to make that patch more readable. Signed-off-by: Chandra Seetharaman Acked-by: Alasdair G Kergon Signed-off-by: James Bottomley commit bab7cfc733f4453a502b7491b9ee37b091440ec4 Author: Chandra Seetharaman Date: Thu May 1 14:50:22 2008 -0700 [SCSI] scsi_dh: Add a single threaded workqueue for initializing paths Before this patch set (SCSI hardware handlers), initialization of a path was done asynchronously. Doing that requires a workqueue in each device/hardware handler module and leads to unneccessary complication in the device handler code, making it difficult to read the code and follow the state diagram. Moving that workqueue to this level makes the device handler code simpler. Hence, the workqueue is moved to dm level. A new workqueue is added instead of adding it to the existing workqueue (kmpathd) for the following reasons: 1. Device activation has to happen faster, stacking them along with the other workqueue might lead to unnecessary delay in the activation of the path. 2. The effect could be felt the other way too. i.e the current events that are handled by the existing workqueue might get a delayed response. Signed-off-by: Chandra Seetharaman Acked-by: Alasdair G Kergon Signed-off-by: James Bottomley commit cfae5c9bb66325cd32d5f2ee41f14749f062a53c Author: Chandra Seetharaman Date: Thu May 1 14:50:11 2008 -0700 [SCSI] scsi_dh: Use SCSI device handler in dm-multipath This patch converts dm-mpath to use scsi device handlers instead of dm's hardware handlers. This patch does not add any new functionality. Old behaviors remain and userspace tools work as is except that arguments supplied with hardware handler are ignored. One behavioral exception is: Activation of a path is synchronous in this patch, opposed to the older behavior of being asynchronous (changed in patch 07: scsi_dh: Add a single threaded workqueue for initializing a path) Note: There is no need to get a reference for the device handler module (as it was done in the dm hardware handler case) here as the reference is held when the device was first found. Instead we check and make sure that support for the specified device is present at table load time. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Christie Acked-by: Alasdair G Kergon Signed-off-by: James Bottomley commit 5e7dccad3621f6e2b572f309cf830a2c902cae80 Author: Chandra Seetharaman Date: Thu May 1 14:50:04 2008 -0700 [SCSI] scsi_dh: add EMC Clariion device handler This adds support for EMC Clariions. This patch has the features that currently exists in mainline and advanced features from Ed's patches. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f6dd337ee4c440f29a873da3779eb3af44bd1623 Author: Mike Christie Date: Thu May 1 14:49:59 2008 -0700 [SCSI] scsi_dh: add hp sw device handler This patch provides the device handler to support the older hp boxes which cannot be upgraded. Signed-off-by: Mike Christie Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit fbd7ab3eb53a3b88fefa7873139a62e439860155 Author: Chandra Seetharaman Date: Thu May 1 14:49:52 2008 -0700 [SCSI] scsi_dh: add lsi rdac device handler This patch provides the device handler to support the LSI RDAC SCSI based storage devices. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit a6a8d9f87eb8510a8f53672ea87703f62185d75f Author: Chandra Seetharaman Date: Thu May 1 14:49:46 2008 -0700 [SCSI] scsi_dh: add infrastructure for SCSI Device Handlers Some of the storage devices (that can be accessed through multiple paths), do need some special handling for 1. Activating the passive path of the storage access. 2. Decode and handle the special sense codes returned by the devices. 3. Handle the I/Os being sent to the passive path, especially during the device probe time. when accessed through multiple paths. As of today this special device handling is done at the dm-multipath layer using dm-handlers. That works well for (1); for (2) to be handled at dm layer, scsi sense information need to be exported from SCSI to dm-layer, which is not very attractive; (3) cannot be done at all at the dm layer. Device handler has been moved to SCSI mainly to handle (2) and (3) properly. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Anderson Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 18404756765c713a0be4eb1082920c04822ce588 Author: Max Krasnyansky Date: Thu May 29 11:02:52 2008 -0700 genirq: Expose default irq affinity mask (take 3) Current IRQ affinity interface does not provide a way to set affinity for the IRQs that will be allocated/activated in the future. This patch creates /proc/irq/default_smp_affinity that lets users set default affinity mask for the newly allocated IRQs. Changing the default does not affect affinity masks for the currently active IRQs, they have to be changed explicitly. Updated based on Paul J's comments and added some more documentation. Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: a.p.zijlstra@chello.nl Cc: tglx@linutronix.de Cc: rdunlap@xenotime.net Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit 75b9f5d2a0318da9d5e694a9a1be33f46b4c021e Author: mingo@elte.hu Date: Thu Jun 5 11:18:12 2008 +0200 x86, nmi: fix build fix: arch/x86/kernel/built-in.o: In function `proc_nmi_enabled': : undefined reference to `nmi_watchdog_default' arch/x86/kernel/built-in.o: In function `native_smp_prepare_cpus': : undefined reference to `nmi_watchdog_default' Signed-off-by: Ingo Molnar commit 1a1b1d1322ebd1ece405f3057cdd408bc77e391d Author: Cyrill Gorcunov Date: Wed Jun 4 01:00:58 2008 +0400 x86: watchdog - check for CPU is being supported This patch does check if CPU is being recongnized before call the unreserve(). Since enable_lapic_nmi_watchdog() does have such a check the same is make sense here too in a sake of code consistency (but nothing more). Signed-off-by: Cyrill Gorcunov Cc: mingo@redhat.com Cc: hpa@zytor.com Cc: macro@linux-mips.org Signed-off-by: Thomas Gleixner commit 3ed3f06295e69700fa808396f7b350bff2b69de0 Author: Cyrill Gorcunov Date: Wed Jun 4 01:00:47 2008 +0400 x86: nmi - consolidate nmi_watchdog_default for 32bit mode 64bit mode bootstrap code does set nmi_watchdog to NMI_NONE by default and doing the same on 32bit mode is safe too. Such an action saves us from several #ifdef. Btw, my previous commit commit 19ec673ced067316b9732bc6d1c4ff4052e5f795 Author: Cyrill Gorcunov Date: Wed May 28 23:00:47 2008 +0400 x86: nmi - fix incorrect NMI watchdog used by default did not fix the problem completely, moreover it introduced additional bug - nmi_watchdog would be set to either NMI_LOCAL_APIC or NMI_IO_APIC _regardless_ to boot option if being enabled thru /proc/sys/kernel/nmi_watchdog. Sorry for that. Fix it too. Signed-off-by: Cyrill Gorcunov Cc: mingo@redhat.com Cc: hpa@zytor.com Cc: macro@linux-mips.org Signed-off-by: Thomas Gleixner commit 74e411cb6443d8bcb55fbe89fcc7a9ee574df91b 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 Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit c45a707dbe35cb9aa6490223e5b1129fa3583948 Author: Huang, Ying Date: Mon Jun 2 14:26:25 2008 +0800 x86: linked list of setup_data for i386 This patch adds linked list of struct setup_data supported for i386. Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 0c51a965ed3c44dd50497e74492a015680e49899 Author: Huang, Ying Date: Mon Jun 2 14:26:23 2008 +0800 x86: extract common part of head32.c and head64.c into head.c This patch extracts the common part of head32.c and head64.c into head.c. Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit ecacf09f7d26b2317e8b1d59fa40f62081fad0bb Author: Huang, Ying Date: Mon Jun 2 14:26:21 2008 +0800 x86: reserve EFI memory map with reserve_early This patch reserves the EFI memory map with reserve_early(). Because EFI memory map is allocated by bootloader, if it is not reserved by reserved_early(), it may be overwritten through address returned by find_e820_area(). Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit d0ec2c6f2c2f0478b34ae78b3e65f60a561ac807 Author: Huang, Ying Date: Mon Jun 2 14:26:18 2008 +0800 x86: reserve highmem pages via reserve_early This patch makes early reserved highmem pages become reserved pages. This can be used for highmem pages allocated by bootloader such as EFI memory map, linked list of setup_data, etc. Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit d3fbe5ea9518b46a68e6b278974e92e2c3acef4a Author: Huang, Ying Date: Mon Jun 2 14:26:14 2008 +0800 x86: split out common code into find_overlapped_early() This patch clean up reserve_early() family functions by extracting the common part of reserve_early(), free_early() and bad_addr() into find_overlapped_early(). Signed-off-by: Huang Ying Cc: andi@firstfloor.org Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 4f384f8bcdb5d618a0a68fb84c809e602c798b8f Author: Pavel Machek Date: Mon May 26 21:17:30 2008 +0200 x86: aperture_64.c: corner case wrong If fix == 0, aper_enabled == 1, gart_fix_e820 == 0 if (!fix && !aper_enabled) return; if (gart_fix_e820 && !fix && aper_enabled) { if (e820_any_mapped(aper_base, aper_base + aper_size, E820_RAM)) { /* reserve it, so we can reuse it in second kernel */ printk(KERN_INFO "update e820 for GART\n"); add_memory_region(aper_base, aper_size, E820_RESERVED); update_e820(); } return; } /* different nodes have different setting, disable them all atfirst*/ we'll fall back here and disable all the settings, even when they were all consistent. What about this? (I hope it compiles...) Signed-off-by: Pavel Machek Cc: Dave Jones Cc: Andi Kleen Signed-off-by: Thomas Gleixner commit fa5b8a30cf03520737e9a0ee2ee03a61b2eccf05 Author: Pavel Machek Date: Mon May 26 20:40:47 2008 +0200 aperture_64.c: duplicated code, buggy? Hi! void __init early_gart_iommu_check(void) contains for (num = 24; num < 32; num++) { if (!early_is_k8_nb(read_pci_config(0, num, 3, 0x00))) continue; loop, with very similar loop duplicated in void __init gart_iommu_hole_init(void) . First copy of a loop seems to be buggy, too. It uses 0 as a "nothing set" value, which may actually bite us in last_aper_enabled case (because it may be often zero). (Beware, it is hard to test this patch, because this code has about 2^8 different code paths, depending on hardware and cmdline settings). Plus, the second loop does not check for consistency of aper_enabled. Should it? Signed-off-by: Thomas Gleixner commit 40aecb1b13f50d96616abb612c17e59457f54263 Author: Allan Stephens Date: Wed Jun 4 17:54:48 2008 -0700 tipc: Message rejection rework preparatory changes This patch defines a few new message header manipulation routines, and generalizes the usefulness of another, in preparation for upcoming rework of TIPC's message rejection code. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 99c145939bc1f65f9b946f2b9dd7bfc1f44783d6 Author: Allan Stephens Date: Wed Jun 4 17:48:25 2008 -0700 tipc: Fix bugs in rejection of message with short header This patch ensures that TIPC doesn't try to access non-existent message header fields when rejecting a message with a short header. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 9bef54383d16568da19cfe46bdc52cdedb9bb8da Author: Allan Stephens Date: Wed Jun 4 17:47:55 2008 -0700 tipc: Message header creation optimizations This patch eliminates several cases where message header fields were being set to the same value twice. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit bd7845337b105e090dd18912d511139945fa7586 Author: Allan Stephens Date: Wed Jun 4 17:47:30 2008 -0700 tipc: Expand link sequence gap field to 13 bits This patch increases the "sequence gap" field of the LINK_PROTOCOL message header from 8 bits to 13 bits (utilizing 5 previously unused 0 bits). This ensures that the field is big enough to indicate the loss of up to 8191 consecutive messages on the link, thereby accommodating the current worst-case scenario of 4000 lost messages. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 307fdf5e7defcacf84db21cda18770b2bf5f5196 Author: Allan Stephens Date: Wed Jun 4 17:38:22 2008 -0700 tipc: Add missing spinlock in name table display code This patch ensures that the display code that traverses the publication lists belonging to a name table entry take its associated spinlock, to protect against a possible change to one of its "head of list" pointers caused by a simultaneous name table lookup operation by another thread of control. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 0f15d36453bbd02d404445dace49f4ae072f44e5 Author: Allan Stephens Date: Wed Jun 4 17:37:59 2008 -0700 tipc: Prevent display of name table types with no publications This patch adds a check to prevent TIPC's name table display code from listing a name type entry if it exists only to hold subscription info, rather than published names. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 757152175666681d54d370500e41a756cfedd4fc Author: Allan Stephens Date: Wed Jun 4 17:37:34 2008 -0700 tipc: Optimize message initialization routine This patch eliminates the rarely-used "error code" argument when initializing a TIPC message header, since the default value of zero is the desired result in most cases; the few exceptional cases now set the error code explicitly. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 9c396a7bfb4fe74e444be09069651280da520944 Author: Allan Stephens Date: Wed Jun 4 17:36:58 2008 -0700 tipc: Prevent access of non-existent field in short message header This patch eliminates a case where TIPC's link code could try reading a field that is not present in a short message header. (The random value obtained was not being used, but the read operation could result in an invalid memory access exception in extremely rare circumstances.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 1265a02108c508b508112cdeac922aad03e0146a Author: Allan Stephens Date: Wed Jun 4 17:32:35 2008 -0700 tipc: Minor optimizations to received message processing This patch enhances TIPC's handler for incoming messages in two ways: - the trivial, single-use routine for processing non-sequenced messages has been merged into the main handler - the interface that received a message is now identified without having to access and/or modify the associated sk_buff Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit a686e6859e976712e28f6af927cd52a6a3bb372a Author: Allan Stephens Date: Wed Jun 4 17:29:39 2008 -0700 tipc: Fix minor bugs in link session number handling This patch introduces a new, out-of-range value to indicate that a link endpoint does not have an existing session established with its peer, eliminating the risk that the previously used "invalid session number" value (i.e. zero) might eventually be assigned as a valid session number and cause incorrect link behavior. The patch also introduces explicit bit masking when assigning a new link session number to ensure it does not exceed 16 bits. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e0d4e3d0d72cfae7b7eac14e39e12dfc6b406313 Author: Allan Stephens Date: Wed Jun 4 17:29:09 2008 -0700 tipc: Fix bugs in message error code display when debugging This patch corrects two problems in the display of error code information in TIPC messages when debugging: - no longer tries to display error code in NAME_DISTRIBUTOR messages, which don't have the error field - now displays error code in 24 byte data messages, which do have the error field Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 5307e46957e76d71f02d2d736030ad92cdb3dd8c Author: Allan Stephens Date: Wed Jun 4 17:28:45 2008 -0700 tipc: Standardize error checking on incoming messages via native API This patch re-orders & re-groups the error checks performed on messages being delivered to native API ports, in order to clarify the similarities and differences required for the various message types. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 84b07c1638c36ae937d4930b467001a0d22904e5 Author: Allan Stephens Date: Wed Jun 4 17:28:21 2008 -0700 tipc: Fix bug in connection setup via native API This patch fixes a bug that prevented TIPC from receiving a connection setup request message on a native TIPC port. The revised connection setup logic ensures that validation of the source of a connection-based message is skipped if the port is not yet connected to a peer. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit bd70e522afce2f7837d081dc52f261ecf9d4d2d5 Author: Yinghai Lu Date: Wed Jun 4 13:21:29 2008 -0700 x86: e820 max_arch_pfn typo fix for 64 bit should use right shift Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 7e74a5076edb3555dc6c96dc91b155706515bb4c Author: Ben Dooks Date: Tue May 20 17:32:27 2008 +0100 [MTD] [NAND] S3C2410: Remove changelog and tidy header The changelog on the driver is superflous given this is being kept under revision control. Remove the other cruft in the header and update the copyright and the supported device list. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 451d33993b13174d27474ad2ce7a2f10ce2e31ad Author: Ben Dooks Date: Tue May 20 17:32:14 2008 +0100 [MTD] [NAND] S3C2410: Change printk() into dev_dbg() Fix a minor problem with what should have been debug output by changing printk() to dev_dbg() inside s3c2410_nand_update_chip(). Thanks to David Woodhouse for pointing this out. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 2e3c22f57029ce04d55c07b8332ae405005456d9 Author: Mike Frysinger Date: Mon May 19 18:32:24 2008 +0800 [MTD] [MAPS] Blackfin Async Flash Maps Handle the case where flash memory and ethernet mac/phy are mapped onto the same async bank [try #4] - drop superfluous casts - drop SSYNC() when reading from the flash and rewrite bfin_copy_from() to be like bfin_copy_to() so that we dont have to handle all the aligned/unaligned cases [try #3] rename bf5xx-flash to bfin-async-flash - move all kconfig board settings into board resources - fixup casting style according to lkml feedback - rewrite driver so that it can handle arbitrary of instances according to the declared platform resources [try #2] Remove useless SSYNC() as Will said [try #1] The BF533-STAMP does this for example. All board-specific configuration goes in your board resources file. Signed-off-by: Mike Frysinger Acked-By: Jörn Engel Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 71a928c0e52cedc43747c64b96a5f74592ab678f Author: Chris Malley Date: Mon May 19 20:11:50 2008 +0100 [MTD] Use list_for_each_entry[_safe] where appropriate. Janitorial work to remove temporary pointers and make some functions a bit more readable. Signed-off-by: Chris Malley Reviewed-By: Jörn Engel Signed-off-by: David Woodhouse commit 59018b6d2acabb114ab58637e6ab95ba424a89d0 Author: Adrian Bunk Date: Tue May 20 01:03:52 2008 +0300 MTD/JFFS2: remove CVS keywords Once upon a time, the MTD repository was using CVS. This patch therefore removes all usages of the no longer updated CVS keywords from the MTD code. This also includes code that printed them to the user. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 6eda7a55f786b75e7d3d636a9431e6c850b20d72 Author: Adrian Hunter Date: Fri May 30 15:56:26 2008 +0300 [MTD] [NAND] nandsim: allow for 64-bit size Amend nandsim so that it does not assume 32-bit flash size. Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit 07293b20083cb66df35bf2041f0c554eaac43e8c Author: Adrian Hunter Date: Fri May 30 15:56:23 2008 +0300 [MTD] [NAND] nandsim: fix overridesize Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit af3deccfa67341a9df39b6f734afcc85998ad4b7 Author: Adrian Hunter Date: Fri May 30 15:56:18 2008 +0300 [MTD] [NAND] nandsim: fix size bug Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit 83973b87938a06a2af7e2a7fd1b630c35f8baff4 Author: Kyungmin Park Date: Thu May 29 14:52:40 2008 +0900 [MTD] [OneNAND] Check the ECC status first instead of controller To get the correct information in case of power off recovery, it should read ECC status first Also remove previous workaround method. Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 271c5c59e00302494ffc299741e7fa2d63103e76 Author: David Woodhouse Date: Wed Jun 4 17:43:22 2008 +0100 [MTD] DataFlash: use proper types Signed-off-by: David Woodhouse commit e9d42227bdc96238676bd28feca5815fcff2d6a8 Author: Michael Hennerich Date: Tue Jun 3 12:26:05 2008 +0800 [MTD] DataFlash: fix bug - ATMEL AT45DF321D spi flash card fails to be copied to (v2) - Add support for binary page size DataFlashes. - The driver now prints out pagesize and erasesize. Printout valuable information for creating flash filesystems. Signed-off-by: Michael Hennerich Cc: David Brownell Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 856613c98c2f864994d5fb33a62b7a468f68ab9b Author: matthias@kaehlcke.net Date: Sat May 31 15:28:10 2008 +0200 [MTD] use list_for_each_entry() in del_mtd_device() Signed-off-by: Matthias Kaehlcke Signed-off-by: David Woodhouse commit 2606c79759e83fd8b1e45bc99b10e65a1dcf1602 Author: matthias@kaehlcke.net Date: Sat May 31 15:28:09 2008 +0200 [MTD] use list_for_each_entry() in add_mtd_device() Signed-off-by: Matthias Kaehlcke Signed-off-by: David Woodhouse commit ff0de61c3612410dc84a8de28761ef840d5d35ac Author: Robert P. J. Day Date: Sun May 25 07:35:17 2008 -0400 [MTD] [NAND] excite_nandflash: simplify code using ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit 437d0d299f0e08954c3cb680221d7e888e1a857f Author: Toralf Förster Date: Mon May 26 20:35:46 2008 +0200 [MTD] [NAND] fix 2 "unused variable" warnings in cafe_nand.c Signed-off-by: Toralf Förster Signed-off-by: David Woodhouse commit 1b0b30acf3fc76e5d4d278fa5a8c9c6ac9898745 Author: Mike Rapoport Date: Tue May 27 11:20:07 2008 +0300 [MTD] [NOR] Add support for Eon EN29SL800B[BT] NOR flash chips This patch add support for non-CFI Eon EN29SL800B[BT] NOR flash chips. The Eon chips have manufacturer ID in the first bank, therefore this patch depends on support for flash chips with ID in bank other than 0. Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit 5c9c11e1c47c2101253a95c54ef72e13edcc728a Author: Mike Rapoport Date: Tue May 27 11:20:03 2008 +0300 [MTD] [NOR] Add support for flash chips with ID in bank other than 0 According to JEDEC "Standard Manufacturer's Identification Code" (http://www.jedec.org/download/search/jep106W.pdf) several first banks of NOR flash can contain 0x7f instead of actual ID. This patch adds support for reading manufacturer ID from banks other than 0. Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit 8fd310a1cc3aadb7a17d844beeefae66b1a169c6 Author: Mike Rapoport Date: Tue May 27 11:19:57 2008 +0300 [MTD] [NOR] Add support for AMD AM29SL800D[BT] NOR flash chips Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit a29ccf6f823a84d89e1c7aaaf221cf7282022024 Author: David Woodhouse Date: Tue Jun 3 14:59:40 2008 +0100 Make console charset translation optional By turning off the new CONSOLE_TRANSLATIONS option and dropping the associated code and tables from the kernel, we can save about 7KiB. Taken from linux-tiny project by Tim Bird and mangled further by dwmw2. Signed-off-by: Tim Bird Signed-off-by: David Woodhouse commit 7b2a0a6c4866cac146dcb0433e6984eb19a81335 Author: Yinghai Lu Date: Tue Jun 3 19:35:04 2008 -0700 x86: make 32-bit use e820_register_active_regions() this way 32-bit is more similar to 64-bit, and smarter e820 and numa. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ee0c80fadfa56bf4f9d90c1c023429a6bd8edd69 Author: Yinghai Lu Date: Tue Jun 3 19:34:00 2008 -0700 x86: move e820_register_active() to e820.c to prepare 32-bit to use it. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 84b56fa46b36c2df508e7d421feab514fad30f81 Author: Yinghai Lu Date: Tue Jun 3 19:32:30 2008 -0700 x86, numa, 32-bit: make sure get we kva space when 1/3 user/kernel split is used, and less memory is installed, or if we have a big hole below 4g, max_low_pfn is still using 3g-128m try to go down from max_low_pfn until we get it. otherwise will panic. need to make 32-bit code to use register_e820_active_regions ... later. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ab530e1f781da4d704892daab2bdd568f473687d Author: Yinghai Lu Date: Tue Jun 3 10:25:54 2008 -0700 x86: early check if a system is numaq so we could fall back to one node numa. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f19dc2f22a180dde3f9e611b76c73f5390c11ecd Author: Yinghai Lu Date: Tue Jun 3 10:24:49 2008 -0700 x86: change propagate_e820_map() back to find_max_pfn(), 32-bit, fix add memory_present() calls for sparse and non-numa. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f38bb7de289f5c15e287386d35e9c325f1062c49 Merge: 2d4b3f3... c3b25b3... Author: Jiri Kosina Date: Wed Jun 4 10:26:59 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit d44b9d17faf7bca165ce73a1acb936b65a3f0cc6 Author: Hiroshi Shimamoto Date: Tue Jun 3 13:06:07 2008 -0700 x86: move bugs_64.c to cpu/bugs_64.c It looks good to move bugs_64.c to cpu/bugs_64.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 78cf07472f0ede8394bacc4bc02354505080cfe1 Author: Holger Schurig Date: Mon Jun 2 09:25:05 2008 +0200 libertas: unify various CF-related defines Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 2d892986e82306b8ad96285fb54b9999523331e0 Author: Tomas Winkler Date: Mon Jun 2 20:31:57 2008 +0300 mac80211: removing shadowed sband This patch removes doubly defined sband variable Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b97e77e0446f0702de7fa0f5d2c52acf42d0289f Author: Tomas Winkler Date: Mon Jun 2 20:31:56 2008 +0300 mac80211: fix unbalanced locking in ieee80211_get_buffered_bc This patch fixes unbalanced locking in ieee80211_get_buffered_bc Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2b2121417eff64125bdb7f322d3b533e06d73dae Author: Pavel Roskin Date: Mon Jun 2 07:54:50 2008 -0400 mac80211: fix panic when using hardware WEP e039fa4a4195ac4ee895e6f3d1334beed63256fe ("mac80211: move TX info into skb->cb") misplaced code for setting hardware WEP keys. Move it back. This fixes kernel panic in b43 if WEP is used and hardware encryption is enabled. Signed-off-by: Pavel Roskin Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5854a32e6cb672d182ce378c69f0f7470137a062 Author: Johannes Berg Date: Mon Jun 2 09:38:04 2008 +0200 mac80211: fix rate control initialisation In commit 2e92e6f2c50b4baf85cca968f0e6f1b5c0df7d39 ("mac80211: use rate index in TX control") I forgot to initialise a few new variables to -1 which means that the rate control algorithm is never triggered and 0 is used as the only rate index, effectively fixing the transmit bitrate at the lowest supported. This patch adds the missing initialisation. Signed-off-by: Johannes Berg Bisected-by: Sitsofe Wheeler Signed-off-by: John W. Linville commit 7fd871edf437362b62ddd807542638cbda8d8a39 Author: Masakazu Mokuno Date: Mon Jun 2 12:49:16 2008 +0900 PS3: gelic: Add support for ESSID scan This adds the support for ESSID scanning Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 552fe53f48ef2fd54b031b37d304211cee893ba0 Author: Johannes Berg Date: Fri May 30 21:07:15 2008 +0200 p54: fix skb->cb tx info conversion When I moved the TX info into skb->cb apparently I forgot to change a few places to put the p54-internal data into info->driver_data rather than skb->cb. This should fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f409e348005693016281bf29535c9d0a91b21f77 Author: Masakazu Mokuno Date: Fri May 30 16:52:55 2008 +0900 PS3: gelic: Deprecate the private ioctls in the gelic driver As the driver has the standard way to handle PSK, deprecate the old interface. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 04b2046c856e36c3c9cf382adb2c0bc8ba780cf7 Author: Masakazu Mokuno Date: Fri May 30 16:52:44 2008 +0900 PS3: gelic: Use the new PMK interface in the gelic driver With the new WEXT flags, the PS3 wireless driver can tell the user space that it would do handle 4-way handshake by itself and needs the PSK without private ioctls. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit ba569b4c68f11906da2996ee252bcff0df61cb90 Author: Masakazu Mokuno Date: Fri May 30 16:52:23 2008 +0900 WEXT: Add support for passing PMK and capability flags to WEXT This defines the flags for setting the PMK to the driver and the capability flag for this so that the user space program can figure out whether the target driver wants to do 4-way hand shake by itself and pass the PMK which is needed before 4-way handshake to the driver. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 3df4e2486a58826f16574ead1818daab0edb59df Author: Masakazu Mokuno Date: Fri May 30 16:27:42 2008 +0900 PS3: gelic: Kill the static bounce buffer As the bounce buffer is allocaetd dynamically, kill the static bounce buffer. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 13de15e71db7a38f02c4d9f642f06541f5acc2b0 Author: Masakazu Mokuno Date: Fri May 30 16:27:24 2008 +0900 PS3: gelic: Allocate the bounce buffer dynamically Allocate the bouce buffer for the wireless command dynamically. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 82a66bbbe96126ca1bc6bc5ded8e67f529bcdfa4 Author: Tomas Winkler Date: Thu May 29 16:35:28 2008 +0800 iwlwifi: clean iwl4965_mac_config This patch cleans up iwl4965_mac_config. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d2f18bfd9bc6b51c8bb72b272ecca902a88387d4 Author: Emmanuel Grumbach Date: Thu May 29 16:35:27 2008 +0800 iwlwifi: send calibration results as HUGE commands This patch saves memory by reducing the size of the entry in the txq. It was 640 because of the calibration commands. Calibration commands are now sent as HUGE commands (using the extra 1024 bytes at the end of the command txq), hence, there is no need for 640 in every entry any more. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 67249625089c21ec299b337a26448312b7eb91b3 Author: Emmanuel Grumbach Date: Thu May 29 16:35:26 2008 +0800 iwlwifi: remove debugfs entries before cfg80211 This patch solves a bug in debugfs unregistration. iwlwifi registers its debugfs files under cfg80211's dir, but removed its files only after having unregistered mac80211 that removes cfg80211 debugfs dir. This garbaged debugfs and didn't allow to rmmod and insmod iwlwifi several times in a row. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 261415f77a947a452dbd32a35186b2dc3ce14020 Author: Emmanuel Grumbach Date: Thu May 29 16:35:25 2008 +0800 iwlwifi: fix a memory leak in scan This patch fixes a memory leak that the scan buffer isn't released on exit. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4d38c2e8ea7589f546244a1673b8171455283fcb Author: Emmanuel Grumbach Date: Thu May 29 16:35:24 2008 +0800 iwlwifi: disable FAT channel when not permitted This patch disables FAT channel when it is not permitted according to the EEPROM. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 9306102ea5696a3815f8d24ac0c0fbd1e19be7d3 Author: Emmanuel Grumbach Date: Thu May 29 16:35:23 2008 +0800 mac80211: allow disable FAT in specific configurations This patch allows to disable FAT channel in specific configurations. For example the configuration (8, +1), (primary channel 8, extension channel 12) isn't permitted in U.S., but (8, -1), (primary channel 8, extension channel 4) is. When FAT channel configuration is not permitted, FAT channel should be reported as not supported in the capabilities of the HT IE in association request. And sssociation is performed on 20Mhz channel. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 3c57601d0a1993cfc12a27cc6652b750bb44c523 Author: Ron Rindjunsky Date: Thu May 29 16:35:19 2008 +0800 iwlwifi: move iwl_get_hw_mode to iwl-core.h This patch moves iwl_get_hw_mode to iwl-core.h. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 37a44211cbe27795dbb79b2ea7036ff784f18d73 Author: Ron Rindjunsky Date: Thu May 29 16:35:18 2008 +0800 iwlwifi: Rx handlers common use for 4965 and 5000 This patch moves Rx handlers from iwl 4965 only use to common use along with iwl 5000, thus enables Rx path to iwl 5000. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5e1dd8dc19dc2c1bacadda04a5c2478aa9516a1b Author: Tomas Winkler Date: Thu May 29 16:35:17 2008 +0800 iwlwifi: add frame count limit to link quality command This patch adds frame count limit to link quality host command. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 30e553e3ea3572bee3118fcde36e043c0cb2174c Author: Tomas Winkler Date: Thu May 29 16:35:16 2008 +0800 iwlwifi: move aggregation code to iwl-tx.c This patch moves aggregation action code to iwl-tx.c in iwlcore. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5083e56326208f9a1d4e597529912004968c77d7 Author: Tomas Winkler Date: Thu May 29 16:35:15 2008 +0800 iwlwifi: move iwl_sta_modify_enable_tid_tx to iwl-sta.c This patch moves iwl_sta_modify_enable_tid_tx into iwl-sta.c. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fe7a90c2b73f0c1da0882861cd015c835ed28781 Author: Ron Rindjunsky Date: Thu May 29 16:35:14 2008 +0800 iwlwifi: iwl-5000 add rxon_assoc This patch adds rxon assoc command for 5000 HW. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 972cf447d20df30dbd74edfc00ae179c4b822c68 Author: Tomas Winkler Date: Thu May 29 16:35:13 2008 +0800 iwlwifi: implement txq invalidate byte count table This is required to overcome a bug in 5000 HW byte count table. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 17b889290a184b52ee394c31dd5a52b8c1b3456d Author: Tomas Winkler Date: Thu May 29 16:35:12 2008 +0800 iwlwifi: move tx reclaim flow into iwl-tx This patch 1. moves TX reclaim flow into iwl-tx 2. separates command queue and tx queue reclaim flow Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a5e8b5056ea8762e67c9fa980c8db48009ed2a67 Author: Guy Cohen Date: Thu May 29 16:35:11 2008 +0800 iwlwifi: fix in-column rate scaling This patch fixes cases that the code raised or didn't decrease the rate although the success ratio was not good. Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f20217d9d57584b6c7fcfef8c4183f10ee45fddd Author: Tomas Winkler Date: Thu May 29 16:35:10 2008 +0800 iwlwifi: move 4965 tx response into iwl-4965.c This patch moves 4965 tx repsone into iwl-4965.c. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e532fa0e3ce3feda1f1eb14aa31caae503cd9bda Author: Ron Rindjunsky Date: Thu May 29 16:35:09 2008 +0800 iwlwlifi: impelemnt 5000 tx response path This patch implements 5000 HW tx response path. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit a332f8d618a7bdb0096c7b21555120a1822cedec Author: Tomas Winkler Date: Thu May 29 16:35:08 2008 +0800 iwlwifi: move tx response common handlers to iwlcore This pach moves common tx response handlers to the header files and iwl-tx.c. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 001caff0da8784989ef208af0f39d55ea07dfef5 Author: Ron Rindjunsky Date: Thu May 29 16:35:07 2008 +0800 iwlwifi: add iwl5000_tx_response structure This patch adds iwl5000_tx_repsons structure. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fe9b6b720bd11c598417529755ac850a85070560 Author: Ron Rindjunsky Date: Thu May 29 16:35:06 2008 +0800 iwlwifi: activate status ready timeout only for run time ucode This patch makes driver state timeout checks on ucode alive response only if run time ucode have been loaded. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7c616cba240cd0d579c996be3f3603456acfb0ad Author: Tomas Winkler Date: Thu May 29 16:35:05 2008 +0800 iwlwifi-5000: implement initial calibration for 5000 This patch adds initial calibration framework for 5000 HW faimily. Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit c135475439f75e6eb29e7586d33f3e22a61c1bb4 Author: Tomas Winkler Date: Thu May 29 16:35:04 2008 +0800 iwlwifi: move iwl_rx_missed_beacon_notif to iwl-rx.c This patch moves iwl_rx_missed_beacon_notif rx handler to iwl-rx.c. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 42132bce8011bf9507cfbb920ced2235d8dd5fce Author: Tomas Winkler Date: Thu May 29 16:35:03 2008 +0800 iwlwifi: move add sta handler to iwl-sta.c This patch moves add_sta hander to iwl-sta.c. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7a999bf0c5eb19b20ac6ab0f21f6e5013400fa51 Author: Tomas Winkler Date: Thu May 29 16:35:02 2008 +0800 iwlwifi: add remove station functionality This patch adds remove station functionality, which is required for 5000 and AP mode. There are still some gaps in managment that need to be closed but it provides sufficient functionality for 5000 HW. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b3bbacb78bc688707ac312158c5bbc6bbbb55b23 Author: Tomas Winkler Date: Thu May 29 16:35:01 2008 +0800 iwlwifi: move iwl_rxq_stop into iwl-rx.c This patch moves iwl_rxq_stop into iwl-rx.c. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit da1bc4539f9b10dc30ac1750fbaaf5afae4b3446 Author: Tomas Winkler Date: Thu May 29 16:35:00 2008 +0800 iwlwifi: move txq_ctx_stop into iwl-tx.c This patch moves txq_ctx_stop into iwl-tx.c iwlcore module. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 46315e012236af887cf442fd494a91b1d36858b9 Author: Tomas Winkler Date: Thu May 29 16:34:59 2008 +0800 iwlwifi: refactor stop master function This patch refactors stop master function for 4965 and 5000. Currently it duplicates the function. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f118a91d16127e461cc8c17c529306910f13a8b1 Author: Tomas Winkler Date: Thu May 29 16:34:58 2008 +0800 iwlwifi: implement apm stop function This patch adds apm stop function for 4965 and 5000. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7f066108d15d06ec3534434333f0274c868fe798 Author: Tomas Winkler Date: Thu May 29 16:34:57 2008 +0800 iwlwifi: implement apm reset flow This patch implements apm reset flow for 4965 and 5000. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8f0618914e02c62c5cf2482f8acc7eb8e9afb816 Author: Tomas Winkler Date: Thu May 29 16:34:56 2008 +0800 iwlwifi: setup correctly L1 L0S pi link values This patch setups L1 L0S pci link values. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 885ba202cabd90b8ade1fe59185dc96ed4d69e02 Author: Tomas Winkler Date: Thu May 29 16:34:55 2008 +0800 iwlwifi: remove 4965 from alive_resp structures This patch removes 4965 from alive_resp and init_alivie_resp. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4a4a9e81aed702421ef3e782f82d4e929fb81796 Author: Tomas Winkler Date: Thu May 29 16:34:54 2008 +0800 iwlwifi: clean up alive_start routine This patch cleans up alive_start routine. It removes 4965 from the common code and moves the run time calibration reset into a common code. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 84df9d3130118146c9aedf5146040f9f6495f471 Author: Tomas Winkler Date: Thu May 29 16:34:53 2008 +0800 iwlwifi: remove notif_missed_beacons variable This patch removes notif_missed_beacons from priv since it was never used. Missed beacons notification will have only meaning if roaming will be implemented in mac80211. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit c317fee3c1a01a0dbf505ed46236e93c55e279fa Author: Tomas Winkler Date: Thu May 29 16:34:52 2008 +0800 iwlwifi: remove unused variable form __iwl4965_down This patch removes unused variable from __iwl4965_down. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2d87889f61e97194891f7e7ff3a0e5f11e4392db Author: Tomas Winkler Date: Thu May 29 16:34:51 2008 +0800 iwlwifi: mark 4965 ucode types This patch marks 4965 ucode types. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 95b1a8224abf6230899856753c5506a3f737a65b Author: Zhu Yi Date: Thu May 29 16:34:50 2008 +0800 iwlwifi: create drivers debugfs dir under wiphy->debugfsdir This patch creates driver's debugfs tree under wiphy->debugfsdir. This patch fixes collision in debugfs if two or more NICs are plugged. Signed-off-by: Zhu Yi Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit bd68fb6f010eb312ba20349311aceb89848ad5ff Author: Ron Rindjunsky Date: Thu May 29 16:34:49 2008 +0800 iwlwifi: increase max payload of iwl_cmd This patch increases iwl_cmd payload maximum size from 360 to 640 to fit some of iwl5000 commands as well. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e1dfc0851ae0fb280a5eb827dd08853ed46cb241 Author: Gregory Greenman Date: Thu May 29 16:34:48 2008 +0800 iwlwifi: use uCode error and event tables pointer w.r.t loaded image This patch updates the usage of the pointers to error and log tables received in alive response w.r.t. the current uCode image. Signed-off-by: Gregory Greenman Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 87283cc1290f23458232cdf3b1893acb750a4ad3 Author: Ron Rindjunsky Date: Thu May 29 16:34:47 2008 +0800 iwlwifi: add RTC data address for iwl5000 This patch fills the valid_rtc_data_addr handler in iwl5000. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit ede0cba45f2caf47715d105f6acc1086f4112a7a Author: Ester Kummer Date: Thu May 29 16:34:46 2008 +0800 iwlwifi: move iwl_dump_nic_error_log to iwlcore module This patch moves the function iwl_dump_nic_error_log to iwlcore. Remove sysfs entry it cannot be really triggered. Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e623157b8d778a63736b0f41c04acc57c4f61ae0 Author: Emmanuel Grumbach Date: Tue May 27 20:00:11 2008 +0300 mac80211: sends HT IE to user level through wext This patch adds HT IE in the scan list that is returned to user level through wext. This is useful to let wpa_supplicant if a bss supports 11n or not: WEP and TKIP are not supported in 11n. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 43d01c563d271260c1e4fe0a9383c47fae96887f Author: Holger Schurig Date: Mon May 26 12:50:23 2008 +0200 libertas: fix compact flash interrupt handling The old code misbehaved because it polled card status and always called the "tx over" code-path. This also fixes a hard lockup by not allowing and card interrupts while transferring a TX frame or a command into the card. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 85319f933a703a92652a8f23339f1ec1694cd594 Author: Javier Cardona Date: Sat May 24 10:59:49 2008 +0100 libertas: rate adaptation configuration via iwconfig. Implemented rate adaptation support via 'iwconfig rate' API. It is now possible to specify a bit-rate value and append 'auto'. That will configure rate adaptation to use all bit-rates equal or lower than than selected value. Made lbs_cmd_802_11_rate_adapt_rateset a direct command. Signed-off-by: Javier Cardona Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit 553381c430f0e65e87ed1b5cee841a04c8a47b58 Author: Johannes Berg Date: Sat May 24 20:07:55 2008 +0200 b43legacy: fix build errors when DMA or PIO are not selected Currently, b43legacy is broken due to commit fbad4598ca826b994d0fd4ce3deebc9cd1960b31 Author: Johannes Berg Date: Thu May 15 12:55:29 2008 +0200 mac80211: move TX info into skb->cb when compiled with only PIO or only DMA because I forgot to update two stubs. This patch fixes it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b83f4e15e65d94f6f56924b0b06a77a7ca2b4d8a Author: Tomas Winkler Date: Tue May 27 17:50:52 2008 +0300 mac80211: fix deadlock in sta->lock This patch fixes a deadlock of sta->lock use, occurring while changing tx aggregation states, as dev_queue_xmit end up in new function test_and_clear_sta_flags that uses that lock thus leading to deadlock Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 747cf5e924a469a15a454b88a813236460b30975 Author: Tomas Winkler Date: Tue May 27 17:50:51 2008 +0300 mac80211: fix ieee80211_get_buffered_bc fix bss not initialized in ieee80211_get_buffered_bc and unbalanced locking Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 20ad4fd56255b455beb677dc097eb108d15f1d63 Author: Scott Ashcroft Date: Tue May 27 11:15:02 2008 +0300 rndis_wlan: use ARRAY_SIZE instead of sizeof when adding 11g rates While figuring out the TKIP problem I found a bug in the code which adds the 11g rates. It's using sizeof instead of ARRAY_SIZE to terminate the for loop. This makes it fall off the end of the rates array start into the frequency array instead. Running "iwlist rate" should show the problem as there will always be 32 rates with the last few being bogus. The following patch will fix it. Signed-off-by: Scott Ashcroft Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a888d52d1eda77f08e09d38ac829353200240716 Author: Johannes Berg Date: Mon May 26 16:43:39 2008 +0200 ath5k: use IEEE80211_SKB_CB ath5k still uses the "(void*) skb->cb" direct cast, use IEEE80211_SKB_CB instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ef707b8387c13b6aa3353b5519aa465cbe06034f Author: Holger Schurig Date: Fri May 23 16:04:13 2008 +0200 libertas: before sleeping, check for a command result If we don't check for a command response early, but rather sleep, then we might sleep despite an already-received command response. This will lead to a command-timeout. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit df349f9fe7500fcb98f560c74b5e99477ca1df1c Author: Holger Schurig Date: Fri May 23 12:16:51 2008 +0200 libertas: use lbs_pr_XX instead of printk ... because lbs_pr_XXX prefixes all messages with "libertas: " Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 93416c871f8588446e80780f7d62fabc131c276b Author: Holger Schurig Date: Fri May 23 10:18:26 2008 +0200 libertas: speeds up downloading of CF firmware Keep the timeout the same (1000*500 == 100000 * 5), but take shorter naps. Makes downloading the firmware slightly faster. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit b43441a49d1c64769ff90f34e9543b2ba840b517 Author: Holger Schurig Date: Fri May 23 10:07:56 2008 +0200 libertas: don't spin_unlock_irq() twice priv->driver_lock has already been unlocked some lines above. This patch fixes the sparse warning: drivers/net/wireless/libertas/main.c:792:6: warning: context problem in 'lbs_thread': '_spin_unlock_irq' expected different context drivers/net/wireless/libertas/main.c:792:6: context 'lock': wanted >= 1, got 0 Signed-of-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 23c0752a25d73ccc4547700e8a57d5ae2f2edf56 Author: Johannes Berg Date: Thu May 29 10:38:53 2008 +0200 mac80211: clean up skb reallocation code This cleans up the skb reallocation code to avoid problems with skb->truesize, not resize an skb twice for a single output path because we didn't expand it enough during the first copy and also removes the code to further expand it during crypto operations which will no longer be necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f622360bce6facb05fdce4bce5ee4beb2432222d Author: Daniel Walker Date: Thu May 22 00:00:03 2008 -0700 ps3: gelic: updown_lock semaphore to mutex Signed-off-by: Daniel Walker Acked-by: Masakazu Mokuno Signed-off-by: John W. Linville commit bb2d67a34fe80c14d0a379695ab81362b3da1d53 Author: Daniel Walker Date: Thu May 22 00:00:02 2008 -0700 ps3: gelic: assoc_stat_lock semaphore to mutex Signed-off-by: Daniel Walker Acked-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 706ddd600ca637720f87cef630179934add32b13 Author: Daniel Walker Date: Thu May 22 00:00:01 2008 -0700 ps3: gelic: scan_lock semaphore to mutex Signed-off-by: Daniel Walker Acked-by: Masakazu Mokuno Signed-off-by: John W. Linville commit b77ec4caefb280092a45d6798cbc2fd966ad01d8 Author: David Woodhouse Date: Tue May 20 16:48:52 2008 +0100 libertas: provide reset_card() callback on OLPC Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 04dea136b06ddd58879c9272b9f66ff060962317 Author: Johannes Berg Date: Tue May 20 12:10:49 2008 +0200 b43: enable mesh This patch enables b43 to do mesh networking, tested against my zd1211rw dongle. Signed-off-by: Johannes Berg Reviewed-by: Michael Buesch Signed-off-by: John W. Linville commit 835fc943f34139ed062f1ac194b52ed3b7123d88 Author: Ingo Molnar Date: Tue Jun 3 14:42:06 2008 +0200 x86: mp build fix fix: drivers/built-in.o: In function `acpi_pci_irq_enable': : undefined reference to `mp_config_acpi_gsi' Signed-off-by: Ingo Molnar commit c8c034ce79418d2143c00c4cf751cfa51701f788 Author: Yinghai Lu Date: Sun Jun 1 23:55:37 2008 -0700 x86: clean up max_pfn_mapped usage - 64-bit on 64-bit we only get valid max_pfn_mapped after init_memory_mapping(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6af61a7614a306fe882a0c2b4ddc63b65aa66efc Author: Yinghai Lu Date: Sun Jun 1 23:53:50 2008 -0700 x86: clean up max_pfn_mapped usage - 32-bit on 32-bit in head_32.S after initial page table is done, we get initial max_pfn_mapped, and then kernel_physical_mapping_init will give us a final one. We need to use that to make sure find_e820_area will get valid addresses for boot_map and for NODE_DATA(0) on numa32. XEN PV and lguest may need to assign max_pfn_mapped too. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 287572cb38de7f270b59191a0fecfa5c5de7765d Author: Yinghai Lu Date: Sun Jun 1 21:06:31 2008 -0700 x86, numa, 32-bit: avoid clash between ramdisk and kva use find_e820_area to get address space... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd Author: Yinghai Lu Date: Sun Jun 1 13:17:38 2008 -0700 x86: update mptable make mptable to be consistent with acpi routing, so we could: 1. kexec kernel with acpi=off 2. work around BIOSes where acpi routing is working, but mptable is not right, so can use kernel/kexec to start other OSes that don't have good acpi support. command line: update_mptable Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e8c27ac9191ab9e6506ae5cbe70d87ac50f8e960 Author: Yinghai Lu Date: Sun Jun 1 13:15:22 2008 -0700 x86, numa, 32-bit: print out debug info on all kvas also fix the print out of node_remap_end_vaddr Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0596152388e234efebce464355186ad9e16c8cb6 Author: Yinghai Lu Date: Sat May 31 22:52:47 2008 -0700 x86, 32-bit: change propagate_e820_map() back to find_max_pfn() we don't need to call memory_present that early. numa and sparse will call memory_present later and might even fail, it will call memory_present for the full range. also for sparse it will call alloc_bootmem ... before we set up bootmem. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b66cd7207387b9b428aaf1988e21dd263c6a4928 Author: Yinghai Lu Date: Sat May 31 22:53:47 2008 -0700 x86: set node_remap_size[0] in fallback path ... otherwise alloc_remap will not get node_mem_map from kva area, and alloc_node_mem_map has to alloc_bootmem_node to get mem_map. It will use two low address copies ... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ba924c81dd5a7a7fb5ded025af7fdd3b61f8ca67 Author: Yinghai Lu Date: Sat May 31 22:51:51 2008 -0700 x86, numa, 32-bit: increase max_elements to 1024 so every element will represent 64M instead of 256M. AMD opteron could have HW memory hole remapping, so could have [0, 8g + 64M) on node0. Reduce element size to 64M to keep that on node 0 Later we need to use find_e820_area() to allocate memory_node_map like on 64-bit. But need to move memory_present out of populate_mem_map... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 471b3c1b011f807d16f1e19d1d4ecf703f1e7d1a Author: Ingo Molnar Date: Tue Jun 3 12:39:43 2008 +0200 x86, numaq 32-bit: build fix fix: drivers/built-in.o: In function `acpi_numa_init': : undefined reference to `acpi_numa_arch_fixup' which can happen with ACPI && NUMAQ. commit cf3d0cb8a10a4fd19439bb34995d9ad28854739a Author: Ingo Molnar Date: Tue Jun 3 11:36:56 2008 +0200 x86: 32-bit numa, build fix on Summit it's possible to have: CONFIG_ACPI_SRAT=y CONFIG_HAVE_ARCH_PARSE_SRAT=y in which case acpi.h defines the acpi_numa_slit_init() and acpi_numa_processor_affinity_init() methods as a macro. commit f3294690979634ee10398bb0beadfe1d4edb881d Author: Ingo Molnar Date: Tue Jun 3 10:16:10 2008 +0200 x86, numaq: add pci_acpi_scan_root() stub allow 32-bit numaq build to succeed with ACPI enabled. commit b28852d6703e4b72ce363c5168ea8d3fb28b9c57 Author: Ingo Molnar Date: Tue Jun 3 10:11:07 2008 +0200 x86: add dummy acpi_numa_processor_affinity_init() implementation on 32-bit allow CONFIG_ACPI_NUMA builds to succeed. commit 2772f54bf37b033263abe4a2314c40a308a1a5cd Author: Ingo Molnar Date: Tue Jun 3 10:09:45 2008 +0200 x86: add acpi_numa_slit_init() dummy implementation on 32-bit allow CONFIG_ACPI_NUMA builds to succeed on 32-bit. commit 4c1cbafb88490757a38119c41229251369bcecbc Author: Ingo Molnar Date: Tue Jun 3 09:28:52 2008 +0200 x86 mpparse: build fix fix this build bug: drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_enable': drivers/acpi/pci_irq.c:574: error: implicit declaration of function 'mp_config_acpi_gsi' Signed-off-by: Ingo Molnar commit 5a85bb02ba473aacd29f4039a74744f729443b31 Author: Jaroslav Kysela Date: Tue Jun 3 09:06:20 2008 +0200 ALSA: Release v1.0.17rc1 Signed-off-by: Jaroslav Kysela commit e026892c85571e12f11abffde5a90bcc704d663e Author: Timur Tabi Date: Mon Jun 2 15:09:35 2008 -0500 [POWERPC] fsl: Update fsl_soc to use cell-index property of I2C nodes Currently, fsl_i2c_of_init() uses the order of the I2C adapter nodes in the device tree to enumerate the I2C adapters. Instead, let's check for the cell-index property and use it if it exists. This is handy for device drivers that need to identify the I2C adapters by specific numbers. The Freescale MPC8610 ASoC V2 sound drivers are an example. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit fca622c5b21a259950a2964ceca7b6c2a23c849f Author: Kumar Gala Date: Wed Apr 30 05:23:21 2008 -0500 [POWERPC] 40x/Book-E: Save/restore volatile exception registers On machines with more than one exception level any system register that might be modified by the "normal" exception level needs to be saved and restored on taking a higher level exception. We already are saving and restoring ESR and DEAR. For critical level add SRR0/1. For debug level add CSRR0/1 and SRR0/1. For machine check level add DSRR0/1, CSRR0/1, and SRR0/1. On FSL Book-E parts we always save/restore the MAS registers for critical, debug, and machine check level exceptions. On 44x we always save/restore the MMUCR. Additionally, we save and restore the ksp_limit since we have to adjust it for each exception level. Signed-off-by: Kumar Gala Acked-by: Paul Mackerras commit 369e757b65d4a5e49bae7cfaf671e784f891cfbe Author: Kumar Gala Date: Wed Apr 30 04:17:22 2008 -0500 [POWERPC] Rework EXC_LEVEL_EXCEPTION_PROLOG code * Cleanup the code a bit my allocating an INT_FRAME on our exception stack there by make references go from GPR11-INT_FRAME_SIZE(r8) to just GPR11(r8) * simplify {lvl}_transfer_to_handler code by moving the copying of the temp registers we use if we come from user space into the PROLOG * If the exception came from kernel mode copy thread_info flags, preempt, and task pointer from the process thread_info. Signed-off-by: Kumar Gala Acked-by: Paul Mackerras commit bcf0b0880710409420a4e3b15dbf4b9a63542c0b Author: Kumar Gala Date: Wed Apr 30 03:49:55 2008 -0500 [POWERPC] Move to runtime allocated exception stacks For the additonal exception levels (critical, debug, machine check) on 40x/book-e we were using "static" allocations of the stack in the associated head.S. Move to a runtime allocation to make the code a bit easier to read as we mimic how we handle IRQ stacks. Its also a bit easier to setup the stack with a "dummy" thread_info in C code. Signed-off-by: Kumar Gala Acked-by: Paul Mackerras commit c054065bc10a7ee2bcf78b5bc95f4b4d9bdc923a Author: Kumar Gala Date: Fri May 30 13:43:43 2008 -0500 [POWERPC] 85xx: Add next-level-cache property Added next-level-cache to the L1 and a reference to the new L2 label. This is per the ePAPR 0.94 spec. Since we are't really dependent on this today we aren't supporting the "legacy" l2-cache phandle that is specified in the PPC v2.1 OF Binding spec. Signed-off-by: Kumar Gala commit acd4b715ec83e451990bb82bdbf28ecaeab1b67d Author: Kumar Gala Date: Fri May 30 12:12:26 2008 -0500 [POWERPC] Cleanup mpic nodes in .dts Removed clock-frequency, big-endian, and built-in props as they aren't specified anywhere. Also added compatible = "chrp,open-pic" in the places it was missing. Signed-off-by: Kumar Gala commit 59d13f9dba56c444e5356b42d3d57b46e44ef975 Author: Bryan O'Donoghue Date: Thu May 8 13:47:00 2008 +0100 [POWERPC] 83xx: Add support for Analogue & Micro ASP837E board The following adds support for the Analogue & Micro ASP 8347E, running Redboot. http://www.analogue-micro.com/ASP8347.html Signed-off-by: Bryan O'Donoghue Signed-off-by: Kumar Gala commit 64f9b5ee17ee7974d7cc58d75221432d86960ba3 Author: Timur Tabi Date: Thu May 15 17:46:10 2008 -0500 [POWERPC] fsl: Add CS4270 i2c data to fsl_soc.c The i2c_devices[] array in fsl_soc.c lists all the I2C nodes that are supported on Freescale boards. Add an entry for the Cirrus Logic CS4270 so that a new-style CS4270 driver will work. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 22fb7d9be593181e2f779cf7a8421703a6be713b Author: Timur Tabi Date: Thu May 15 17:04:57 2008 -0500 [POWERPC] fsl: Add warning for unrecognized I2C nodes in the device tree Update of_find_i2c_driver in fsl_soc.c to display a warning message if an I2C node in the device tree isn't found in the i2c_devices[] array. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 692d1037e6914a8a32a7a9fba416684c75c7efca Author: Anton Vorontsov Date: Fri May 23 17:41:02 2008 +0400 [POWERPC] fsl_msi: few (mostly cosmetic) fixes This patch fixes few cosmetic issues, also removes unused function, makes some functions static and reduces #ifdef count. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 741edc494978bc2770e891b8cfadbca3246a3d1a Author: Jason Jin Date: Fri May 23 16:32:48 2008 +0800 [POWERPC] 85xx: Enable MSI support for 85xxds board This patch enabled MSI on 8544ds and 8572ds board. So far only one MSI interrupt can generate on 8544 board. Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit 0023352f56f90d01de67f995e248fe4c5308a497 Author: Jason Jin Date: Fri May 23 16:32:47 2008 +0800 [POWERPC] 86xx: Enable MSI support for MPC8610HPCD board This patch enable the MSI on 8610hpcd board. Through the msi-available-ranges property, All the 256 msi interrupts can be tested on this board. Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit 34e36c1541fe70e5b3842a3278c0e7631d31f4cb Author: Jason Jin Date: Fri May 23 16:32:46 2008 +0800 [POWERPC] fsl: PCIe MSI support for 83xx/85xx/86xx processors. This MSI driver can be used on 83xx/85xx/86xx board. In this driver, virtual interrupt host and chip were setup. There are 256 MSI interrupts in this host, Every 32 MSI interrupts cascaded to one IPIC/MPIC interrupt. The chip was treated as edge sensitive and some necessary functions were setup for this chip. Before using the MSI interrupt, PCI/PCIE device need to ask for a MSI interrupt in the 256 MSI interrupts. A 256bit bitmap show which MSI interrupt was used, reserve bit in the bitmap can be used to force the device use some designate MSI interrupt in the 256 MSI interrupts. Sometimes this is useful for testing the all the MSI interrupts. The msi-available-ranges property in the dts file was used for this purpose. Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit aee1dc73b519227084d77b0b2fc972b68b4153d8 Author: Jason Jin Date: Fri May 23 16:32:45 2008 +0800 [POWERPC] Update booting-without-of for Freescale PCIe MSI Binding document adding for Freescale PCIe MSI support. Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit 69eaf23a9797e1bdf16e210ef4da3e756a41f4de Author: Dmitry Baryshkov Date: Sat May 31 16:14:48 2008 +0100 [ARM] 5071/2: Drop PXA_SHARPSL_25x/27x case from PXA Kconfig. As nothing in the code references to the PXA_SHARPSL_25x/27x, we can drop that Kconfig case and permit all-zaurus builds. Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 5806d8abf6b152f23d057c2e6b9199892883a8df Author: Dmitry Baryshkov Date: Sat May 31 16:17:32 2008 +0100 [ARM] 5073/1: spitz_pm: don't register devices on non-spitz machines Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 043fbc099af0fc0ec94112c7235b7544147149f4 Author: Dmitry Baryshkov Date: Sat May 31 16:16:54 2008 +0100 [ARM] 5072/1: corgi_pm: don't register devices on non-corgi machines Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 7c5926d4e8d0f3d36688df4652b8f9f9ef0d7945 Author: Mike Rapoport Date: Mon May 12 11:36:28 2008 +0100 [ARM] 5036/2: Combine cm_x270_defconfig and em_x270_defconfig into xm_x270_defconfig Combine cm_x270_defconfig and em_x270_defconfig to allow running the same kernel on both machines Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 63b43f5d3264f4d70b5d29885997253d33259744 Author: Russell King Date: Sun Apr 20 17:36:20 2008 +0100 [ARM] pxa: allow PXA to be built for multiple platforms Convert the 'choice' into a 'menu' to allow multiple platforms to be selected. This means to do a build check across PXA, you don't end up spending a lifetime building _twenty_ sodding kernels. Signed-off-by: Russell King commit 5855a1e3c0714242b8a1875383b63ccf9bafaab7 Author: Mike Rapoport Date: Mon May 12 06:41:13 2008 +0100 [ARM] 5035/1: Ensure that zone adjustment is done only on CM-X270 Adjust zones for PCI DMA only if machine_is_armcore() to allow running the same kernel on different PXA machines. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 0b0a9df6038752674e54e333cd247c877d29aab8 Author: Russell King Date: Sun May 18 14:59:36 2008 +0100 [ARM] pxa: separate out power manager and clock registers The power manager and core clock registers aren't present in PXA3 CPUs. Move them out of pxa-regs.h into pxa2xx-regs.h, and include pxa2xx-regs.h where necessary. Signed-off-by: Russell King commit bc3a595988468b8a9c2526b9fb8d7bcaa27cc1a7 Author: Philipp Zabel Date: Mon Jun 2 18:49:27 2008 +0100 [ARM] 5075/1: i2c-pxa: move i2c pin setup and PCFR_PI2CEN handling into arch/arm/mach-pxa This fixes a build error introduced when the power manager register definitions were moved into pxa2xx-regs.h. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 39ab9ddeb3e9573a1ea9a17a1431ea5c81681964 Author: Eric Miao Date: Mon Jun 2 11:20:55 2008 -0400 Input: pxa27x_keypad - add wakeup support Signed-off-by: Eric Miao Acked-by: Russell King Signed-off-by: Dmitry Torokhov commit ba45ca435060614e595a107ac323a36b52619d7d Author: Nicolas Ferre Date: Tue Apr 8 13:59:18 2008 +0100 [ARM] 4940/1: AT91: UDPHS driver: SAM9RL board and cpu integration. Adds support for the USB High Speed Device Port on the AT91SAM9RL system on chip. The AT91SAM9RL uses the same UDPHS IP as the AVR32 and the AT91CAP9 (atmel_usba_udc driver). Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 6b71dbf65e63c13202fb18773a5fd2d4415b6b2e Author: Stelian Pop Date: Sat Apr 5 21:16:15 2008 +0100 [ARM] 4935/1: AT91CAP9: enable RTC-on-RTT in defconfig. Update the help text for RTC_DRV_AT91SAM9 to mention that the option apply to AT91CAP9 processors too, and enable it in the defconfig. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7c8cf66529ebf95f1a5f34d1b69504d442b42630 Author: Stelian Pop Date: Sat Apr 5 21:15:25 2008 +0100 [ARM] 4934/1: AT91CAP9 UDPHS driver: board and cpu integration. This is patch 2 of 2 adding support for the USB High Speed Device Port on the AT91CAP9 system on chip. The AT91CAP9 uses the same UDPHS IP as the AVR32 and the AT91SAM9RL. This patch declares the UDPHS ressources in the at91cap9 (cpu and adk board) files, wires up the atmel_usba_udc driver to them, and activates the driver in the defconfig. Signed-off-by: Stelian Pop Acked-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Russell King commit 53d7168026a440c4cba25468a3d926ddd7ab030a Author: Stelian Pop Date: Sat Apr 5 21:14:03 2008 +0100 [ARM] 4933/1: AT91CAP9 UDPHS driver: generic AT91 parts. This is patch 1 of 2 adding support for the USB High Speed Device Port on the AT91CAP9 system on chip. The AT91CAP9 uses the same UDPHS IP as the AVR32 and the AT91SAM9RL. This patch makes the generic AT91 adaptations, mainly dealing with the addition of the UDPHS UTMI clock. Signed-off-by: Stelian Pop Acked-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Russell King commit 19750336d4cc3a171a5aa5f9a258fb81066cc45e Author: Andrew Victor Date: Sat May 24 18:10:26 2008 +0100 [ARM] 5059/1: [AT91] Convert to new-style UART initialization Convert the following AT91RM9200-based boards to the new-style UART initialization: - Conitec ARM&EVA - Atmel AT91RM9200-DK - Embest ATEB9200 - Atmel AT91RM9200-EK - KwikByte KB920x Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7b2253418cc12877620b4d6782831e8643ab0afa Author: Andrew Victor Date: Sat May 24 17:48:37 2008 +0100 [ARM] 5058/1: [AT91] Calao Systems - default configs Default config files for the three AT91-based boards available from Calao Systems: USB_A9260, USB_A9263 and QIL_A9260. Signed-off-by: Grégory Hermant Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ca0a789ab9c83d8fdf28f5c2700b316cd5dec2f0 Author: Andrew Victor Date: Sat May 24 17:47:04 2008 +0100 [ARM] 5057/1: [AT91] Calao Systems - board files Add support for three AT91-based boards available from Calao Systems: USB_A9260, USB_A9263 and QIL_A9260. Signed-off-by: Grégory Hermant Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e3ba22db09408baee721897fb1b50e16f071d916 Author: Andrew Victor Date: Sat May 24 17:06:45 2008 +0100 [ARM] 5056/1: [AT91] Cleanup YL9200 board file Cleanup the YL9200 board-support file. Other things fixed are: - Use new-style UART initialization - Register all LEDs as gpio_leds. - NOR Flash error noted in comments fixed by increasing YL9200_FLASH_SIZE - The only I2C device is the AT24C eeprom. - Setup of NWAIT pin and programming of SMC controller for the LCD/VGA. - Configure touchscreen interrupt pin. Also adding the board to the KConfig and Makefile. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ffdf786291636137ef2d51c3a5d340793032aa28 Author: Russell King Date: Sun May 18 14:57:59 2008 +0100 [ARM] pxa: Add PXA3_ prefix to PXA3 specific constants standby.S contains both PXA2 and PXA3 specific code. The PXA3 specific constants clash with the PXA2 ones, so give them a prefix. Signed-off-by: Russell King commit 4e5e8de0dbdeb08df2b4c15fa2b0ba2216091793 Author: Russell King Date: Thu Apr 24 15:28:11 2008 +0100 [ARM] pxa: avoid kfreeing static data if platform device fails to register When a dynamically allocated platform device is 'put', the platform device's platform_data is kfree'd. This is bad if it's pointing at static data. Use the provided function to register platform data for these devices. This also means we can mark the pcmcia ops structures as __initdata. Signed-off-by: Russell King commit 04ba0f656f7580d8a51a5b3441e088309141b67a Author: Russell King Date: Thu Apr 24 15:23:25 2008 +0100 [ARM] pxa: avoid registering multiple pxa2xx_pcmcia devices cm_x270 and mainstone both register their PCMCIA devices using the same name, resulting in a warning message from the kernel. Avoid this by making the cm_x270 and mainstone PCMCIA initialisation conditional on the machine type we're running on. Signed-off-by: Russell King commit 720046de27ec2a96d4497dbca8ee98657efa059c Author: Russell King Date: Thu Apr 24 15:13:36 2008 +0100 [ARM] pxa: don't register lpd270 cpld_irq sysdev if !lpd270 Don't register the LPD270 cpld_irq system device when we're not running on a LPD270 machine - "cpld_irq" is also registered (separately) by Lubbock and Mainstone. Signed-off-by: Russell King commit 1a7e612fa5ea0311232bd5418a40ec7280557789 Author: Dmitry Baryshkov Date: Sat May 31 16:18:11 2008 +0100 [ARM] 5074/1: fix warning: missing terminating ' character Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 3d1ba1da2b4ff4ace7801e99fb9a3095b182d847 Author: Ingo Molnar Date: Mon Jun 2 13:50:10 2008 +0200 x86: fix nmi.c build bug apic.h needs to be included for the apic_write_around() definition. commit e0773410247f1e5fc6f7c52a4c5f3c6c9873d527 Author: Abhishek Sagar Date: Sat May 31 14:24:02 2008 +0530 ftrace: export kretprobe_trampoline for function tracer Follow suit from kprobe implementations on other archs and make kretprobe_trampoline non-static. Ftrace implmentation (more specifically, kernel/trace/trace.c) requires access to it (see-> http://kerneltrap.org/mailarchive/linux-kernel/2008/5/27/1955234). Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit 7e0edc1bc343231029084761ebf59e522902eb49 Author: Jeremy Fitzhardinge Date: Sat May 31 01:33:04 2008 +0100 xen: add new Xen elfnote types and use them appropriately Define recently added XEN_ELFNOTEs, and use them appropriately. Most significantly, this enables domain checkpointing (xm save -c). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit d07af1f0e3a3e378074fc36322dd7b0e72d9a3e2 Author: Jeremy Fitzhardinge Date: Sat May 31 01:33:03 2008 +0100 xen: resume timers on all vcpus On resume, the vcpu timer modes will not be restored. The timer infrastructure doesn't do this for us, since it assumes the cpus are offline. We can just poke the other vcpus into the right mode directly though. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 9c7a794209f8a91f47697c3be20597eb60531e6d Author: Jeremy Fitzhardinge Date: Sat May 31 01:33:02 2008 +0100 xen: restore vcpu_info mapping If we're using vcpu_info mapping, then make sure its restored on all processors before relasing them from stop_machine. The only complication is that if this fails, we can't continue because we've already made assumptions that the mapping is available (baked in calls to the _direct versions of the functions, for example). Fortunately this can only happen with a 32-bit hypervisor, which may possibly run out of mapping space. On a 64-bit hypervisor, this is a non-issue. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e2426cf85f8db5891fb5831323d2d0c176c4dadc Author: Jeremy Fitzhardinge Date: Sat May 31 01:24:27 2008 +0100 xen: avoid hypercalls when updating unpinned pud/pmd When operating on an unpinned pagetable (ie, one under construction or destruction), it isn't necessary to use a hypercall to update a pud/pmd entry. Jan Beulich observed that a similar optimisation avoided many thousands of hypercalls while doing a kernel build. One tricky part is that early in the kernel boot there's no page structure, so we can't check to see if the page is pinned. In that case, we just always use the hypercall. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich Signed-off-by: Ingo Molnar commit 15ce60056b24a65b65e28de973a9fd8ac0750a2f Author: Ingo Molnar Date: Mon Jun 2 13:20:11 2008 +0200 xen: export get_phys_to_machine -tip testing found the following xen-console symbols trouble: ERROR: "get_phys_to_machine" [drivers/video/xen-fbfront.ko] undefined! ERROR: "get_phys_to_machine" [drivers/net/xen-netfront.ko] undefined! ERROR: "get_phys_to_machine" [drivers/input/xen-kbdfront.ko] undefined! with: http://redhat.com/~mingo/misc/config-Mon_Jun__2_12_25_13_CEST_2008.bad commit 9f5314fb4d556d3132c784d0df47352b2830ca53 Author: Jack Steiner Date: Wed May 28 09:51:18 2008 -0500 x86, uv: update macros used by UV platform Update the UV address macros to better describe the fields of UV physical addresses. Improve comments in the header files. Add additional MMR definitions. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 88ff0a474e98f869d8c321e29481f298320100d6 Author: Hiroshi Shimamoto Date: Tue May 27 18:49:39 2008 -0700 x86: coding style fixes for nmi.c before total: 1 errors, 6 warnings, 534 lines checked after total: 0 errors, 1 warnings, 532 lines checked Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fb093eab6d8963a085f112773284f2bcb3d7907b Author: Yinghai Lu Date: Tue May 27 16:29:20 2008 -0700 x86: remove duplicated e820 func in setup.h we already have them in e820.h Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ad90c0e3ce8d20d6873b57e36181ef6d7a0097fe Author: Steven Rostedt Date: Tue May 27 20:48:37 2008 -0400 ftrace: user update and disable dynamic ftrace daemon In dynamic ftrace, the mcount function starts off pointing to a stub function that just returns. On start up, the call to the stub is modified to point to a "record_ip" function. The job of the record_ip function is to add the function to a pre-allocated hash list. If the function is already there, it simply is ignored, otherwise it is added to the list. Later, a ftraced daemon wakes up and calls kstop_machine if any functions have been recorded, and changes the calls to the recorded functions to a simple nop. If no functions were recorded, the daemon goes back to sleep. The daemon wakes up once a second to see if it needs to update any newly recorded functions into nops. Usually it does not, but if a lot of code has been executed for the first time in the kernel, the ftraced daemon will call kstop_machine to update those into nops. The problem currently is that there's no way to stop the daemon from doing this, and it can cause unneeded latencies (800us which for some is bothersome). This patch adds a new file /debugfs/tracing/ftraced_enabled. If the daemon is active, reading this will return "enabled\n" and "disabled\n" when the daemon is not running. To disable the daemon, the user can echo "0" or "disable" into this file, and "1" or "enable" to re-enable the daemon. Since the daemon is used to convert the functions into nops to increase the performance of the system, I also added that anytime something is written into the ftraced_enabled file, kstop_machine will run if there are new functions that have been detected that need to be converted. This way the user can disable the daemon but still be able to control the conversion of the mcount calls to nops by simply, "echo 0 > /debugfs/tracing/ftraced_enabled" when they need to do more conversions. To see the number of converted functions: "cat /debugfs/tracing/dyn_ftrace_total_info" Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6330a30a76c1e62d4b4ec238368957f8febf9113 Author: Vegard Nossum Date: Wed May 28 09:46:19 2008 +0200 x86: break mutual header inclusion This breaks up the mutual inclusion between headers ptrace.h and vm86.h by moving some small part of vm86.h which is needed by ptrace.h into processor-flags.h. We also try to move #include lines to the top. This has been compile tested on x86_32 and x86_64 defconfig, and run through 'make headers_check'. Cc: Adrian Bunk Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 83bea8e1fa0c47b30664b6f92397c016c22f77fb Author: Vegard Nossum Date: Tue May 27 21:03:46 2008 +0200 x86: fix incomplete include guard in include/asm-x86/seccomp_32.h Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 76094a2cf46e4ab776055d4086615b884408568c Author: Abhishek Sagar Date: Wed May 28 00:03:18 2008 +0530 ftrace: distinguish kretprobe'd functions in trace logs Tracing functions via ftrace which have a kretprobe installed on them, can produce misleading output in their trace logs. E.g, consider the correct trace of the following sequence: do_IRQ() { ~ irq_enter(); ~ } Trace log (sample): -0 [00] 4154504455.781616: irq_enter <- do_IRQ But if irq_enter() has a kretprobe installed on it, the return value stored on the stack at each invocation is modified to divert the return to a kprobe trampoline function called kretprobe_trampoline(). So with this the trace would (currently) look like: -0 [00] 4154504455.781616: irq_enter <- kretprobe_trampoline Now this is quite misleading to the end user, as it suggests something that didn't actually happen. So just to avoid such misinterpretations, the inlined patch aims to output such a log as: -0 [00] 4154504455.781616: irq_enter <- [unknown/kretprobe'd] Signed-off-by: Abhishek Sagar Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 8c2238eaaf0f774ca0f8d9daad7a616429bbb7f1 Author: Jason Wessel Date: Tue May 27 12:23:29 2008 -0500 softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression The touch_nmi_watchdog() routine on x86 ultimately calls touch_softlockup_watchdog(). The problem is that to touch the softlockup watchdog, the cpu_clock code has to be called which could involve multiple cpu locks and can lead to a hard hang if one of the locks is held by a processor that is not going to return anytime soon (such as could be the case with kgdb or perhaps even with some other kind of exception). This patch causes the public version of the touch_softlockup_watchdog() to defer the cpu clock access to a later point. The test case for this problem is to use the following kernel config options: CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS_ON_BOOT=y CONFIG_KGDB_TESTS_BOOT_STRING="V1F100I100000" It should be noted that kgdb test suite and these options were not available until 2.6.26-rc2, so it was necessary to patch the kgdb test suite during the bisection. I would consider this patch a regression fix because the problem first appeared in commit 27ec4407790d075c325e1f4da0a19c56953cce23 when some logic was added to try to periodically sync the clocks. It was possible to work around this particular problem by simply not performing the sync anytime the system was in a critical context. This was ok until commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd, which added config option CONFIG_HAVE_UNSTABLE_SCHED_CLOCK and some multi-cpu locks to sync the clocks. It became clear that accessing this code from an nmi was the source of the lockups. Avoiding the access to the low level clock code from an code inside the NMI processing also fixed the problem with the 27ec44... commit. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit c1f64a58003fd2efaa725a857e269a15f765791a Author: Linus Torvalds Date: Tue May 27 09:47:13 2008 -0700 x86: MMIO and gcc re-ordering issue On Tue, 27 May 2008, Linus Torvalds wrote: > > Expecting people to fix up all drivers is simply not going to happen. And > serializing things shouldn't be *that* expensive. People who cannot take > the expense can continue to use the magic __raw_writel() etc stuff. Of course, for non-x86, you kind of have to expect drivers to be well-behaved, so non-x86 can probably avoid this simply because there are less relevant drivers involved. Here's a UNTESTED patch for x86 that may or may not compile and work, and which serializes (on a compiler level) the IO accesses against regular memory accesses. __read[bwlq]()/__write[bwlq]() are not serialized with a :"memory" barrier, although since they still use "asm volatile" I suspect that i practice they are probably serial too. Did not look very closely at any generated code (only did a trivial test to see that the code looks *roughly* correct). Signed-off-by: Ingo Molnar commit 1a5726528a70bb239bdd149aef7f2155cd2b1699 Author: Ingo Molnar Date: Mon Jun 2 12:21:36 2008 +0200 fix build bug in "x86: add PCI extended config space access for AMD Barcelona" commit c78277288e3d561d55fb48bc0fe8d6e2cf4d0880 Author: Jeremy Fitzhardinge Date: Thu May 29 09:02:19 2008 +0100 CONFIG_PM_SLEEP fix: xen: fix compilation when CONFIG_PM_SLEEP is disabled Xen save/restore depends on CONFIG_PM_SLEEP being set for device_power_up/down. Signed-off-by: Jeremy Fitzhardinge Acked-by: Randy Dunlap Signed-off-by: Ingo Molnar commit c46e62f73569d7ef42255bd6f31e35925b7f1492 Author: Pavel Machek Date: Wed May 28 12:42:57 2008 +0200 i8259: fix final ugliness Introduce IRQx_VECTOR on 32-bit, so that #ifdef noise is kept down. There should be no object code change. [ mingo@elte.hu: merged to x86/irq not x86/i8259 due to x86/irq having restructured the vector code into asm-x86/irq_vectors.h, which this patch touches. ] Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 6fc92866a4a6778a9732a14b61f70cb9014b2a1a Author: Ingo Molnar Date: Mon Jun 2 10:54:16 2008 +0200 fix build bug in "x86: add PCI extended config space access for AMD Barcelona" Signed-off-by: Ingo Molnar commit 831d991821daedd4839073dbca55514432ef1768 Author: Robert Richter Date: Mon Sep 3 10:17:39 2007 +0200 x86: add PCI extended config space access for AMD Barcelona This patch implements PCI extended configuration space access for AMD's Barcelona CPUs. It extends the method using CF8/CFC IO addresses. An x86 capability bit has been introduced that is set for CPUs supporting PCI extended config space accesses. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit d2cd74b158d7214a556226e3312f9fb1de64d7ae Author: Takashi Iwai Date: Mon Jun 2 11:45:53 2008 +0200 [ALSA] emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2 On Audigy2 Platinum, the Analog/Digital mixer switch is inverted. https://bugzilla.novell.com/show_bug.cgi?id=396204 The patch adds a simple workaround. There might be another device requiring a similar fix, too (or fix for audigy2 generically), but right now I fix only the known broken one. Signed-off-by: Takashi Iwai commit 014c257cce65e9d1cd2d28ec1c89a37c536b151d Author: Abhishek Sagar Date: Sat May 31 14:23:50 2008 +0530 ftrace: core support for ARM Core ftrace support for the ARM architecture, which includes support for dynamic function tracing. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar commit e8ef4347099584b49ecf74144ad2089b724292cf Author: Dmitry Torokhov Date: Mon Jun 2 00:41:57 2008 -0400 Input: serio - remove pending events when unregistering driver That fixes an opps when driver is repeatedly loaded and unloaded in a tight loop. Tested-by: Roland Kletzing Signed-off-by: Dmitry Torokhov commit f6d65610df3bd4e7138da03aec391224219df135 Author: Dmitry Torokhov Date: Mon Jun 2 00:39:45 2008 -0400 Input: atkbd - use ushort instead of uchar keymap Since some of the keycodes defined in input.h have values greater than 255 we should use unsigned shorts in keymaps. Tested-by: Carlos Corbacho Signed-off-by: Dmitry Torokhov commit 5a18c343a6bee4b38965f14a40ccb95306641f87 Author: Pau Oliva Fora Date: Mon Jun 2 00:38:35 2008 -0400 Input: add HTC Shift Touchscreen Driver Signed-off-by: Pau Oliva Fora Signed-off-by: Dmitry Torokhov commit 9a73aa81ffb993382afed2ed404bc2b330d75427 Author: Yinghai Lu Date: Thu May 29 16:25:56 2008 -0700 x86: 32bit numa srat fix early_ioremap leak on two node system (16g RAM) with numa config I got this crash: get_memcfg_from_srat: assigning address to rsdp RSD PTR v0 [ACPIAM] ACPI: Too big length in RSDT: 92 failed to get NUMA memory information from SRAT table NUMA - single node, flat memory mode Node: 0, start_pfn: 0, end_pfn: 153 Setting physnode_map array to node 0 for pfns: 0 ... Pid: 0, comm: swapper Not tainted 2.6.26-rc4 #4 [<80b41289>] hlt_loop+0x0/0x3 [<8011efa0>] ? alloc_remap+0x50/0x70 [<8079e32e>] alloc_node_mem_map+0x5e/0xa0 [<8012e77b>] ? printk+0x1b/0x20 [<80b590f6>] free_area_init_node+0xc6/0x470 [<80b588fc>] ? __alloc_bootmem_node+0x2c/0x50 [<80b58ad8>] ? find_min_pfn_for_node+0x38/0x70 [<8012e77b>] ? printk+0x1b/0x20 [<80b597c4>] free_area_init_nodes+0x254/0x2d0 [<80b544d7>] zone_sizes_init+0x97/0xa0 [<80b48a03>] setup_arch+0x383/0x530 [<8012e77b>] ? printk+0x1b/0x20 [<80b41aa4>] start_kernel+0x64/0x350 [<80b412d8>] i386_start_kernel+0x8/0x10 ======================= this patch increases the acpi table limit to 32. Also match early_ioremap() with early_iounmap(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a5481280b29b6a3db912ec100498bd31eaa6d2db Author: Yinghai Lu Date: Thu May 29 12:58:37 2008 -0700 x86: extend e820 early_res support 32bit -fix #5 reserve early numa kva, so it will not clash with new RAMDISK Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 163872950dc856fd23849c27f60049feaac49ae6 Author: Yinghai Lu Date: Thu May 29 12:57:22 2008 -0700 x86: extend e820 early_res support 32bit -fix #4 reserve_early pgdata for 32bit numa Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f0d43100f13be0fa5bf52741d7084bb27f00e621 Author: Yinghai Lu Date: Thu May 29 12:56:36 2008 -0700 x86: extend e820 early_res support 32bit -fix #3 introduce init_pg_table_start, so xen PV could specify the value. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e83728c7b0ce92e57aa90eb4fc271a29d7a393d5 Author: Stephen Hemminger Date: Wed Apr 16 16:37:35 2008 -0700 ns8320: use netdev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c7d6b7d20f42996b28b6a26587a081ce0fc37304 Author: Stephen Hemminger Date: Wed Apr 16 16:37:30 2008 -0700 ts108: use netdev_alloc_skb Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev and can be overriden for NUMA machines. This device is PowerPC only, so not tested or compiled. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 20cbe73cd52f6476f4f7122e8fc801896ea3c4b6 Author: Marcin Slusarz Date: Wed May 14 16:20:17 2008 -0700 net/s2io: set_rxd_buffer_pointer returns -ENOMEM, not ENOMEM Signed-off-by: Marcin Slusarz Cc: Ramkrishna Vepa Cc: Rastapur Santosh Cc: Sivakumar Subramani Cc: Sreenivasa Honnur Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a068c0adf2fe28b324bca87f85d27af7f993cdaf Author: Stephen Hemminger Date: Wed May 14 17:04:17 2008 -0700 sky2: pci power savings Turn on special bits to save more power when device is shutdown. Tested on a limited range of hardware, some of the bits are for hardware that probably isn't even in production (like Yukon Supreme) and was ported from the vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit db99b98885e717454feef1c6868b27d3f23c2e7c Author: Stephen Hemminger Date: Wed May 14 17:04:16 2008 -0700 sky2: put PHY in sleep when down Put PHY int sleep mode (from vendor sk98lin 10.50 driver) when the network device is brought down. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b96936da7a8911cfa29225aa4dc380aba1b8a86e Author: Stephen Hemminger Date: Wed May 14 17:04:15 2008 -0700 sky2: split phy power into two functions Later changes add more code to PHY power changes so refactor now. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 25d90810ff49d2a63475776f24c74c6bb49b045f Author: Tobias Diedrich Date: Sun May 18 15:04:29 2008 +0200 [netdrvr] forcedeth: reorder suspend/resume code Match the suspend/resume code ordering in e100/e1000e more closely. For example the configuration space should be saved on suspend even for devices that are not up. Signed-off-by: Tobias Diedrich Signed-off-by: Jeff Garzik commit 1a1ca86158eee303af5270338695f90bc7ae02b3 Author: Tobias Diedrich Date: Sun May 18 15:03:44 2008 +0200 [netdrvr] forcedeth: save/restore device configuration space The memory mapped device configuration space is lost during hibernate. Save and restore it (fixes 'swapped mac' problem). Signed-off-by: TTobias Diedrich Signed-off-by: Jeff Garzik commit f735a2a1a4f2a0f5cd823ce323e82675990469e2 Author: Tobias Diedrich Date: Sun May 18 15:02:37 2008 +0200 [netdrvr] forcedeth: setup wake-on-lan before shutting down When hibernating in 'shutdown' mode, after saving the image the suspend hook is not called again. However, if the device is in promiscous mode, wake-on-lan will not work. This adds a shutdown hook to setup wake-on-lan before the final shutdown. Signed-off-by: Tobias Diedrich Signed-off-by: Jeff Garzik commit 2914f3efa7ef80f12ff798cb1aa46af57838f912 Author: Daniel Walker Date: Thu May 22 00:00:03 2008 -0700 ps3: gelic: updown_lock semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Jeff Garzik commit 5a2d9af2769c0b4c6ab6d88d31fa3b9a4a432b09 Author: Daniel Walker Date: Thu May 22 00:00:02 2008 -0700 ps3: gelic: assoc_stat_lock semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Jeff Garzik commit 3700b62be8c97bec3eb10198d72edb745652cb70 Author: Daniel Walker Date: Thu May 22 00:00:01 2008 -0700 ps3: gelic: scan_lock semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Jeff Garzik commit d8b35fac8c7e1b44d873c1afcc5f88bc5ef4b361 Author: Laurent Pinchart Date: Mon May 26 11:53:45 2008 +0200 fs_enet: MDIO on GPIO support Port the fs_enet driver to support the MDIO on GPIO driver for PHY access in addition to the mii-bitbang driver. Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit a5edeccb1a8432ae5d9fb9bccea5a4b64c565017 Author: Laurent Pinchart Date: Mon May 26 11:53:21 2008 +0200 net: OpenFirmware GPIO based MDIO bitbang driver This patch adds an MDIO bitbang driver that uses the GPIO library and its OF bindings to access the bus I/Os. Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit 62c78329581e76347e1078b8ea996b603be3efec Author: Ben Hutchings Date: Fri May 30 22:27:46 2008 +0100 sfc: Reduce I2C udelay to 5 resulting in a clock frequency of 100 kHz Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 37b5a60335305e46be93c2eb904c8b5be7aba5f6 Author: Ben Hutchings Date: Fri May 30 22:27:04 2008 +0100 sfc: Use kernel I2C system and i2c-algo-bit driver Remove our own implementation of I2C bit-banging. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 9e833be3a13aa64e1f3dc50ce0ad95278212511d Author: Randy Dunlap Date: Fri May 30 10:29:19 2008 -0700 cxgb3: fix build error when INET=n cxgb3 uses lro_* functions and selects INET_LRO, but this doesn't help unless INET is already enabled, so make the driver depend on INET also. sge.c:(.text+0x9f09a): undefined reference to `lro_flush_all' sge.c:(.text+0x9f62f): undefined reference to `lro_receive_skb' sge.c:(.text+0x9f8a3): undefined reference to `lro_receive_frags' sge.c:(.text+0x9fbe0): undefined reference to `lro_vlan_hwaccel_receive_skb' sge.c:(.text+0x9ffcd): undefined reference to `lro_vlan_hwaccel_receive_frags' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit dfc2c0a6db926749bd49101503644bf915f70e45 Author: Stephen Hemminger Date: Fri May 30 09:49:58 2008 -0700 tlan: wrap source lines Make driver more readable on standard 80 col windows. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a3ccc78968f00b6589653c1cccadb7940594935a Author: Stephen Hemminger Date: Fri May 30 09:49:57 2008 -0700 tlan: proper shared IRQ support Handle shared IRQ correctly. If IRQ is shared, it typically will show up as an IRQ with an empty status field. So check in driver and handle it without crapping out with invalid interrupt message. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9ded65a1d79a2ca9aa44ee0989fd7924304c31cc Author: Stephen Hemminger Date: Fri May 30 09:49:56 2008 -0700 tlan: manage rx allocation failure better Rx allocation failure at runtime is non-fatal. For normal Rx frame, it just reuses the buffer, and during setup it just continues with a smaller receive buffer pool. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 93e16847c9db0093065c98063cfc639cdfccf19a Author: Stephen Hemminger Date: Fri May 30 09:49:55 2008 -0700 tlan: 64bit conversion Make this driver compile cleanly on 64 bit platforms. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 92cee9f6804786da6b63255edce7983bebf75655 Author: Stephen Hemminger Date: Fri May 30 09:49:54 2008 -0700 tlan: remove unused devName field Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f8f31544bf12e0934acb197889215bdc41762912 Author: Stephen Hemminger Date: Fri May 30 09:49:53 2008 -0700 tlan: use netdevice stats Use new netdevice common stats area. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 41873e9aff0632d80c74380d58a89e8d420151bd Author: Stephen Hemminger Date: Fri May 30 09:49:52 2008 -0700 tlan: get rid of padding buffer Use skb_padto to pad frames, this avoid allocation of separate buffer just for dma of the extra bytes. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 981813d8e0a16946f511f4eda17bb4ee4fa2769c Author: Brice Goglin Date: Fri May 9 02:22:16 2008 +0200 myri10ge: add Direct Cache Access support Add I/O AT DCA (Direct Cache Access) support. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit 0dcffac1a329be69bab0ac604bf7283737108e68 Author: Brice Goglin Date: Fri May 9 02:21:49 2008 +0200 myri10ge: add multislices support Add multi-slice/MSI-X support. By default, a single slice (and the normal firmware) are used. To enable msi-x, multi-slice mode, one must load the driver with myri10ge_max_slices set to either -1, or something larger than 1. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit 779297320d192655c2f95a870c12e9b307612429 Author: Brice Goglin Date: Fri May 9 02:21:10 2008 +0200 myri10ge: add routines for multislices Add several routines that multislices support will use. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit 23deb06821442506615f34bd92ccd6a2422629d7 Author: H. Peter Anvin Date: Fri May 30 17:19:03 2008 -0700 x86: move x86-specific documentation into Documentation/x86 The current organization of the x86 documentation makes it appear as if the "i386" documentation doesn't apply to x86-64, which is does. Thus, move that documentation into Documentation/x86, and move the x86-64-specific stuff into Documentation/x86/x86_64 with the eventual goal to move stuff that isn't actually 64-bit specific back into Documentation/x86. Signed-off-by: H. Peter Anvin commit 4039feb5bae72a5fed9ba6bc1a9cfd8dfe0a8613 Author: H. Peter Anvin Date: Fri May 30 17:16:20 2008 -0700 x86: update Documentation/i386/boot.txt Document QUIET_FLAG, correct the definition of several fields, make it clear this applies to the entire x86 architecture, not just i386. Signed-off-by: H. Peter Anvin commit 3b6b9293d0f8e1b11630102013ca2a1dcef17d44 Author: Kristian Høgsberg Date: Thu May 29 18:31:15 2008 -0400 x86: Honor 'quiet' command line option in real mode boot decompressor. This patch lets the early real mode code look for the 'quiet' option on the kernel command line and pass a loadflag to the decompressor. When this flag is set, we suppress the "Decompressing Linux... Parsing ELF... done." messages. Signed-off-by: Kristian Høgsberg Signed-off-by: H. Peter Anvin commit 23968f71b26ece45ed52895d41b0208b90a516e7 Author: Kristian Høgsberg Date: Thu May 29 18:31:14 2008 -0400 x86: Use structs instead of hardcoded offsets in x86 boot decompressor. Replace hardcoded offsets embedded in macros in arch/x86/boot/compressed with proper structure references. Signed-off-by: Kristian Høgsberg Signed-off-by: H. Peter Anvin commit 1c47cd638e8302bc38be1f6d81067950e038ebd3 Author: H. Peter Anvin Date: Fri May 30 15:42:45 2008 -0700 x86: fix overlong line in arch/x86/kernel/cpu/amd_64.c Clean up an overlong line in arch/x86/kernel/cpu/amd_64.c. Signed-off-by: H. Peter Anvin commit 30a713180b3d08fdec5ca572e5a1cd35253c5d8e Author: Dave Jones Date: Thu May 22 18:57:25 2008 -0400 x86: Move the 64-bit Centaur specific parts out of setup_64.c Create a separate centaur_64.c file in the cpu/ dir for the useful parts to live in. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit 7e2191127eb414d7d5a11df6552ab6e3845d17a1 Author: Dave Jones Date: Thu May 22 18:55:06 2008 -0400 x86: Remove workaround for prescott (32bit P4) from 64-bit code. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit a82fbe31cb387bb246e2d3b3c177f551bb991135 Author: Dave Jones Date: Thu May 22 18:54:32 2008 -0400 x86: Move the 64-bit Intel specific parts out of setup_64.c Create a separate intel_64.c file in the cpu/ dir for the useful parts to live in. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit 4d285878564bb46cf64e54be18eeffe33ca583a0 Author: Dave Jones Date: Thu May 22 18:48:32 2008 -0400 x86: Move the AMD64 specific parts out of setup_64.c Create a separate amd_64.c file in the cpu/ dir for the useful parts to live in. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit d364319b989967b74e57fef5c8017fd56a16c392 Author: Thomas Gleixner Date: Fri May 2 23:42:01 2008 +0200 x86: move mmconfig declarations to header arch/x86/kernel/mmconf-fam10h_64.c is missing the prototypes, which are decalred in arch/x86/kernel/setup_64.c. Move the prototypes and the inline stubs to the appropriate header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ba3a5974239293d921235e6fa82b09b670e674ef Author: Ingo Molnar Date: Fri May 30 14:55:47 2008 +0200 - fix typo in include/asm-x86/nmi.h commit 7a14ce1d8c1d3a6118d406e64eaf9aa70375e085 Author: Ingo Molnar Date: Mon May 12 15:43:53 2008 +0200 nohz: reduce jiffies polling overhead Signed-off-by: Ingo Molnar commit 02ff375590ac4140d88afc76505df1ad45c6af59 Author: Ingo Molnar Date: Mon May 12 15:43:53 2008 +0200 softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds Fix (probably theoretical only) rq->clock update bug: in tick_nohz_update_jiffies() [which is called on all irq entry on all cpus where the irq entry hits an idle cpu] we call touch_softlockup_watchdog() before we update jiffies. That works fine most of the time when idle timeouts are within 60 seconds. But when an idle timeout is beyond 60 seconds, jiffies is updated with a jump of more than 60 seconds, which causes a jump in cpu-clock of more than 60 seconds, triggering a false positive. Reported-by: David Miller Signed-off-by: Ingo Molnar commit a5003fc04113c217370409beac812831cbf6e0ac Author: Takashi Iwai Date: Fri May 30 09:49:41 2008 +0200 [ALSA] emu10k1 - simplify page allocation for synth Simplify the page allocation of emu10k1 driver for emux synth support. Since these pages aren't be necessarily coherent, we can avoid expensive DMA-coherent routines. Signed-off-by: Takashi Iwai commit 2621f0338ce4e3e57cc32a967f5a3d2999390fe3 Author: Takashi Iwai Date: Fri May 30 11:27:24 2008 +0200 [ALSA] trivial clean up of sound/isa/sb/Makefile Remove unneeded sort in sound/isa/sb/Makefile. Signed-off-by: Takashi Iwai commit 72860b0f3c4a303498c9e16c8a4a38ddf23d56de Author: Takashi Iwai Date: Fri May 30 11:25:03 2008 +0200 sound: Clean up sound/oss/Kconfig Removed unnecessary dependencies, fix a wrong selection, and make CONFIG_SOUND_OSS menuconfig to simplify. Signed-off-by: Takashi Iwai commit e22af66fc85a8b008237970da4d9b6910422536b Merge: a4831fb... f7b0b93... Author: Uwe Kleine-König Date: Fri May 30 10:46:30 2008 +0200 Merge branch 'atags' into for-rmk commit a4831fbe096a6f4f691fd71b041ce27add54088e Author: Uwe Kleine-König Date: Wed May 21 10:17:07 2008 +0200 ns9xxx: fix assembler version of __REG2 to be consistent with the C version It's not very critical because __REG2 isn't used in assembler code currently. Additionally some white space noise is fixed. Signed-off-by: Uwe Kleine-König commit f7b0b939d54b457ba172e088f477af2012aef9b3 Author: Uwe Kleine-König Date: Thu Feb 21 15:04:40 2008 +0100 clean up atags exporting code This gets rid of two static variables (one of them being __initdata) and a static function. Signed-off-by: Uwe Kleine-König Acked-by: Uli Luckas commit 8ff7f2a46bd8831e1f1f2a694ec13921720180b7 Author: Uwe Kleine-König Date: Thu Feb 21 16:30:10 2008 +0100 There is no need to have BOOT_PARAMS_SIZE known outside of atags.c atags.c was the only user of KEXEC_BOOT_PARAMS_SIZE and kexec.h was only included to get that definition. Signed-off-by: Uwe Kleine-König Acked-by: Uli Luckas commit 8bb8b453cb458d8f62411e78a4cfd6d860b503b6 Author: Takashi Iwai Date: Fri May 30 09:47:45 2008 +0200 [ALSA] trident - clean up obsolete synth codes Clean up the unused synth codes in the memory handling of trident driver. Signed-off-by: Takashi Iwai commit 23ce1547638443f0053dd674e728062c48ff0e39 Author: Takashi Iwai Date: Fri May 30 09:22:22 2008 +0200 [ALSA] Make ak4531 local to ens1370 driver The ak4531 module is used only by ens1370 driver (and unlikely that any other will use it ever). Let's make it local to ens1370. Signed-off-by: Takashi Iwai commit c18f68e4d809a517ed8df540bac2993a4f14d9a4 Author: Takashi Iwai Date: Thu May 29 18:53:05 2008 +0200 [ALSA] Clean up sound/pci/ac97/Makefile Signed-off-by: Takashi Iwai commit c3a34f4390396a4bede3f8b7bcc5153f50b974bb Author: Jiri Kosina Date: Wed May 28 01:10:52 2008 -0400 Input: i8042 - add Intel D845PESV to nopnp list This patch introduces i8042_dmi_nopnp_table to make it possible to perform DMI matches for systems that need 'i8042.nopnp' to work correctly, and introduces such an entry for Intel D845PESV -- this system doesn't detect PS2 mouse reliably without this option, as reported by Robert Lewis. [dtor@mail.ru - make it compile if CONFIG_PNP is off - reported by Randy Dunlap] Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 0723abd0b2c9d4603b8c51d6615800c2439a328e Author: Josh Boyer Date: Tue May 20 07:59:23 2008 -0500 [POWERPC] 4xx: Fix compiler warning on DCR_NATIVE only builds With the recent DCR code rework, we get a compiler warning about find_dcr_parent being defined but not used. This fixes it by only defining the function if CONFIG_PPC_DCR_MMIO is set. Signed-off-by: Josh Boyer commit 4ebef31fa6e013e5cd3d4522e6018eb6d55046be Author: Sean MacLennan Date: Tue May 20 08:28:52 2008 -0500 [POWERPC] PIKA Warp: Update platform code to support Rev B boards * Switched from 64M NOR/64M NAND to 4M NOR/256M NAND. * Full DTM support including critical temperature. * Added POST information. * Removed LED function, moved to new LED driver. * Moved ad7414 to new style I2C initialization. Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 0393cb615f369b6ea0e636dd4d1e25675657dc75 Author: Sean MacLennan Date: Tue Apr 29 13:27:46 2008 +1000 [POWERPC] PIKA Warp: Update DTS to support Rev B boards * Switched from 64M NOR/64M NAND to 4M NOR/256M NAND. * Added led entries. * Added fpga-sd entry. * Added ad7414 entry. Signed-off-by: Sean MacLennan Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 6f031101f5c6bb44762911909da575127f676eb8 Author: Josh Boyer Date: Fri May 16 00:41:23 2008 +1000 [POWERPC] 4xx: Fix PCI mem in rainier DTS This fixes the PCI node in the Rainier to match the spec from AMCC. A similar fix was done for 440EPx, which shares the same values as 440GRx. Signed-off-by: Josh Boyer commit 71f349799b34c8b6ce3df42126b4de6cfa16456d Author: David Gibson Date: Thu May 15 16:46:39 2008 +1000 [POWERPC] Convert remaining dts-v0 files to v1 At the moment we have a mixture of left-over version 0 and new-format version 1 files in arch/powerpc/boot/dts. This is potentially confusing to people new to the dts format attempting to figure it out. So, this patch converts all the as-yet unconverted dts v0 files and converts them to v1. They're mechanically-converted, and not hand tweaked so in some cases they're not 100% in keeping with usual v1 style, but the convertor program does have some heuristics so the discrepancies aren't too bad. I have checked that this patch produces no changes to the resulting dtb binaries. Signed-off-by: David Gibson Acked-by: Josh Boyer Acked-by: Geoff Levand Signed-off-by: Josh Boyer commit b786af117b360843349cf66165c4efa0217ca2a7 Author: Stephen Neuendorffer Date: Wed May 7 04:29:17 2008 +1000 [POWERPC] Refactor DCR code Previously, DCR support was configured at compile time to either use MMIO or native dcr instructions. Although this works for most platforms, it fails on FPGA platforms: 1) Systems may include more than one DCR bus. 2) Systems may be native DCR capable and still use memory mapped DCR interface. This patch provides runtime support based on the device trees for the case where CONFIG_PPC_DCR_MMIO and CONFIG_PPC_DCR_NATIVE are both selected. Previously, this was a poorly defined configuration, which happened to provide NATIVE support. The runtime selection is made based on the dcr-controller having a 'dcr-access-method' attribute in the device tree. If only one of the above options is selected, then the code uses #defines to select only the used code in order to avoid introducing overhead in existing usage. Signed-off-by: Stephen Neuendorffer Signed-off-by: Josh Boyer commit a5b17df04c4ad8f25fc598fce37fccb4b387c94c Merge: b79eeeb... c03571a... Author: David S. Miller Date: Thu May 29 03:31:03 2008 -0700 Merge branch 'upstream-next-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit b79eeeb9e48457579cb742cd02e162fcd673c4a3 Author: Ilpo Järvinen Date: Thu May 29 03:25:23 2008 -0700 tcp: Reorganize tcp_sock to fill 64-bit holes & improve locality I tried to group recovery related fields nearby (non-CA_Open related variables, to be more accurate) so that one to three cachelines would not be necessary in CA_Open. These are now contiguously deployed: struct sk_buff_head out_of_order_queue; /* 1968 80 */ /* --- cacheline 32 boundary (2048 bytes) --- */ struct tcp_sack_block duplicate_sack[1]; /* 2048 8 */ struct tcp_sack_block selective_acks[4]; /* 2056 32 */ struct tcp_sack_block recv_sack_cache[4]; /* 2088 32 */ /* --- cacheline 33 boundary (2112 bytes) was 8 bytes ago --- */ struct sk_buff * highest_sack; /* 2120 8 */ int lost_cnt_hint; /* 2128 4 */ int retransmit_cnt_hint; /* 2132 4 */ u32 lost_retrans_low; /* 2136 4 */ u8 reordering; /* 2140 1 */ u8 keepalive_probes; /* 2141 1 */ /* XXX 2 bytes hole, try to pack */ u32 prior_ssthresh; /* 2144 4 */ u32 high_seq; /* 2148 4 */ u32 retrans_stamp; /* 2152 4 */ u32 undo_marker; /* 2156 4 */ int undo_retrans; /* 2160 4 */ u32 total_retrans; /* 2164 4 */ ...and they're then followed by URG slowpath & keepalive related variables. Head of the out_of_order_queue always needed for empty checks, if that's empty (and TCP is in CA_Open), following ~200 bytes (in 64-bit) shouldn't be necessary for anything. If only OFO queue exists but TCP is in CA_Open, selective_acks (and possibly duplicate_sack) are necessary besides the out_of_order_queue but the rest of the block again shouldn't be (ie., the other direction had losses). As the cacheline boundaries depend on many factors in the preceeding stuff, trying to align considering them doesn't make too much sense. Commented one ordering hazard. There are number of low utilized u8/16s that could be combined get 2 bytes less in total so that the hole could be made to vanish (includes at least ecn_flags, urg_data, urg_mode, frto_counter, nonagle). Signed-off-by: Ilpo Järvinen Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 75a9cd524c6bb441c61c85bae7020ce5e8b2e807 Author: David S. Miller Date: Thu May 29 01:43:48 2008 -0700 wanrouter: Fix ioctl handler declaration. Signed-off-by: David S. Miller commit bb9122b829e960f4e242c04c2b38c12efb37757b Author: Matt Carlson Date: Sun May 25 23:51:01 2008 -0700 tg3: Update version to 3.93 This patch increments the version to 3.93. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit a9daf36746b1fb5c2db8d164ca70c30c63a0d7b2 Author: Matt Carlson Date: Sun May 25 23:49:44 2008 -0700 tg3: Add shmem options. This patch adds some options obtained through shared memory. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 57e6983cbde91b4569b4014b933f3a16e12b99fd Author: Matt Carlson Date: Sun May 25 23:48:31 2008 -0700 tg3: Add 5785 ASIC revision This patch added the 5785 device ID and ASIC revision to the code. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit b02fd9e3ac118037549baeb86fbe0718561db17f Author: Matt Carlson Date: Sun May 25 23:47:41 2008 -0700 tg3: Add libphy support. This patch introduces the libphy support. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 158d7abdae85e9ac43d99780c372d79c119f7626 Author: Matt Carlson Date: Thu May 29 01:37:54 2008 -0700 tg3: Add mdio bus registration This patch introduces code to register and unregister the tg3 mdio bus with the system. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit dd47700310ff929b439223105364c9ee3db81511 Author: Matt Carlson Date: Sun May 25 23:45:58 2008 -0700 tg3: Add TG3_FLG3_USE_PHYLIB This patch introduces the TG3_FLG3_USE_PHYLIB flag and applies it to some select places. This work makes later patches a little easier to read. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit f51f3562d1c7df6c5a4ffee2185d713e98e76aa0 Author: Matt Carlson Date: Sun May 25 23:45:08 2008 -0700 tg3: Code cleanup. This patch applies cleanups that would otherwise clutter later patches. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 95e2869adc13041baf3beecb97ab8e38c01525ae Author: Matt Carlson Date: Sun May 25 23:44:14 2008 -0700 tg3: Pure code movement. This patch moves some functions towards the top of the file to avoid unnecessary function prototypes. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 0261ac5f2f43a1906cfacfb19d62ed643d162cbe Author: Ingo Molnar Date: Thu May 29 09:31:50 2008 +0200 xen: fix "xen: implement save/restore" -tip testing found the following build breakage: drivers/built-in.o: In function `xen_suspend': manage.c:(.text+0x4390f): undefined reference to `xen_console_resume' with this config: http://redhat.com/~mingo/misc/config-Thu_May_29_09_23_16_CEST_2008.bad i have bisected it down to: | commit 0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58 | Author: Jeremy Fitzhardinge | Date: Mon May 26 23:31:27 2008 +0100 | | xen: implement save/restore the problem is that drivers/xen/manage.c is built unconditionally if CONFIG_XEN is enabled and makes use of xen_suspend(), but drivers/char/hvc_xen.c, where the xen_suspend() method is implemented, is only build if CONFIG_HVC_XEN=y as well. i have solved this by providing a NOP implementation for xen_suspend() in the !CONFIG_HVC_XEN case. Signed-off-by: Ingo Molnar commit b7482f52789266e2548be5d0f6420c9fc12428d8 Author: Philipp Zabel Date: Wed May 28 17:58:06 2008 +0100 [ALSA] ASoC: Add UDA1380 driver The UDA1380 codec is used by the HTC Magician and a number of Samsung reference boards. This driver has had a long out of tree history, having originally been written by Giorgio Padrin and converted to ASoC by Richard Purdie. Since conversion to ASoC most of the work on the driver has been done by Philipp Zabel with some review and updates for new APIs by Liam Girdwood and Mark Brown. Signed-off-by: Richard Purdie Signed-off-by: Philipp Zabel Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit e13ac2e9b18bde51cf32c69c2209df25791ab3e5 Author: Mark Brown Date: Wed May 28 17:58:05 2008 +0100 [ALSA] ASoC: Add SOC_DOUBLE_S8_TLV control type The SOC_DOUBLE_S8_TLV control type was originally implemented in the UDA1380 driver by Philipp Zabel and was moved into the core by me. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 19ec673ced067316b9732bc6d1c4ff4052e5f795 Author: Cyrill Gorcunov Date: Wed May 28 23:00:47 2008 +0400 x86: nmi - fix incorrect NMI watchdog used by default The commit commit 4b82b277707a39b97271439c475f186f63ec4692 Author: Cyrill Gorcunov Date: Sat May 24 19:36:35 2008 +0400 set nmi_watchdog to NMI_IO_APIC as by default. This causes hangs on some machines with buggy watchdogs. Fix it - i.e. restore old behaviour. Thanks to Sitsofe Wheeler and Adrian Bunk for catching the problem and Maciej W. Rozycki for explanation what is going on there. Signed-off-by: Cyrill Gorcunov CC: Maciej W. Rozycki Signed-off-by: Ingo Molnar commit c7d624d1ee7b77622305bd638755394e4d3f2d2f Author: Dave Jones Date: Wed May 28 12:57:13 2008 -0400 x86: Fix up silly i1586 boot message. Trying to boot a 64-bit kernel on a 32bit Pentium 4 gets you an amusing message along the lines of. "you need an x86-64, but you only have an i1586" due to the P4 being family F. Munge it to be 686. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit 4d58bbcc89e267d52b4df572acbf209a60a8a497 Author: Isaku Yamahata Date: Wed May 28 09:41:58 2008 -0700 [IA64] pv_ops: move some functions in ivt.S to avoid lack of space. move interrupt, page_fault, non_syscall, dispatch_unaligned_handler and dispatch_to_fault_handler to avoid lack of instructin space. The change set 4dcc29e1574d88f4465ba865ed82800032f76418 bloated SAVE_MIN_WITH_COVER, SAVE_MIN_WITH_COVER_R19 so that it bloated the functions which uses those macros. In the native case, only dispatch_illegal_op_fault had to be moved. When paravirtualized case the all functions which use the macros need to be moved to avoid the lack of space. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 3c65e8743bf8b5cf0f90e8d767bf1d8b50c14c76 Author: Li Zefan Date: Wed May 28 08:58:56 2008 -0500 JFS: diAlloc() should return -EIO rather than EIO The comment above the function says one of its return value is -EIO, and also the caller of diAlloc() checks for -EIO: struct inode *ialloc(struct inode *parent, umode_t mode) { ... rc = diAlloc(parent, S_ISDIR(mode), inode); if (rc) { jfs_warn("ialloc: diAlloc returned %d!", rc); if (rc == -EIO) make_bad_inode(inode); ... Signed-off-by: Li Zefan Signed-off-by: Dave Kleikamp commit a93bbaa77ea61c6bad684263a65f812b31bf9791 Author: Takashi Iwai Date: Tue May 27 17:59:24 2008 +0200 [ALSA] Improve the slots option handling Fix and improve the slots option handling. The sound core tries to find the slot with the given module name first and assign if it's still available. If all pre-given slots are unavailable, then try to find another free slot. Also, when a module name begins with '!', it means the negative match: the slot will be given for any modules but that one. Signed-off-by: Takashi Iwai commit b20aeccd6ad42ccb6be1b3d1d32618ddd2b31bf0 Author: Ingo Molnar Date: Wed May 28 14:24:38 2008 +0200 xen: fix early bootup crash on native hardware -tip tree auto-testing found the following early bootup hang: --------------> get_memcfg_from_srat: assigning address to rsdp RSD PTR v0 [Nvidia] BUG: Int 14: CR2 ffd00040 EDI 8092fbfe ESI ffd00040 EBP 80b0aee8 ESP 80b0aed0 EBX 000f76f0 EDX 0000000e ECX 00000003 EAX ffd00040 err 00000000 EIP 802c055a CS 00000060 flg 00010006 Stack: ffd00040 80bc78d0 80b0af6c 80b1dbfe 8093d8ba 00000008 80b42810 80b4ddb4 80b42842 00000000 80b0af1c 801079c8 808e724e 00000000 80b42871 802c0531 00000100 00000000 0003fff0 80b0af40 80129999 00040100 00040100 00000000 Pid: 0, comm: swapper Not tainted 2.6.26-rc4-sched-devel.git #570 [<802c055a>] ? strncmp+0x11/0x25 [<80b1dbfe>] ? get_memcfg_from_srat+0xb4/0x568 [<801079c8>] ? mcount_call+0x5/0x9 [<802c0531>] ? strcmp+0xa/0x22 [<80129999>] ? printk+0x38/0x3a [<80129999>] ? printk+0x38/0x3a [<8011b122>] ? memory_present+0x66/0x6f [<80b216b4>] ? setup_memory+0x13/0x40c [<80b16b47>] ? propagate_e820_map+0x80/0x97 [<80b1622a>] ? setup_arch+0x248/0x477 [<80129999>] ? printk+0x38/0x3a [<80b11759>] ? start_kernel+0x6e/0x2eb [<80b110fc>] ? i386_start_kernel+0xeb/0xf2 ======================= <------ with this config: http://redhat.com/~mingo/misc/config-Wed_May_28_01_33_33_CEST_2008.bad The thing is, the crash makes little sense at first sight. We crash on a benign-looking printk. The code around it got changed in -tip but checking those topic branches individually did not reproduce the bug. Bisection led to this commit: | d5edbc1f75420935b1ec7e65df10c8f81cea82de is first bad commit | commit d5edbc1f75420935b1ec7e65df10c8f81cea82de | Author: Jeremy Fitzhardinge | Date: Mon May 26 23:31:22 2008 +0100 | | xen: add p2m mfn_list_list Which is somewhat surprising, as on native hardware Xen client side should have little to no side-effects. After some head scratching, it turns out the following happened: randconfig enabled the following Xen options: CONFIG_XEN=y CONFIG_XEN_MAX_DOMAIN_MEMORY=8 # CONFIG_XEN_BLKDEV_FRONTEND is not set # CONFIG_XEN_NETDEV_FRONTEND is not set CONFIG_HVC_XEN=y # CONFIG_XEN_BALLOON is not set which activated this piece of code in arch/x86/xen/mmu.c: > @@ -69,6 +69,13 @@ > __attribute__((section(".data.page_aligned"))) = > { [ 0 ... TOP_ENTRIES - 1] = &p2m_missing[0] }; > > +/* Arrays of p2m arrays expressed in mfns used for save/restore */ > +static unsigned long p2m_top_mfn[TOP_ENTRIES] > + __attribute__((section(".bss.page_aligned"))); > + > +static unsigned long p2m_top_mfn_list[TOP_ENTRIES / P2M_ENTRIES_PER_PAGE] > + __attribute__((section(".bss.page_aligned"))); The problem is, you must only put variables into .bss.page_aligned that have a _size_ that is _exactly_ page aligned. In this case the size of p2m_top_mfn_list is not page aligned: 80b8d000 b p2m_top_mfn 80b8f000 b p2m_top_mfn_list 80b8f008 b softirq_stack 80b97008 b hardirq_stack 80b9f008 b bm_pte So all subsequent variables get unaligned which, depending on luck, breaks the kernel in various funny ways. In this case what killed the kernel first was the misaligned bootmap pte page, resulting in that creative crash above. Anyway, this was a fun bug to track down :-) I think the moral is that .bss.page_aligned is a dangerous construct in its current form, and the symptoms of breakage are very non-trivial, so i think we need build-time checks to make sure all symbols in .bss.page_aligned are truly page aligned. The Xen fix below gets the kernel booting again. Signed-off-by: Ingo Molnar commit b1829d2705daa7cb72eb1e08bdc8b7e9fad34266 Author: Ingo Molnar Date: Wed May 28 01:22:08 2008 +0200 ftrace: fix merge Signed-off-by: Ingo Molnar commit 8a2f2ccc7a6bfbdb8b484198e190d6805d979700 Author: Isaku Yamahata Date: Tue May 27 15:16:47 2008 -0700 [IA64] pvops: documentation on ia64/pv_ops Documentation on ia64/pv_ops which describes its strategy and implementation. Signed-off-by: Isaku Yamahata Cc: Gerald Pfeifer Signed-off-by: Tony Luck commit 00d21d82b8a9e290286e09d8eedc20bfc33b0eee Author: Isaku Yamahata Date: Mon May 19 22:13:44 2008 +0900 [IA64] pvops: add to hooks, pv_time_ops, for steal time accounting. Introduce pv_time_ops which adds hook to steal time accounting. On virtualized environment, cpus are shared by many guests and steal time is the time which is used for other guests. On virtualized environtment, streal time should be accounted. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 85cbc503787d577c215f9540c57294e1ec799144 Author: Isaku Yamahata Date: Mon May 19 22:13:43 2008 +0900 [IA64] pvops: add hooks, pv_irq_ops, to paravirtualized irq related operations. introduce pv_irq_ops which adds hooks to paravirtualize irq related operations. On virtualized environment, interruption may be replaced by something virtualization friendly. So the irq related operation also may need paravirtualization. This patch adds necessary hooks to paravirtualize irq related operations. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 33b39e84209b0308b572dce017df7ee9b63f086c Author: Isaku Yamahata Date: Mon May 19 22:13:42 2008 +0900 [IA64] pvops: add hooks, pv_iosapic_ops, to paravirtualize iosapic. add hooks to paravirtualize iosapic which is a real hardware resource. On virtualized environment it may be replaced something virtualized friendly. Define pv_iosapic_ops and add the hooks. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit e51835d58a5abdf82211f36f500f666ca7ef9aee Author: Isaku Yamahata Date: Mon May 19 22:13:41 2008 +0900 [IA64] pvops: define initialization hooks, pv_init_ops, for paravirtualized environment. define pv_init_ops hooks which represents various initialization hooks for paravirtualized environment. and add hooks. Signed-off-by: Alex Williamson Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 213060a4d6991a95d0b9344406d195be3464accf Author: Isaku Yamahata Date: Mon May 19 22:13:40 2008 +0900 [IA64] pvops: paravirtualize NR_IRQS Make NR_IRQ overridable by each pv instances. Pv instance may need each own number of irqs so that NR_IRQS should be the maximum number of nr_irqs each pv instances need. Cc: Jes Sorensen Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 4df8d22bbbb16ccfa4e10cc068135183c9e5e006 Author: Isaku Yamahata Date: Tue May 27 15:08:01 2008 -0700 [IA64] pvops: paravirtualize entry.S paravirtualize ia64_swtich_to, ia64_leave_syscall and ia64_leave_kernel. They include sensitive or performance critical privileged instructions so that they need paravirtualization. To paravirtualize them by single source and multi compile they are converted into indirect jump. And define each pv instances. Cc: Keith Owens Cc: "Dong, Eddie" Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 498c5170472ff0c03a29d22dbd33225a0be038f4 Author: Isaku Yamahata Date: Mon May 19 22:13:38 2008 +0900 [IA64] pvops: paravirtualize ivt.S paravirtualize ivt.S which implements fault handler in hand written assembly code. They includes sensitive or performance critical privileged instructions. So they need paravirtualization. Cc: Keith Owens Cc: tgingold@free.fr Cc: Akio Takebe Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 02e32e36f42f8ea7ee6060d02f2d69ad5bad6d50 Author: Isaku Yamahata Date: Mon May 19 22:13:37 2008 +0900 [IA64] pvops: paravirtualize minstate.h. paravirtualize minstate.h which are hand written assembly code. They include sensitive or performance critical privileged instructions. So that they are appropriate for paravirtualization. Cc: Keith Owens Cc: Akio Takebe Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit e92e8c68a61ae7d845c1be0a58a081e7756b0735 Author: Isaku Yamahata Date: Mon May 19 22:13:36 2008 +0900 [IA64] pvops: define paravirtualized instructions for native. pv_cpu_asm_ops: define paravirtualized introduce for native execution environment. Cc: Keith Owens Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 1e39d80a5957eab9dfdd7490d5c5cee272c34aa7 Author: Isaku Yamahata Date: Mon May 19 22:13:35 2008 +0900 [IA64] pvops: preparation for paravirtulization of hand written assembly code. Preparation for paravirtualization of hand written assembly code. They are paravirtualized by single source code and compiled multi times. To tell those files for target (including native), add one defines. Cc: "Dong, Eddie" Cc: Keith Owens Cc: tgingold@free.fr Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 1ff730b52f0c3e4e3846c3ff345c5526b2633ba9 Author: Isaku Yamahata Date: Mon May 19 22:13:34 2008 +0900 [IA64] pvops: introduce pv_cpu_ops to paravirtualize privileged instructions. introduce pv_cpu_ops to paravirtualize privleged instructions which are defined by ia64 intrinsics. make them indirect C function calls by introducing function tables, pv_cpu_ops. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 3e0879deb700f322f6c81ab34f056fc72d15ec02 Author: Isaku Yamahata Date: Mon May 19 22:13:33 2008 +0900 [IA64] pvops: add an early setup hook for pv_ops. This patch adds a setup hook in the very early boot sequence before start_kernel() to initialize paravirtualization stuff. The hook will be set by each pv loader code or by using multi entry point. Signed-off-by: Qing He Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 90aeb169c03a96e22674741f08054023c33d595b Author: Isaku Yamahata Date: Mon May 19 22:13:32 2008 +0900 [IA64] pvops: introduce pv_info which describes some random info. introduce pv_info which describes some randome info about underlying execution environment. Cc: Jes Sorensen Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 72cb4256c7574e1c2c1350fa92eecd7cef9e4772 Author: Isaku Yamahata Date: Mon May 19 22:13:31 2008 +0900 [IA64] pvops: preparation: introduce ia64_get_psr_i() to make kernel paravirtualization friendly. __local_irq_save() and local_save_flags() are used to mask interruptions. They read all psr bits that requres whole bit emulation. On the other hand, reading only psr.i, the single bit, can be virtualized cheaply. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 0e1a77ccdbc4ca59ccaf84168a0c3c1df4fadfc0 Author: Isaku Yamahata Date: Mon May 19 22:13:30 2008 +0900 [IA64] pvops: preparation: introduce ia64_set_rr0_to_rr4() to make kernel paravirtualization friendly. make kernel paravirtualization friendly by introducing ia64_set_rr0_to_rr4(). ia64/Xen will replace setting rr[0-4] with single hypercall later. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 8311d21c35092aa4c4a12e0140e1ef3443489d77 Author: Isaku Yamahata Date: Mon May 19 22:13:29 2008 +0900 [IA64] pvops: preparation: move the constants, LOAD_OFFSET, to a header file. Move the LOAD_OFFSET definition from vmlinux.lds.S into system.h. On paravirtualized environments, it is necessary to detect the execution environment. One of the solutions is the multi entry point. The multi entry point allows a boot loader to start the kernel execution from the entry point which is different from the ELF entry point. The non standard entry point will defined as the specialized elf note which contains the LMA of the entry point symbol. The constant, LOAD_OFFSET, is necessary to calculate the symbol's LMA. Move the definition into the public header file to make it available to the multi entry point support. Cc: "He, Qing" Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 444933c6c6e82362ba8e0da26f41a53c433d11ef Author: Isaku Yamahata Date: Mon May 19 22:13:28 2008 +0900 [IA64] pvops: preparation: remove extern in irq_ia64.c remove extern declaration of handle_IPI() in irq_ia64.c. Instead, declare it in asm-ia64/smp.h. Later handle_IPI() will be referenced from another file. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit dd564d0cf08686cf0cc332bf9d48cba5b26a8171 Author: Pavel Machek Date: Tue May 27 18:03:56 2008 +0200 x86: aperture_64.c: cleanups Some small cleanups for aperture_64.c; they should not really change any code. Signed-off-by: Pavel Machek Cc: Dave Jones Cc: Andi Kleen Signed-off-by: Thomas Gleixner commit f9423e7a94eb2dfef3503dde76d17eaf342ab962 Author: Kailang Yang Date: Tue May 27 12:32:25 2008 +0200 [ALSA] hda - Fix EAPD and COEF setups for realtek codecs Fixed EAPD and COEF setups for Realtek ALC662/663, 660-VD and 888 codecs. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 2f8932863d243a744ccd3dc005490ad9d2eae478 Author: Kailang Yang Date: Tue May 27 12:14:47 2008 +0200 [ALSA] hda - show correct codec chip in PCM stream names Show more exact codec chip name in the PCM stream name strings. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 531240ff520406c793a110e1c0f187d931f47d66 Author: Kailang Yang Date: Tue May 27 12:10:25 2008 +0200 [ALSA] hda - Fix vref pincap check in alc882 auto-detection Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 6dda9f4a95905f2b38e79e3737da5e25397e6acb Author: Kailang Yang Date: Tue May 27 12:05:31 2008 +0200 [ALSA] hda - Add ALC663 support Added the support of ALC663 codec, including specific models for ASUS M51VA, ASUS G71V, ASUS H13 and ASUS G50V. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit abbc9d1b25637b1948a4718fa8f7b257233136bc Author: Kailang Yang Date: Tue May 27 11:48:01 2008 +0200 [ALSA] hda - Add ICH9 controller support (8086:2911) Added the missing PCI ID for ICH9 controller (8086:2911) Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit f269002e61446ed3410d8ca5f06ebca1e2760cb5 Author: Kailang Yang Date: Tue May 27 11:44:55 2008 +0200 [ALSA] hda - Add support of Teradici controller Add the new PCI ID 0x6549 0x1200 Teradici controller. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 142054a389ebf7972b4eee822ad7c55ff852b649 Author: Mike Rapoport Date: Mon May 26 12:59:16 2008 +0300 [ALSA] Add EM-X270 ASoC driver This patch adds ASoC support for EM-X270 machine. Signed-off-by: Mike Rapoport Signed-off-by: Takashi Iwai commit 62cf872a8eec1f11aacbec0ac3fe3698bfa9b403 Author: Takashi Iwai Date: Tue May 20 12:15:15 2008 +0200 [ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE to represent its meaning more better. This config isn't provided only for the detection but for more verbose debug prints in general. Signed-off-by: Takashi Iwai commit 6938d6b2a90d5e2ffaef037852652a1333502519 Author: Takashi Iwai Date: Fri May 23 16:11:26 2008 +0200 [ALSA] Fix AC97 kconfig items The kconfig items related with AC97-powersave must be outside the CONFIG_SND_PCI range. And it'd be better together with CONFIG_SND_AC97. Signed-off-by: Takashi Iwai commit 89fe5117928b2c1272c9376362131ded561c91ad Author: Takashi Iwai Date: Fri May 23 16:10:37 2008 +0200 sound: Convert to menuconfig Convert menu in sound Kconfig files to menuconfig and if. Signed-off-by: Takashi Iwai commit 06b5fb97cec1a3ca61d10164118b00fe98a6a866 Author: Adrian Bunk Date: Tue May 20 00:59:35 2008 +0300 sound: sound/oss/: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit a72e72469a166c825196c3f20dabd352877fec2b Author: Adrian Bunk Date: Tue May 20 01:06:55 2008 +0300 [ALSA] remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai commit 62b126315369d52e40ad604e1798ff5b6265287e Author: Chris Mennie Date: Mon May 19 16:21:33 2008 +0200 [ALSA] usb-audio - Support for Roland SonicCell sound module Added entry into usbquirks.h to recognize Roland SonicCell sound module by mostly duplicating the entry for the Roland SH-201. USB MIDI works just fine, though the USB audio is a little unreliable (but still works well enough). Signed-off-by: Chris Mennie Signed-off-by: Takashi Iwai commit 3945e2c9abf8e00c2edc4aa29215ddfad1cd8cf7 Author: Yinghai Lu Date: Sun May 25 10:00:09 2008 -0700 x86: extend e820 ealy_res support 32bit - fix #2 remove extra -1 in reseve_early calling panic if can not find space for new RAMDISK Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 359cdd3f866b6219a6729e313faf2221397f3278 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:28 2008 +0100 xen: maintain clock offset over save/restore Hook into the device model to make sure that timekeeping's resume handler is called. This deals with our clocksource's non-monotonicity over the save/restore. Explicitly call clock_has_changed() to make sure that all the timers get retriggered properly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:27 2008 +0100 xen: implement save/restore This patch implements Xen save/restore and migration. Saving is triggered via xenbus, which is polled in drivers/xen/manage.c. When a suspend request comes in, the kernel prepares itself for saving by: 1 - Freeze all processes. This is primarily to prevent any partially-completed pagetable updates from confusing the suspend process. If CONFIG_PREEMPT isn't defined, then this isn't necessary. 2 - Suspend xenbus and other devices 3 - Stop_machine, to make sure all the other vcpus are quiescent. The Xen tools require the domain to run its save off vcpu0. 4 - Within the stop_machine state, it pins any unpinned pgds (under construction or destruction), performs canonicalizes various other pieces of state (mostly converting mfns to pfns), and finally 5 - Suspend the domain Restore reverses the steps used to save the domain, ending when all the frozen processes are thawed. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 7d88d32a4670af583c896e5ecd3929b78538ca62 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:26 2008 +0100 xenbus: rebind irq on restore When restoring, rebind the existing xenbus irq to the new xenbus event channel. (It turns out in practice that this is always the same, and is never updated on restore. That's a bug, but Xeno-linux has been like this for a long time, so it can't really be fixed.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 6b9b732d0e396a3f1a95977162a8624aafce38a1 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:25 2008 +0100 xen-console: add save/restore Add code to: 1. Deal with the console page being canonicalized. During save, the console's mfn in the start_info structure is canonicalized to a pfn. In order to deal with that, we always use a copy of the pfn and indirect off that all the time. However, we fall back to using the mfn if the pfn hasn't been initialized yet. 2. Restore the console event channel, and rebind it to the existing irq. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0f2287ad7c61f10b2a22a06e2a66cdbbbfc44ad0 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:24 2008 +0100 xen: fix unbind_from_irq() Rearrange the tests in unbind_from_irq() so that we can still unbind an irq even if the underlying event channel is bad. This allows a device driver to shuffle its irqs on save/restore before the underlying event channels have been fixed up. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit eb1e305f4ef201e549ffd475b7dcbcd4ec36d7dc Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:23 2008 +0100 xen: add rebind_evtchn_irq Add rebind_evtchn_irq(), which will rebind an device driver's existing irq to a new event channel on restore. Since the new event channel will be masked and bound to vcpu0, we update the state accordingly and unmask the irq once everything is set up. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit d5edbc1f75420935b1ec7e65df10c8f81cea82de Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:22 2008 +0100 xen: add p2m mfn_list_list When saving a domain, the Xen tools need to remap all our mfns to portable pfns. In order to remap our p2m table, it needs to know where all its pages are, so maintain the references to the p2m table for it to use. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a0d695c821544947342a2d372ec4108bc813b979 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:21 2008 +0100 xen: make dummy_shared_info non-static Rename dummy_shared_info to xen_dummy_shared_info and make it non-static, in anticipation of users outside of enlighten.c Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit cf0923ea295ba08ae656ef04164a43cb6553ba99 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:20 2008 +0100 xen: efficiently support a holey p2m table When using sparsemem and memory hotplug, the kernel's pseudo-physical address space can be discontigious. Previously this was dealt with by having the upper parts of the radix tree stubbed off. Unfortunately, this is incompatible with save/restore, which requires a complete p2m table. The solution is to have a special distinguished all-invalid p2m leaf page, which we can point all the hole areas at. This allows the tools to see a complete p2m table, but it only costs a page for all memory holes. It also simplifies the code since it removes a few special cases. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 8006ec3e911f93d702e1d4a4e387e244ab434924 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:19 2008 +0100 xen: add configurable max domain size Add a config option to set the max size of a Xen domain. This is used to scale the size of the physical-to-machine array; it ends up using around 1 page/GByte, so there's no reason to be very restrictive. For a 32-bit guest, the default value of 8GB is probably sufficient; there's not much point in giving a 32-bit machine much more memory than that. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit d451bb7aa852627bdf7be7937dc3d9d9f261b235 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:18 2008 +0100 xen: make phys_to_machine structure dynamic We now support the use of memory hotplug, so the physical to machine page mapping structure must be dynamic. This is implemented as a two-level radix tree structure, which allows us to efficiently incrementally allocate memory for the p2m table as new pages are added. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 955d6f1778da5a9795f2dfb07f760006f194609a Author: Adrian Bunk Date: Mon May 26 23:31:17 2008 +0100 xen: drivers/xen/balloon.c: make a function static Make the needlessly global balloon_set_new_target() static. Signed-off-by: Adrian Bunk Acked-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 38bb5ab4179572f4d24d3ca7188172a31ca51a69 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:16 2008 +0100 xen: count resched interrupts properly Make sure resched interrupts appear in /proc/interrupts in the proper place. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit bfdab126cfa6fe3c2ddb8b6007a38202b510b6c1 Author: Isaku Yamahata Date: Mon May 26 23:31:15 2008 +0100 xen: add missing definitions in include/xen/interface/memory.h which ia64/xen needs Add xen handles realted definitions for xen memory which ia64/xen needs. Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical address (guest physical address) so that it is required to convert guest kernel virtual address into pseudo physical address. The xen guest handle represents such arguments. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a90971ebddc81330f59203dee9803512aa4e2ef6 Author: Isaku Yamahata Date: Mon May 26 23:31:14 2008 +0100 xen: compilation fix to balloon driver for ia64 support fix compilation error of ballon driver on ia64. extent_start member is pointer argument. On x86 pointer argument for xen hypercall is passed as virtual address. On the other hand, ia64 and ppc, pointer argument is passed in pseudo physical address. (guest physicall address.) So they must be passed as handle and convert right before issuing hypercall. CC drivers/xen/balloon.o linux-2.6-x86/drivers/xen/balloon.c: In function 'increase_reservation': linux-2.6-x86/drivers/xen/balloon.c:228: error: incompatible types in assignment linux-2.6-x86/drivers/xen/balloon.c: In function 'decrease_reservation': linux-2.6-x86/drivers/xen/balloon.c:324: error: incompatible types in assignment linux-2.6-x86/drivers/xen/balloon.c: In function 'dealloc_pte_fn': linux-2.6-x86/drivers/xen/balloon.c:486: error: incompatible types in assignment linux-2.6-x86/drivers/xen/balloon.c: In function 'alloc_empty_pages_and_pagevec': linux-2.6-x86/drivers/xen/balloon.c:522: error: incompatible types in assignment make[2]: *** [drivers/xen/balloon.o] Error 1 Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit ec9b2065d4d3b797604c09a569083dd9ff951b1b Author: Isaku Yamahata Date: Mon May 26 23:31:13 2008 +0100 xen: Move manage.c to drivers/xen for ia64/xen support move arch/x86/xen/manage.c under drivers/xen/to share codes with x86 and ia64. ia64/xen also uses manage.c Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 83abc70a4c6e306f4c1672e25884322f797e4fcb Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:12 2008 +0100 xen: make earlyprintk=xen work again For some perverse reason, if you call add_preferred_console() it prevents setup_early_printk() from successfully enabling the boot console - unless you make it a preferred console too... Also, make xenboot console output distinct from normal console output, since it gets repeated when the console handover happens, and the duplicated output is confusing without disambiguation. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Cc: Markus Armbruster Cc: Gerd Hoffmann commit e4dcff1f6e7582f76c2c9990b1d9111bbc8e26ef Author: Markus Armbruster Date: Mon May 26 23:31:11 2008 +0100 xen pvfb: Dynamic mode support (screen resizing) The pvfb backend indicates dynamic mode support by creating node feature_resize with a non-zero value in its xenstore directory. xen-fbfront sends a resize notification event on mode change. Fully backwards compatible both ways. Framebuffer size and initial resolution can be controlled through kernel parameter xen_fbfront.video. The backend enforces a separate size limit, which it advertises in node videoram in its xenstore directory. xen-kbdfront gets the maximum screen resolution from nodes width and height in the backend's xenstore directory instead of hardcoding it. Additional goodie: support for larger framebuffers (512M on a 64-bit system with 4K pages). Changing the number of bits per pixels dynamically is not supported, yet. Ported from http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/92f7b3144f41 http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/bfc040135633 Signed-off-by: Pat Campbell Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit f4ad1ebd7a0fae2782ef9f76c0b94b536742c3e8 Author: Markus Armbruster Date: Mon May 26 23:31:10 2008 +0100 xen pvfb: Zero unused bytes in events sent to backend This isn't a security flaw (the backend can see all our memory anyway). But it's the right thing to do all the same. Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 1e892c959da42278e60b21f5ecfd6fba0efff313 Author: Markus Armbruster Date: Mon May 26 23:31:09 2008 +0100 xen pvfb: Module aliases to support module autoloading These are mostly for completeness and consistency with the other frontends, as PVFB is typically compiled in rather than a module. Derived from http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/5e294e29a43e While there, add module descriptions. Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 6ba0e7b36c7cc1745b3cbeda244d14edae3ad058 Author: Markus Armbruster Date: Mon May 26 23:31:08 2008 +0100 xen pvfb: Pointer z-axis (mouse wheel) support Add z-axis motion to pointer events. Backward compatible, because there's space for the z-axis in union xenkbd_in_event, and old backends zero it. Derived from http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/57dfe0098000 http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/1edfea26a2a9 http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/c3ff0b26f664 Signed-off-by: Pat Campbell Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 9e124fe16ff24746d6de5a2ad685266d7bce0e08 Author: Markus Armbruster Date: Mon May 26 23:31:07 2008 +0100 xen: Enable console tty by default in domU if it's not a dummy Without console= arguments on the kernel command line, the first console to register becomes enabled and the preferred console (the one behind /dev/console). This is normally tty (assuming CONFIG_VT_CONSOLE is enabled, which it commonly is). This is okay as long tty is a useful console. But unless we have the PV framebuffer, and it is enabled for this domain, tty0 in domU is merely a dummy. In that case, we want the preferred console to be the Xen console hvc0, and we want it without having to fiddle with the kernel command line. Commit b8c2d3dfbc117dff26058fbac316b8acfc2cb5f7 did that for us. Since we now have the PV framebuffer, we want to enable and prefer tty again, but only when PVFB is enabled. But even then we still want to enable the Xen console as well. Problem: when tty registers, we can't yet know whether the PVFB is enabled. By the time we can know (xenstore is up), the console setup game is over. Solution: enable console tty by default, but keep hvc as the preferred console. Change the preferred console to tty when PVFB probes successfully, unless we've been given console kernel parameters. Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a15af1c9ea2750a9ff01e51615c45950bad8221b Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:06 2008 +0100 x86/paravirt: add pte_flags to just get pte flags Add pte_flags() to extract the flags from a pte. This is a special case of pte_val() which is only guaranteed to return the pte's flags correctly; the page number may be corrupted or missing. The intent is to allow paravirt implementations to return pte flags without having to do any translation of the page number (most notably, Xen). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 239d1fc04ed0b58d638096b12a7f6d50269d30c9 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:05 2008 +0100 xen: don't worry about preempt during xen_irq_enable() When enabling interrupts, we don't need to worry about preemption, because we either enter with interrupts disabled - so no preemption - or the caller is confused and is re-enabling interrupts on some indeterminate processor. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 2956a3511c8c5dccb1d4739ead17c7c3c23a24b7 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:04 2008 +0100 xen: allow some cr4 updates The guest can legitimately change things like cr4.OSFXSR and OSXMMEXCPT, so let it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 349c709f42453707f74bece0d9d35ee5b3842893 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:02 2008 +0100 xen: use new sched_op Use the new sched_op hypercall, mainly because xenner doesn't support the old one. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 7b1333aa4cb546ddeb9c05098a53d9a777623a05 Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:01 2008 +0100 xen: use hypercall rather than clts Xen will trap and emulate clts, but its better to use a hypercall. Also, xenner doesn't handle clts. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0922abdc3982ae54cbe1b24ac5aa91a260eca1bb Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:00 2008 +0100 xen: make early console also write to debug console When using "earlyprintk=xen", also write the console output to the raw debug console. This will appear on dom0's console if the hypervisor has been compiled to allow it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 0acf10d8fbd52926217d3933d196b33fe2468f18 Author: Jeremy Fitzhardinge Date: Mon May 26 23:30:59 2008 +0100 xen: add raw console write functions for debug Add a couple of functions which can write directly to the Xen console for debugging. This output ends up on the host's dom0 console (assuming it allows the domain to write there). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 4e09e21ccb0dfe7ee8d5641192e0072e83bd916b Author: Jeremy Fitzhardinge Date: Mon May 26 23:31:03 2008 +0100 x86: use symbolic constant in stts() Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 4226ab93d8ae3fd895abe45879fe34d489a98718 Author: Jeremy Fitzhardinge Date: Mon May 26 23:30:58 2008 +0100 x86: use pteval_t for _PAGE_FOO Rather than making _PAGE_* constants signed, and then relying on sign-extension to make sure that masks derived from them are wide enough, just explicitly type them pteval_t. This guarantees that they and any derived values are the right size for the current pte format. The reliance on sign extension is fragile, and invokes some very subtle corners of the C type system. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit 900cfa46191a7d87cf1891924cb90499287fd235 Author: Carlos R. Mafra Date: Thu May 22 19:25:11 2008 -0300 hrtimer: Remove unused variables in ktime_divns() The variables dns and inc are not used, remove them. Signed-off-by: Carlos R. Mafra Cc: tglx@linutronix.de Signed-off-by: Thomas Gleixner commit d031476408ae0f5196e3c579f519dfdefb099b67 Author: Jeremy Fitzhardinge Date: Fri May 23 14:41:19 2008 +0100 hrtimer: remove warning in hres_timers_resume hres_timers_resume() warns if there appears to be more than one cpu online. This warning makes sense when the suspend/resume mechanism offlines all cpus but one during the suspend/resume process. However, Xen suspend does not need to offline the other cpus; it merely keeps them tied up in stop_machine() while the virtual machine is suspended. The warning hres_timers_resume issues is therefore spurious. Signed-off-by: Jeremy Fitzhardinge Cc: xen-devel Cc: "Rafael J. Wysocki" Signed-off-by: Thomas Gleixner commit 492a7ea5bcf263ee02a9eb6a3ab0222a1946fade Author: Abhishek Sagar Date: Sun May 25 00:10:04 2008 +0530 ftrace: fix updating of ftrace_update_cnt Hi Ingo/Steven, Ftrace currently maintains an update count which includes false updates, i.e, updates which failed. If anything, such failures should be tracked by some separate variable, but this patch provides a minimal fix. Signed-off-by: Abhishek Sagar Cc: rostedt@goodmis.org Signed-off-by: Thomas Gleixner commit ffdaa3582b6b39d625d585d07e329ffdc925e971 Author: Abhishek Sagar Date: Sat May 24 23:45:02 2008 +0530 ftrace: safe traversal of ftrace_hash hlist Hi Steven, I noticed that concurrent instances of ftrace_record_ip() have a race between ftrace_hash list traversal during ftrace_ip_in_hash() (before acquiring ftrace_shutdown_lock) and ftrace_add_hash(). If it's so then this should fix it. Signed-off-by: Abhishek Sagar Cc: rostedt@goodmis.org Signed-off-by: Thomas Gleixner commit ccbfac2923c9febaeaf07a50054027a92b502718 Author: Steven Rostedt Date: Thu May 22 14:31:07 2008 -0400 ftrace: powerpc clean ups This patch cleans up the ftrace code in PowerPC based on the comments from Michael Ellerman. Signed-off-by: Steven Rostedt Cc: Michael Ellerman Cc: proski@gnu.org Cc: a.p.zijlstra@chello.nl Cc: Pekka Paalanen Cc: Steven Rostedt Cc: linuxppc-dev@ozlabs.org Cc: Soeren Sandmann Pedersen Cc: paulus@samba.org Signed-off-by: Thomas Gleixner commit 41bc8144d02028133bcd1d545023c6f49e8b2411 Author: Steven Rostedt Date: Thu May 22 11:49:22 2008 -0400 ftrace: fix up cmdline recording The new work with converting the trace hooks over to markers broke the command line recording of ftrace. This patch fixes it again. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Signed-off-by: Thomas Gleixner commit 41c52c0db9607e59f90da7da5309489fa06e887f Author: Steven Rostedt Date: Thu May 22 11:46:33 2008 -0400 ftrace: set_ftrace_notrace feature While debugging latencies in the RT kernel, I found that it would be nice to be able to filter away functions from the trace than just to filter on functions. I added a new interface to the debugfs tracing directory called set_ftrace_notrace When dynamic frace is enabled, this lets you filter away functions that will not be recorded in the trace. It is similar to adding 'notrace' to those functions but by doing it without recompiling the kernel. Here's how set_ftrace_filter and set_ftrace_notrace interact. Remember, if set_ftrace_filter is set, it removes all functions from the trace execpt for those listed in the set_ftrace_filter. set_ftrace_notrace will prevent those functions from being traced. If you were to set one function in both set_ftrace_filter and set_ftrace_notrace and that function was the same, then you would end up with an empty trace. the set of functions to trace is: set_ftrace_filter == empty then all functions not in set_ftrace_notrace else set of the set_ftrace_filter and not in set of set_ftrace_notrace. Signed-off-by: Steven Rostedt Signed-off-by: Thomas Gleixner commit da89a7a2536c46e76a1a4351a70a8b8417e5fed1 Author: Steven Rostedt Date: Thu May 22 00:22:20 2008 -0400 ftrace: remove printks from irqsoff trace Printing out new max latencies was fine for the old RT tracer. But for mainline it is a bit messy. We also need to test if the run queue is locked before we can do the print. This means that we may not be printing out latencies if the run queue is locked on another CPU. This produces inconsistencies in the output. This patch simply removes the print altogether. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 7e18d8e701b6798a5df11e0a16881a60ab1018b6 Author: Steven Rostedt Date: Thu May 22 00:22:19 2008 -0400 ftrace: add function tracing to wake up tracing This patch adds function tracing to the functions that are called on the CPU of the task being traced. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 4902f8849da6d2805bd291551a6dfd48f1b4f604 Author: Steven Rostedt Date: Thu May 22 00:22:18 2008 -0400 ftrace: move ftrace_special to trace.c Move the ftrace_special out of sched_switch to trace.c. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 19384c0314342222b18d4c7f09cdce1ca74dfd2a Author: Steven Rostedt Date: Thu May 22 00:22:16 2008 -0400 ftrace: limit use of check pages The check_pages function is called often enough that it can cause problems with trace outputs or even bringing the system to a halt. This patch limits the check_pages to the places that are most likely to have problems. The check is made at the flip between the global array and the max save array, as well as when the size of the buffers changes and the self tests. This patch also removes the BUG_ON from check_pages and replaces it with a WARN_ON and disabling of the tracer. Signed-off-by: Steven Rostedt Cc: pq@iki.fi Cc: proski@gnu.org Cc: sandmann@redhat.com Cc: a.p.zijlstra@chello.nl Signed-off-by: Thomas Gleixner commit 1a20d3ecf5c2a6435df2b756435b1eb1c657d45b Author: H. Peter Anvin Date: Mon May 26 13:36:53 2008 -0700 x86: string_32.h: workaround for broken gcc 4.0 gcc 4.0 fails to allocate %eax for the pattern operand in the rep store instructions used by memset; force it to do so by declaring a register variable. Signed-off-by: H. Peter Anvin commit 54064600981ab0fe977b0e760732c30f4472d693 Author: Alan Cox Date: Sun May 25 23:43:11 2008 -0700 irda: Push BKL down into irda ioctl handlers Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 866988edacebb6f1982266b51fc344c969f481ec Author: Alan Cox Date: Sun May 25 23:41:40 2008 -0700 wanrouter: Push down BKL Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit f3ff8a4d80e8ec867caf60b120c65db21f820e6d Author: Alan Cox Date: Sun May 25 23:40:58 2008 -0700 ppp: push BKL down into the driver I've pushed it down as far as I dare at this point. Someone familiar with the internal PPP semantics can probably push it further. Another step to eliminating the old BKL ioctl usage. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 43154d08d6bb5c69aa0d0e3448fb348b4cd84e91 Merge: 0319437... 289c79a... Author: David S. Miller Date: Sun May 25 23:26:10 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/cpmac.c net/mac80211/mlme.c commit 4b6011bc6ec71660859139ac8d28b7d0badd681c Author: Sven Wegener Date: Sun May 25 21:16:36 2008 +0200 x86: Remove obsolete LOCK macro from include/asm-x86/atomic_64.h Commit d167a518 "[PATCH] x86_64: x86_64 version of the smp alternative patch." has left the LOCK macro in include/asm-x86_64/atomic.h, which is now include/asm-x86/atomic_64.h. Its scope should be local to the file, other architectures don't provide it, I couldn't find an in-tree user of it and allyesconfig, allmodconfig and allnoconfig build fine without it, so this patch removes it. Signed-off-by: Sven Wegener Signed-off-by: Thomas Gleixner commit 1798bc22b2790bf2a956588e6b17c36ef79ceff7 Author: Cyrill Gorcunov Date: Sat May 24 19:36:41 2008 +0400 x86: nmi_32/64.c - merge down nmi_32.c and nmi_64.c to nmi.c Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit fd5cea02de100197a4c26d9e103508cf09b50a82 Author: Cyrill Gorcunov Date: Sat May 24 19:36:40 2008 +0400 x86: nmi_32/64.c - add helper functions to hide arch specific data Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 7c2ba83f9a479eee6f302147767a30f3187fbd4b Author: Cyrill Gorcunov Date: Sat May 24 19:36:39 2008 +0400 x86: nmi_32.c cleanup - use for_each_online_cpu helper Since cpu_online_map is touched (by for_each_online_cpu) at moment when cpu_callin_map is already filled up we can get rid of its checking at all Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 96f9dcb10755e96eae706b9e869c0dc25adb3d74 Author: Cyrill Gorcunov Date: Sat May 24 19:36:38 2008 +0400 x86: nmi_64.c - use for_each_possible_cpu helper Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 6c8decdf14b17d42f6eb817d310642f4d6598a19 Author: Cyrill Gorcunov Date: Sat May 24 19:36:37 2008 +0400 x86: nmi_32.c - unknown_nmi_panic_callback should always panic Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit ad63ba169d45ccb6594eb35a6c31c421fe70ff45 Author: Cyrill Gorcunov Date: Sat May 24 19:36:36 2008 +0400 x86: nmi_32/64.c - use apic_write_around instead of apic_write apic_write_around will be expanded to apic_write in 64bit mode anyway. Only a few CPUs (well, old CPUs to be precise) requires such an action. In general it should not hurt and could be cleaned up for apic_write (just in case) Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 4b82b277707a39b97271439c475f186f63ec4692 Author: Cyrill Gorcunov Date: Sat May 24 19:36:35 2008 +0400 x86: nmi_32.c - add nmi_watchdog_default helper Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit d1b946b97d71423f365fa797d1428e1847c0bec1 Author: Cyrill Gorcunov Date: Sat May 24 19:36:34 2008 +0400 x86: nmi_32.c - add "panic" option Allow to pass "panic" option in 32bit mode Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit c6425b9f143a75bbcd0a7684b4df40e20d0b2f32 Author: Cyrill Gorcunov Date: Sat May 24 19:36:33 2008 +0400 x86: move do_nmi(), stop_nmi() and restart_nmi() to traps_64.c traps_32.c already holds these functions so do the same for traps_64.c Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit e56b3a12c45e439169f2d1f7194be397667320a6 Author: Cyrill Gorcunov Date: Sat May 24 19:36:32 2008 +0400 x86: nmi - die_nmi() output message unification Make 64bit die_nmi() to produce the same message as 32bit mode has Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit ddca03c98a7f7ad5ab09967ff52d4ed60358c896 Author: Cyrill Gorcunov Date: Sat May 24 19:36:31 2008 +0400 x86: nmi - unify die_nmi() interface By slightly changing 32bit mode die_nmi() we may unify the interface and make it common for both (32/64bit) modes Signed-off-by: Cyrill Gorcunov Cc: hpa@zytor.com Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 85cc35fa7255d113b5383a9c8536c363274bb475 Author: Thomas Gleixner Date: Sun May 25 21:21:36 2008 +0200 x86: fix mpparse fallout UP builds with LOCAL_APIC=y and IO_APIC=n fail with a missing reference to mp_bus_not_pci. Distangle the mpparse code some more and move the ioapic specific bus check into a separate function. This code needs sume urgent un#ifdef surgery all over the place. Signed-off-by: Thomas Gleixner commit 2e4db9d2c5db9c9dd3e1d1ec3263bc4a990ff8df Author: Fernando Luis Vazquez Cao Date: Mon May 19 14:23:44 2008 -0700 x86: remove duplicate declaration of unknown_nmi_panic Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4 Author: Ingo Molnar Date: Mon May 12 21:21:14 2008 +0200 sched: do not trace sched_clock The tracer uses sched_clock, so do not trace it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 886dd58258e6ddebe20e7aebef7b167a24bad7ee Author: Ingo Molnar Date: Mon May 12 15:44:38 2008 +0200 debugging: make stacktrace independent from DEBUG_KERNEL Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b764a15f679942a7bc9d4f9645299e1defcc5b43 Author: Alan Cox Date: Thu May 22 21:22:04 2008 +0100 x86: Switch apm to unlocked_kernel This pushes the lock a fair way down and the final kill looks like it should be an easy project for someone who wants to have a shot at it. Signed-off-by: Alan Cox Cc: mingo@redhat.com Signed-off-by: Thomas Gleixner commit 136ef671df04dc157afa0d4b96c7bd23ba072c9c Author: Alexey Starikovskiy Date: Tue May 20 00:29:59 2008 +0400 x86: allow MPPARSE to be deselected in SMP configs commit 8732fc4b237fca3bd3cb0ec87ca8fb90271b0baf Author: Alexey Starikovskiy Date: Mon May 19 19:47:16 2008 +0400 x86: move mp_bus_not_pci from mpparse.c commit ce6444d39fdea29dcf145d2d95fe9cdc850aa53c Author: Alexey Starikovskiy Date: Mon May 19 19:47:09 2008 +0400 x86: mp_bus_id_to_pci_bus is not needed commit bab4b27c00c4880737c18bb91138b1a7dd94164c Author: Alexey Starikovskiy Date: Mon May 19 19:47:03 2008 +0400 x86: move smp_found_config commit f3918352909f839a7b0dbf9b3f81d2e183c46f88 Author: Alexey Starikovskiy Date: Fri May 23 01:54:51 2008 +0400 x86: move pic_mode to apic_32.c commit b3e2416465bc9140bfd209f247e6a789f68f0d19 Author: Alexey Starikovskiy Date: Fri May 23 01:54:44 2008 +0400 x86: Set pic_mode only if local apic code is present commit bf62f3981c7076714e3b9f5fa6989a806cad02bf Author: Yinghai Lu Date: Tue May 20 20:10:58 2008 -0700 x86: move e820_mark_nosave_regions to e820.c and make e820_mark_nosave_regions to take limit_pfn to use max_low_pfn for 32bit and end_pfn for 64bit Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit aafbdf71f1d3aeffd679b1a86e1b28f71515856c Author: Alexey Starikovskiy Date: Thu May 22 12:26:15 2008 +0400 x86: fix mpparse/acpi interaction Sitsofe Wheeler reported boot problems on linux-next. It looks like the same issue as found by Soeren Sandman in 7575217f656a93, "x86: initialize all fields of mp_irqs[mp_irq_entries]". But his fix is also not complete, as dstapic is used before it assigned. Reported-by: Sitsofe Wheeler Bisected-by: Sitsofe Wheeler Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 59f4519ad7ade61123e90085b0dadb2ea197bd87 Author: Soeren Sandmann Date: Sun May 18 05:24:41 2008 +0200 x86: initialize all fields of mp_irqs[mp_irq_entries] Commit "x86: make config_irqsrc not MPspec specific" introduced some uses of uninitialized fields in mp_config_acpi_legacy_irqs(). I need the following patch to get sched-devel/master to boot. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2fddb6e28e903a3ab1704cc5aac01be5a59dc05b Author: Alexey Starikovskiy Date: Wed May 14 19:03:17 2008 +0400 x86: make config_irqsrc not MPspec specific Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit ec2cd0a22e2715f776a934e01c4f8ea098324fe1 Author: Alexey Starikovskiy Date: Wed May 14 19:03:10 2008 +0400 x86: make struct config_ioapic not MPspec specific Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 5f8951487ddbacbc949e9ffae574f94791f9b4dd Author: Alexey Starikovskiy Date: Wed May 14 19:03:04 2008 +0400 x86: make mp_ioapic_routing definition local Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 11113f84c72bd832dc4e76122e613b0e623e2346 Author: Alexey Starikovskiy Date: Wed May 14 19:02:57 2008 +0400 x86: complete move ACPI from mpparse.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 32c5061265caf201d6a2c0d02181e2b68769c22c Author: Alexey Starikovskiy Date: Wed May 14 19:02:51 2008 +0400 x86: move es7000_plat out of mpparse.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 11a62a056093a7f25f1595fbd8bd5f93559572b6 Author: Yinghai Lu Date: Mon May 12 15:43:38 2008 +0200 x86: cleanup print out for mptable the new output is: MPTABLE: OEM ID: SUN MPTABLE: Product ID: 4600 M2 MPTABLE: APIC at: 0x instead of it all in one line with <6> and double Product ID... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a139a7fdec8964cecf7a3564ee7ae327141d495 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: include pci.h in e820_64.c global pci_mem_start needs a declaration. include pci.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a91eea6df383f26fc4fcbefcbdb5aee8facd17fd Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: fix shadow variables of global end_pnf in e820_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7f028bc0fd119a4fc65aedc07728ce85c8813d33 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: move mp_ioapic_routing to mpparse and make it static mpparse is the only user of mp_ioapic_routing. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ba5b14cc0311af6ed20dc25aa98a1d5ea6f2e6c0 Author: Yinghai Lu Date: Wed May 21 18:40:18 2008 -0700 x86: extend e820 ealy_res support 32bit - fix use find_e820_area to find addess for new RAMDISK, instead of using ram blindly also print out low ram and bootmap info Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner commit a4c81cf684350797939416c99effb9d3ae46bca6 Author: Yinghai Lu Date: Sun May 18 01:18:57 2008 -0700 x86: extend e820 ealy_res support 32bit move early_res related from e820_64.c to e820.c make edba detection to be done in head32.c remove smp_alloc_memory, because we have fixed trampoline address now. Signed-off-by: Yinghai Lu arch/x86/kernel/e820.c | 214 ++++++++++++++++++++++++++++++++++++ arch/x86/kernel/e820_64.c | 196 -------------------------------- arch/x86/kernel/head32.c | 76 ++++++++++++ arch/x86/kernel/setup_32.c | 109 +++--------------- arch/x86/kernel/smpboot.c | 17 -- arch/x86/kernel/trampoline.c | 2 arch/x86/mach-voyager/voyager_smp.c | 9 - include/asm-x86/e820.h | 6 + include/asm-x86/e820_64.h | 9 - include/asm-x86/smp.h | 1 arch/x86/kernel/e820.c | 214 ++++++++++++++++++++++++++++++++++++ arch/x86/kernel/e820_64.c | 196 -------------------------------- arch/x86/kernel/head32.c | 76 ++++++++++++ arch/x86/kernel/setup_32.c | 109 +++--------------- arch/x86/kernel/smpboot.c | 17 -- arch/x86/kernel/trampoline.c | 2 arch/x86/mach-voyager/voyager_smp.c | 9 - include/asm-x86/e820.h | 6 + include/asm-x86/e820_64.h | 9 - include/asm-x86/smp.h | 1 arch/x86/kernel/e820.c | 214 ++++++++++++++++++++++++++++++++++++ arch/x86/kernel/e820_64.c | 196 -------------------------------- arch/x86/kernel/head32.c | 76 ++++++++++++ arch/x86/kernel/setup_32.c | 109 +++--------------- arch/x86/kernel/smpboot.c | 17 -- arch/x86/kernel/trampoline.c | 2 arch/x86/mach-voyager/voyager_smp.c | 9 - include/asm-x86/e820.h | 6 + include/asm-x86/e820_64.h | 9 - include/asm-x86/smp.h | 1 10 files changed, 320 insertions(+), 319 deletions(-) Signed-off-by: Ingo Molnar commit 69c9189320c46b14e5ae3ad4b3a0d35cc63cba20 Author: Paul Jackson Date: Wed May 14 08:15:58 2008 -0700 x86 boot: add code to add BIOS provided EFI memory entries to kernel Add to the kernels boot memory map 'memmap' entries found in the EFI memory descriptors passed in from the BIOS. On EFI systems, up to E820MAX == 128 memory map entries can be passed via the legacy E820 interface (limited by the size of the 'zeropage'). These entries can be duplicated in the EFI descriptors also passed from the BIOS, and possibly more entries passed by the EFI interface, which does not have the E820MAX limit on number of memory map entries. This code doesn't worry about the likely duplicate, overlapping or (unlikely) conflicting entries between the EFI map and the E820 map. It just dumps all the EFI entries into the memmap[] array (which already has the E820 entries) and lets the existing routine sanitize_e820_map() sort the mess out. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit 5b7eb2e9ef4e467a1248537b47a63bab265be3cc Author: Paul Jackson Date: Wed May 14 08:15:52 2008 -0700 x86 boot: longer comment explaining sanitize_e820_map routine Elaborate on the comment for sanitize_e820_map(), epxlaining more what it does, what it inputs, and what it returns. Rearrange the placement of this comment to fit kernel conventions, before the routine's code rather than buried inside it. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit 6e9bcc796b120d17b08dde7ab958b82ddb899889 Author: Paul Jackson Date: Wed May 14 08:15:46 2008 -0700 x86 boot: change sanitize_e820_map parameter from byte to int to allow bigger memory maps The map size counter passed into, and back out of, sanitize_e820_map(), was an eight bit type (char or u8), as derived from its origins in legacy BIOS E820 structures. This patch changes that type to an 'int', to allow this sanitize routine to also be used on larger maps (larger than the 256 count that fits in a char). The legacy BIOS E820 interface of course does not change; that remains at 8 bits for this count, holding up to E820MAX == 128 entries. But the kernel internals can handle more when those additional memory map entries are passed from the BIOS via EFI interfaces. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit 028b785888c523baccdf27af0cdbf1deb92edec0 Author: Paul Jackson Date: Wed May 14 08:15:40 2008 -0700 x86 boot: extend some internal memory map arrays to handle larger EFI input Extend internal boot time memory tables to allow for up to three entries per node, which may be larger than the 128 E820MAX entries handled by the legacy BIOS E820 interface. The EFI interface, if present, is capable of passing memory map entries for these larger node counts. This patch requires an earlier patch that rewrote code depending on these array sizes from using E820MAX explicitly to size loops, to instead using ARRAY_SIZE() of the applicable array. Another patch following this one will provide the code to pick up additional memory entries passed via the EFI interface from the BIOS and insert them in the following, now enlarged, arrays. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit c3965bd15118742d72b4bc1a290d37b3f081eb98 Author: Paul Jackson Date: Wed May 14 08:15:34 2008 -0700 x86 boot: proper use of ARRAY_SIZE instead of repeated E820MAX constant This patch is motivated by a subsequent patch which will allow for more memory map entries on EFI supported systems than can be passed via the x86 legacy BIOS E820 interface. The legacy interface is limited to E820MAX == 128 memory entries, and that "E820MAX" manifest constant was used as the size for several arrays and loops over those arrays. The primary change in this patch is to change code loop sizes over those arrays from using the constant E820MAX, to using the ARRAY_SIZE() macro evaluated for the array being looped. That way, a subsequent patch can change the size of some of these arrays, without breaking this code. This patch also adds a parameter to the sanitize_e820_map() routine, which had an implicit size for the array passed it of E820MAX entries. This new parameter explicitly passes the size of said array. Once again, this will allow a subsequent patch to change that array size for some calls to sanitize_e820_map() without breaking the code. As part of enhancing the sanitize_e820_map() interface this way, I further combined the unnecessarily distinct x86_32 and x86_64 declarations for this routine into a single, commonly used, declaration. This patch in itself should make no difference to the resulting kernel binary. [ mingo@elte.hu: merged to -tip ] Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit b25e31cec7788ccba5749d10f8f4343fffff4750 Author: Paul Jackson Date: Wed May 14 08:15:28 2008 -0700 x86 boot: minor code format fixes in e820 and efi routines Standardize a few pointer declarations to not have the extra space after the '*' character. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit c801ed3860fe2f84281d4cae4c3e6ca87e81e890 Author: Paul Jackson Date: Wed May 14 08:15:23 2008 -0700 x86 boot: simplify pageblock_bits enum declaration The use of #defines with '##' pre-processor concatenation is a useful way to form several symbol names with a common pattern. But when there is just a single name obtained from that #define, it's just obfuscation. Better to just write the plain symbol name, as is. The following patch is a result of my wasting ten minutes looking through the kernel to figure out what 'PB_migrate_end' meant, and forgetting what I came to do, by the time I figured out that the #define PB_range macro defined it. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit cb5dd7c104c64d7ba8ff4dd3eec3d9b92c378937 Author: Paul Jackson Date: Wed May 14 08:15:16 2008 -0700 x86 boot: add header comment to dmi.h stating what it is The "dmi.h" file did not state anywhere in the file what "DMI" was. For those who know, it's obvious. For the rest of us, I added a brief opening comment. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit e9197bf0114661195bee35e7795cfc42164d9b2c Author: Paul Jackson Date: Wed May 14 08:15:10 2008 -0700 x86 boot: remove some unused extern function declarations Remove three extern declarations for routines that don't exist. Fix a typo in a comment. Signed-off-by: Paul Jackson Signed-off-by: Ingo Molnar commit e3f8ba81fdce852abe36a33eed7b243c4a0acfac Author: Paul Jackson Date: Wed May 14 08:15:04 2008 -0700 x86 boot: include missing smp.h header The patch: x86: convert cpu_to_apicid to be a per cpu variable introduced a dependency of ipi.h on smp.h in x86 builds with an allnoconfig. Including smp.h in ipi.h fixes the build error: In file included from arch/x86/kernel/traps_64.c:48: include/asm/ipi.h: In function 'send_IPI_mask_sequence': include/asm/ipi.h:114: error: 'per_cpu__x86_cpu_to_apicid' undeclared (first use in this function) Signed-off-by: Paul Jackson Cc: Mike Travis Signed-off-by: Ingo Molnar commit 3f03c54a34fa3da680b3341dd3ba965ef3394bd1 Author: Yinghai Lu Date: Fri May 9 22:40:52 2008 -0700 x86: mtrr cleanup for converting continuous to discrete layout - fix #2 disable the noisy print out. also use the one the less spare mtrr reg. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8004dd965b13b01a96def054d420f6df7ff22d53 Author: Yinghai Lu Date: Mon May 12 17:40:39 2008 -0700 x86: amd opteron TOM2 mask val fix there is a typo in the mask value, need to remove that extra 0, to avoid 4bit clearing. Signed-off-by: Yinghal Lu Signed-off-by: Ingo Molnar commit b79cd8f1268bab57ff85b19d131f7f23deab2dee Author: Yinghai Lu Date: Sun May 11 00:30:15 2008 -0700 x86: make e820.c to have common functions remove the duplicated copy of these functions. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 833e78bfeeef628f0201349a0a05a54f48f07884 Author: Yinghai Lu Date: Mon May 5 15:57:38 2008 -0700 x86: process fam 10h like k8 with fixed mtrr setting otherwise fixed MTRR for family 10h may not be changed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12031a624af7816ec7660b82be648aa3703b4ebe Author: Yinghai Lu Date: Fri May 2 02:40:22 2008 -0700 x86: mtrr cleanup for converting continuous to discrete - auto detect v4 Loop through mtrr chunk_size and gran_size from 1M to 2G to find out the optimal value so user does not need to add mtrr_chunk_size and mtrr_gran_size to the kernel command line. If optimal value is not found, print out all list to help select less optimal value. Add mtrr_spare_reg_nr= so user could set 2 instead of 1, if the card need more entries. v2: find the one with more spare entries v3: fix hole_basek offset v4: tight the compare between range and range_new loop stop with 4g Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Gabriel C Cc: Mika Fischer Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5098d62c1d1cede8ff23d01bbf50a421f110562 Author: Yinghai Lu Date: Tue Apr 29 20:25:58 2008 -0700 x86: mtrr cleanup for converting continuous to discrete layout v8 - fix v9: address format change requests by Ingo more case handling in range_to_var_with_hole Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8a374026c265476b1acfc3c186a66d59ebdb2cda Author: Yinghai Lu Date: Tue Apr 29 20:25:16 2008 -0700 x86: fix trimming e820 with MTRR holes. - fix v2: process hole then end_pfn fix update_memory_range with whole cover comparing Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 42651f15824d003e8357693ab72c4dbb3e280836 Author: Yinghai Lu Date: Tue Apr 29 01:59:49 2008 -0700 x86: fix trimming e820 with MTRR holes. converting MTRR layout from continous to discrete, some time could run out of MTRRs. So add gran_sizek to prevent that by dumpping small RAM piece less than gran_sizek. previous trimming only can handle highest_pfn from mtrr to end_pfn from e820. when have more than 4g RAM installed, there will be holes below 4g. so need to check ram below 4g is coverred well. need to be applied after [PATCH] x86: mtrr cleanup for converting continuous to discrete layout v7 Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 95ffa2438d0e9c48779f0106b1c0eb36165e759c Author: Yinghai Lu Date: Tue Apr 29 03:52:33 2008 -0700 x86: mtrr cleanup for converting continuous to discrete layout, v8 some BIOS like to use continus MTRR layout, and X driver can not add WB entries for graphical cards when 4g or more RAM installed. the patch will change MTRR to discrete. mtrr_chunk_size= could be used to have smaller continuous block to hold holes. default is 256m, could be set according to size of graphics card memory. mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs v2: fix -1 for UC checking v3: default to disable, and need use enable_mtrr_cleanup to enable this feature skip the var state change warning. remove next_basek in range_to_mtrr() v4: correct warning mask. v5: CONFIG_MTRR_SANITIZER v6: fix 1g, 2g, 512 aligment with extra hole v7: gran_sizek to prevent running out of MTRRs. v8: fix hole_basek caculation caused when removing next_basek gran_sizek using when basek is 0. need to apply [PATCH] x86: fix trimming e820 with MTRR holes. right after this one. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0dbfafa5fcd4dd189e2adc7b6ed9e0405e846d79 Author: Alexander van Heukelum Date: Wed Apr 23 15:09:05 2008 +0200 x86: move i386 memory setup code to e820_32.c The x86_64 code has centralized the memory setup code in e820_64.c. This patch copies that approach to i386: - early_param("mem", ...) parsing is moved from setup_32.c to e820_32.c. - setup_memory_map() and finish_e820_parsing() are factored out from setup_arch(), and declarations are added to e820_32.h. - print_memory_map() is made static and removed from e820_32.h. - user_defined_memmap is marked as __initdata. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0da72a4aeb4482c64c1142a2e36b556d13374937 Author: Thomas Gleixner Date: Wed Apr 30 20:11:51 2008 +0200 x86: fix sparse warning in mtrr/generic.c arch/x86/kernel/cpu/mtrr/generic.c:216:12: warning: symbol 'lo' shadows an earlier one Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1ac97018169c5a13feaa90d9671f2d6ba2d9e86e Author: Ingo Molnar Date: Mon May 19 14:10:14 2008 +0200 x86: untangle pci dependencies make PCI-less subarches not build with PCI - instead of complicating the PCI dependencies. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c9fea78dc9775981bed2da379568c8a8fddd1fb6 Author: Ingo Molnar Date: Mon May 19 13:53:39 2008 +0200 x86: make NUMAQ depend on PCI NUMAQ depends on the existence of PCI hardware, and requiring PCI makes this subarch simpler and avoids build failures if PCI is disabled. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 668a6c3654560aef8741642478973e205a4f02bf Author: Ingo Molnar Date: Mon May 19 13:35:24 2008 +0200 - fix mmioftrace + rcu merge interaction Signed-off-by: Thomas Gleixner commit 48e239572271cf79412d90753a721242a765f7d9 Author: Thomas Gleixner Date: Sat May 24 17:24:34 2008 +0200 x86: fixup the fallout of the bitops changes Signed-off-by: Thomas Gleixner commit 83cd1daa1dc3400e5ca2255818641233ebb30680 Author: Jan Beulich Date: Mon May 12 15:44:39 2008 +0200 x86: eliminate dead code in x86_64 entry.S Remove the not longer used handlers for reserved vectors. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 78d64fc21d2aa425c65de49765cddecc84d595a4 Author: Joe Perches Date: Mon May 12 15:44:39 2008 +0200 x86: include/asm-x86/string_32.h - style only Looked at this file because of __memcpy warnings. Thought it could use a style/checkpatch cleanup. No change in vmlinux. [tglx: fixed the remaining issues ] Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2141261a11524acbfce86a5a213bbaea08794bbb Author: Miklos Vajna Date: Tue May 13 13:35:25 2008 +0200 x86: janitor work in video-vga.c Just moved an open brace to the previous line. Signed-off-by: Miklos Vajna Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f0766440dda7ace8a43b030f75e2dcb82449fb85 Author: Christoph Lameter Date: Fri May 9 19:09:48 2008 -0700 x86: unify current.h Simply stitch these together. There are just two definitions that are shared but the file is resonably small and putting these things together shows that further unifications requires a unification of the per cpu / pda handling between both arches. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bfe4bb1526945e446d2912bef2e1e2cbd2c7349e Author: Miklos Vajna Date: Sat May 17 22:48:13 2008 +0200 x86: janitor work in bugs.c Just moved trailing statements to the next line, removed space before open/close parenthesis, wrapped long lines. Signed-off-by: Miklos Vajna Signed-off-by: Thomas Gleixner commit 23eb271b9186531e1eb704dda9ab37abcfd0ca4a Author: Andrew Morton Date: Wed May 14 16:10:39 2008 -0700 x86: setup_force_cpu_cap(): don't do clear_bit(non-unsigned-long) Another hack to make proper prototyping of x86 bitops viable. Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 0e192b99d7d09f08b445c31ee7c7f3d0bfb27345 Author: Cyrill Gorcunov Date: Tue May 13 20:55:40 2008 +0400 x86: head_64.S cleanup - use PMD_SHIFT instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 05139d8fb445d9a3569071af1c5920fc46191b7b Author: Cyrill Gorcunov Date: Tue May 13 21:14:22 2008 +0400 x86: head_64.S cleanup - use straight move to CR4 register Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 2237ce2057b82561f7ea27ed30153571f404112d Author: Fernando Luis Vazquez Cao Date: Fri May 16 11:01:26 2008 +0900 x86: cleanup, remove duplicate declaration of unknown_nmi_panic Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Ingo Molnar commit 883b7af932b4435eb4798cfa4fec0848639c2a87 Author: Huang Weiyi Date: Sun May 11 19:36:57 2008 +0800 x86: smpboot.c: removed duplicated include Removed duplicated include in arch/x86/kernel/smpboot.c. Signed-off-by: Huang Weiyi Cc: mingo@redhat.com Cc: hpa@zytor.com Signed-off-by: Thomas Gleixner commit 2cc74111c78dbc7b26c41b4e87cfebfc3aed49c4 Author: Huang Weiyi Date: Sun May 11 19:35:54 2008 +0800 x86: ipi.c: removed duplicated include Removed duplicated include in arch/x86/kernel/ipi.c. Signed-off-by: Huang Weiyi Cc: mingo@redhat.com Cc: hpa@zytor.com Signed-off-by: Thomas Gleixner commit e83e31f41a623262714d9c56dde7dfc51ac078f7 Author: Cyrill Gorcunov Date: Mon May 12 15:43:39 2008 +0200 x86: compressed/head_64.S cleanup - use predefined flags from processor-flags.h We should better use already defined flags from processor-flags.h instead of defining own ones [>>> object code check >>>] original md5sum: 129f24be6df396fb7d8bf998c01fc716 arch/x86/boot/compressed/head_64.o text data bss dec hex filename 705 48 45056 45809 b2f1 arch/x86/boot/compressed/head_64.o patched md5sum: 129f24be6df396fb7d8bf998c01fc716 arch/x86/boot/compressed/head_64-new.o text data bss dec hex filename 705 48 45056 45809 b2f1 arch/x86/boot/compressed/head_64-new.o [<<< object code check <<<] Signed-off-by: Cyrill Gorcunov Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 369101da7e3f6f971b7303922d2978b8483241c6 Author: Cyrill Gorcunov Date: Mon May 12 15:43:38 2008 +0200 x86: head_64.S cleanup - use predefined flags from processor-flags.h We should better use already defined flags from processor-flags.h instead of defining own ones [>>> object code check >>>] original md5sum: 9cfa6dbf045a046bb5dfb85f8bcfe8c4 arch/x86/kernel/head_64.o text data bss dec hex filename 37361 4432 8192 49985 c341 arch/x86/kernel/head_64.o patched md5sum: 9cfa6dbf045a046bb5dfb85f8bcfe8c4 arch/x86/kernel/head_64.o text data bss dec hex filename 37361 4432 8192 49985 c341 arch/x86/kernel/head_64.o [<<< object code check <<<] Signed-off-by: Cyrill Gorcunov Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9831bfb201a8e00415d0f9e5b5a50d902a90b2db Author: Cyrill Gorcunov Date: Mon May 12 15:43:38 2008 +0200 x86 - hide X86_VM_MASK from userland programs v3 X86_VM_MASK is kernel specific flags so hide it from userland programs. It should be defined *before* ptrace.h inclusion because of circular link between these files Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ebdd561a19d7917ac49fff9c355aa4833c504bf1 Author: Jan Beulich Date: Mon May 12 15:43:38 2008 +0200 x86: constify data in reboot.c Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c8ab98249fa3cead320ec0ee4cde9960b951989 Author: Jan Beulich Date: Mon May 12 15:43:38 2008 +0200 i386: move FIX_ACPI_* into non-permanent range .. as they are used at early boot time only. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e50e62ce52f39b5f45e82f68b18254458b429bb Author: Jan Beulich Date: Mon May 12 15:43:38 2008 +0200 x86: eliminate duplicate consistency checks in init_32.c Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6a1673ae2201931ce34bf7ba9f90928c864d8334 Author: Thomas Gleixner Date: Mon May 12 15:43:38 2008 +0200 x86: make memory_add_physaddr_to_nid depend on MEMORY_HOTPLUG memory_add_physaddr_to_nid() is only used in the CONFIG_MEMORY_HOTPLUG_SPARSE || CONFIG_ACPI_HOTPLUG_MEMORY case. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cca7c0850fa0381639bf84dd06ee900e16346373 Author: Jiri Slaby Date: Mon May 12 15:43:37 2008 +0200 x86_64: fix mm.txt documentation Commit 85eb69a16aab5a394ce043c2131319eae35e6493 introduced 512 MiB sized kernel and 1.5 GiB sized module space but omitted to change documentation properly. Fix that. [Wasn't the hole intentional protection hole?] Signed-off-by: Jiri Slaby Cc: Andi Kleen Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 311f83494830fec17f086401a5b43984bb447cd2 Author: Adrian Bunk Date: Mon May 12 15:43:37 2008 +0200 x86: kernel/pci-dma.c cleanups This patch contains the following cleanups: - make the following needlessly global code static: - dma_alloc_pages() Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 968cbfad1a727b5689ae620f4d970abf6ce73340 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: make __pci_mmcfg_init static in mmconfig-shared.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e0b32d768cad17af07af3aced67498bde98296c9 Author: Thomas Gleixner Date: Mon May 12 15:43:37 2008 +0200 x86: make command_line static in setup_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 11034d55975be6d8b955a6eb11e87fc67ec086c2 Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: init64.c include initrd.h free_initrd_mem needs a prototype, which is in linux/initrd.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d1097635deed7196c2a859f285c29267779ca45a Author: Thomas Gleixner Date: Fri May 2 23:42:01 2008 +0200 x86: move mmconfig declarations to header arch/x86/kernel/mmconf-fam10h_64.c is missing the prototypes, which are decalred in arch/x86/kernel/setup_64.c. Move the prototypes and the inline stubs to the appropriate header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 55d4f22abc9f011c5db982f83377cdd38bb9a2a3 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: k8topology cleanup variable declarations Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d34c08958fa36c7a8c3f8d9c0ebe6ec1ab744a68 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: k8topology fix shadow variable sparse mutters: arch/x86/mm/k8topology_64.c:108:7: warning: symbol 'nodeid' shadows an earlier one Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0eafe234a2571f51ef9f7e8baddb58c828750771 Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: k8topology add missing header k8_scan_nodes is global and needs a prototype. Add the header file which contains it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 635ee418381566f03819408e1303ef21fcf2d41c Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: create prototype for (un)map_devmem Global functions need a prototype. Add it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 535694f361419ca195fd915dd5038c926334e1be Author: Thomas Gleixner Date: Mon May 12 15:43:35 2008 +0200 x86: boot/printfc use NULL instead 0 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eef8f871d84b5df1a24902a4e4700188be1aff2c Author: Thomas Gleixner Date: Mon May 12 15:43:34 2008 +0200 x86: vsmp_64 add missing includes sparse mutters: arch/x86/kernel/vsmp_64.c:126:5: warning: symbol 'is_vsmp_box' was not declared. Should it be static? arch/x86/kernel/vsmp_64.c:145:13: warning: symbol 'vsmp_init' was not declared. Should it be static? Include the appropriate headers. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5136dea5734cfddbc6d7ccb7ead85a3ac7ce3de2 Author: Andrew Morton Date: Wed May 14 16:10:41 2008 -0700 x86: bitops take an unsigned long * All (or most) other architectures do this. So should x86. Fix. Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 46dd98a5c0b907f94742579ab605be1933a37abd Author: Andrew Morton Date: Wed May 14 16:10:39 2008 -0700 arch/x86/mm/pat.c: use boot_cpu_has() arch/x86/mm/pat.c: In function 'phys_mem_access_prot_allowed': arch/x86/mm/pat.c:526: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:526: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type arch/x86/mm/pat.c:527: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:527: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type arch/x86/mm/pat.c:528: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:528: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type arch/x86/mm/pat.c:529: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type arch/x86/mm/pat.c:529: warning: passing argument 2 of 'variable_test_bit' from incompatible pointer type Don't open-code test_bit() on a __u32 Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit e6b0edef3453677b13e175a104a83eb36d062dd3 Author: OGAWA Hirofumi Date: Mon May 12 15:43:38 2008 +0200 x86: clean up vdso_enabled type on x86_64 This fixes type of "vdso_enabled" on X86_64 to match extern in asm/elf.h. Signed-off-by: OGAWA Hirofumi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c2c14fb7afcc67b48724571506e095fccc65a670 Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: tsc_64.c make constant UL arch/x86/kernel/tsc_64.c:245:13: warning: constant 0x100000000 is so big it is long Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 962cf36c5bf6d2840b8d66ee9a606fae2f540bbd Author: Carlos R. Mafra Date: Thu May 15 11:15:37 2008 -0300 Remove argument from open_softirq which is always NULL As git-grep shows, open_softirq() is always called with the last argument being NULL block/blk-core.c: open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL); kernel/hrtimer.c: open_softirq(HRTIMER_SOFTIRQ, run_hrtimer_softirq, NULL); kernel/rcuclassic.c: open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); kernel/rcupreempt.c: open_softirq(RCU_SOFTIRQ, rcu_process_callbacks, NULL); kernel/sched.c: open_softirq(SCHED_SOFTIRQ, run_rebalance_domains, NULL); kernel/softirq.c: open_softirq(TASKLET_SOFTIRQ, tasklet_action, NULL); kernel/softirq.c: open_softirq(HI_SOFTIRQ, tasklet_hi_action, NULL); kernel/timer.c: open_softirq(TIMER_SOFTIRQ, run_timer_softirq, NULL); net/core/dev.c: open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL); net/core/dev.c: open_softirq(NET_RX_SOFTIRQ, net_rx_action, NULL); This observation has already been made by Matthew Wilcox in June 2002 (http://www.cs.helsinki.fi/linux/linux-kernel/2002-25/0687.html) "I notice that none of the current softirq routines use the data element passed to them." and the situation hasn't changed since them. So it appears we can safely remove that extra argument to save 128 (54) bytes of kernel data (text). Signed-off-by: Carlos R. Mafra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a2eddfa95919a730e0e5ed17e9c303fe5ba249cd Author: Jan Beulich Date: Mon May 12 15:44:41 2008 +0200 x86: make /proc/stat account for all interrupts LAPIC interrupts, which don't go through the generic interrupt handling code, aren't accounted for in /proc/stat. Hence this patch adds a mechanism architectures can use to accordingly adjust the statistics. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 63687a528c39a67c1a213cdffa09feb0e6af9dbe Author: Jan Beulich Date: Mon May 12 15:44:41 2008 +0200 x86: move tracedata to RODATA .. allowing it to be write-protected just as other read-only data under CONFIG_DEBUG_RODATA. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6360b1fbb4a939efd34fc770c2ebd927c55506e0 Author: Jan Beulich Date: Mon May 12 15:44:41 2008 +0200 move BUG_TABLE into RODATA Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c4cd6dd1d0fd3057bb6b8c87460049497889d1b Author: Ingo Molnar Date: Mon May 12 21:21:14 2008 +0200 softlockup: fix softlockup_thresh fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9383d9679056e6cc4e7ff70f31da945a268238f4 Author: Dimitri Sivanich Date: Mon May 12 21:21:14 2008 +0200 softlockup: fix softlockup_thresh unaligned access and disable detection at runtime Fix unaligned access errors when setting softlockup_thresh on 64 bit platforms. Allow softlockup detection to be disabled by setting softlockup_thresh <= 0. Detect that boot time softlockup detection has been disabled earlier in softlockup_tick. Signed-off-by: Dimitri Sivanich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9c44bc03fff44ff04237a7d92e35304a0e50c331 Author: Ingo Molnar Date: Mon May 12 21:21:04 2008 +0200 softlockup: allow panic on lockup allow users to configure the softlockup detector to generate a panic instead of a warning message. high-availability systems might opt for this strict method (combined with panic_timeout= boot option/sysctl), instead of generating softlockup warnings ad infinitum. also, automated tests work better if the system reboots reliably (into a safe kernel) in case of a lockup. The full spectrum of configurability is supported: boot option, sysctl option and Kconfig option. it's default-disabled. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 091593080533a752ce66d12858d8c4105c8e1793 Author: Nick Andrew Date: Mon May 12 21:21:04 2008 +0200 printk: remember the message level for multi-line output printk(KERN_ALERT "Danger Will Robinson!\nAlien Approaching!\n"); At present this will result in one message at ALERT level and one at the current default message loglevel (e.g. WARNING). This is non-intuitive. Modify vprintk() to remember the message loglevel each time it is specified and use it for subsequent lines of output which do not specify one, within the same call to printk. Signed-off-by: Nick Andrew Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ac60ad7413ca8208094609a3b88ed9b1ed012fbc Author: Nick Andrew Date: Mon May 12 21:21:04 2008 +0200 printk: refactor processing of line severity tokens Restructure the logic of vprintk() so the processing of the leading 3 characters of each input line is in one place, regardless whether printk_time is enabled. This makes the code smaller and easier to understand. size reduction in kernel/printk.o: text data bss dec hex filename 6157 397 1049804 1056358 101e66 printk.o.before 6117 397 1049804 1056318 101e3e printk.o.after and some style uncleanlinesses removed as well as a side-effect: Before: total: 19 errors, 22 warnings, 1340 lines checked After: total: 17 errors, 22 warnings, 1333 lines checked Signed-off-by: Nick Andrew Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cd3a1b8562d28490b334a61d5eb05df3d722d91e Author: Jan Kiszka Date: Mon May 12 21:21:04 2008 +0200 printk: don't prefer unsuited consoles on registration console election: If some console happens to be registered first which does not provide a tty binding (!console->device), it prevents that more suited consoles which are registered later on can enter the candidate pool for console_device(). This is observable with KGDB's console which may already be registered (and exploited!) during early debugger connections, that is before any regular console registration. This patch fixes the issue by postponing the final, automated preferred_console selection until someone with a non-NULL device handler comes around. Signed-off-by: Jan Kiszka Cc: Jason Wessel Cc: Gerd Hoffmann Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3b8945e8d40645eecdb7d2357ca531f9b4dd9f71 Author: Tejun Heo Date: Mon May 12 21:21:04 2008 +0200 printk: clean up recursion check related static variables Make printk_recursion_bug_msg static and drop printk prefix from recursion variables. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 42fdfa238a23643226910acf922ea930b3286032 Author: Thomas Gleixner Date: Sat May 24 23:14:51 2008 +0200 namespacecheck: more kernel/printk.c fixes [ Stephen Rothwell : build fix ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7f6f3a39d258adf51f0fb1fe0dab52272a1c61a4 Author: Thomas Gleixner Date: Sat May 24 23:12:18 2008 +0200 namespacecheck: fix kernel printk.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 81d50bb254ed53a0da45a65988e4e1fa08e8a541 Author: Hiroshi Shimamoto Date: Thu May 15 19:42:49 2008 -0700 posix-timers: print RT watchdog message It's useful to detect which process is killed by RT watchdog. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3711ccb07b7f0a13f4f1aa16a8fdca9c930f21ca Author: Thomas Gleixner Date: Sat May 24 17:24:34 2008 +0200 x86: fixup the fallout of the bitops changes Signed-off-by: Thomas Gleixner commit ec42418f1973e1f77da1fcca3be59c0acb878a9d Author: Thomas Gleixner Date: Sat May 24 15:59:58 2008 +0200 x86: rename the i8259_32/64.c leftovers to irqinit_32/64.c The leftovers of the i8259 unification have nothing to do with i8259 at all. They contain interrupt init code and the i8259_xx name is just misleading now. Rename them to irqinit_32/64.c Signed-off-by: Thomas Gleixner commit d23b200a75f78e62744c3c25d078855eec8a689b Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: make init_ISA_irqs() static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 680afbf989d697b9ba1382017a73c8cfa53b3f89 Author: Pavel Machek Date: Wed May 21 11:57:52 2008 +0200 x86: i8259: cleanup codingstyle Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 3e8631d27088f394b6788829e238a60bf07d47ab Author: Pavel Machek Date: Wed May 21 11:52:52 2008 +0200 x86: i8259.c: remove trivial ifdefs Remove #ifdefs where the only difference is formatting of comments. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 15d613cb25efd978dd55592d011a6ffc487b3432 Author: Pavel Machek Date: Wed May 21 11:47:24 2008 +0200 x86: i8259.c: remove #ifdefs around includes Remove #ifdefs around includes; including too much should be always safe. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 21fd5132b223a10bdf17713dd0bf321cbd6471d2 Author: Pavel Machek Date: Wed May 21 11:44:02 2008 +0200 x86: automatical unification of i8259.c Make conversion of i8259 very mechanical -- i8259 was generated by diff -D, with too different parts left in i8259_32 and i8259_64.c. Only "by hand" changes were removal of #ifdef from middle of the comment (prevented compilation) and removal of one static to allow splitting into files. Of course, it will need some cleanups now, and those will follow. Signed-of-by: Pavel Machek commit fce39665abb71d01d74ac74eb13dd69a799dfc2f Author: Thomas Gleixner Date: Mon May 12 15:43:36 2008 +0200 x86: make init_ISA_irqs() static Moved to i8259 branch to avoid conflicts. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f20b11e716936f85850654c49e06a1f955b9e5fc Author: Thomas Gleixner Date: Sat May 24 15:59:58 2008 +0200 x86: rename the i8259_32/64.c leftovers to initirq_32/64.c The leftovers of the i8259 unification have nothing to do with i8259 at all. They contain interrupt init code and the i8259_xx name is just misleading now. Rename them to initirq_32/64.c Signed-off-by: Thomas Gleixner commit 4d9a6e6128dd8ada0d2feed2a9bb6506043e4655 Author: Pavel Machek Date: Wed May 21 11:57:52 2008 +0200 x86: i8259: cleanup codingstyle Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 4f6f3bac18c80ff6cf072d90796755c69cc4c748 Author: Pavel Machek Date: Wed May 21 11:52:52 2008 +0200 x86: i8259.c: remove trivial ifdefs Remove #ifdefs where the only difference is formatting of comments. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 6b4d3afbe722ee71b8da346c2c4393938440c471 Author: Pavel Machek Date: Wed May 21 11:47:24 2008 +0200 x86: i8259.c: remove #ifdefs around includes Remove #ifdefs around includes; including too much should be always safe. Signed-off-by: Pavel Machek Cc: macro@ds2.pg.gda.pl Signed-off-by: Thomas Gleixner commit 40bd21740012132afb62d78ac3e6b82372b2fbc2 Author: Pavel Machek Date: Wed May 21 11:44:02 2008 +0200 x86: automatical unification of i8259.c Make conversion of i8259 very mechanical -- i8259 was generated by commit 4d2df795f0c3eb91f97a666f47716121a2f166ed Author: Thomas Gleixner Date: Sat May 24 15:00:46 2008 +0200 sysprof: make it depend on X86 Signed-off-by: Thomas Gleixner commit 790e2a290b499b0400254e6870ec27969065d122 Author: Pekka Paalanen Date: Mon May 12 21:21:14 2008 +0200 x86 mmiotrace: page level is unsigned Fixes some sparse warnings. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit a50445d76c22a34ae149704ea5adaef171c8acb7 Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 mmiotrace: rename kmmio_probe::user_data to :private. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit dee310d0adf41019aca476052ac3085ff286d9be Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 x86 mmiotrace: use resource_size_t for phys addresses Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 87e547fe41a8b57d6d80afc67a0031fbe477eb0d Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 x86 mmiotrace: fix page-unaligned ioremaps mmiotrace_ioremap() expects to receive the original unaligned map phys address and size. Also fix {un,}register_kmmio_probe() to deal properly with unaligned size. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 970e6fa03885f32cc43e42cb08c73a5f54cd8bd9 Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 mmiotrace: code style cleanups From c2da03771e29159627c5c7b9509ec70bce9f91ee Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Mon, 28 Apr 2008 21:25:22 +0300 Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 6f6f394d9ca61fcc73ecfd2f2bf58e92dc1ab269 Author: Pekka Paalanen Date: Mon May 12 21:21:03 2008 +0200 doc: update mmiotrace doc to current status Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit e0fd5c2fa188311667267c02a702ae699a9fc2bd Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 mmiotrace: do not print bogus pid for maps either Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 2039238b79b51a50f8477f53f33750e1c3fc146a Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 mmiotrace: print overrun counts Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit d0a7e8ca5b996d36219e6fc002907291c8ee677b Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 mmiotrace: print header using the read hook. Now the header is printed only for `trace_pipe' file. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 7423d1115f18627666d475fccc7c62394406ff8c Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 x86 mmiotrace: dynamically disable non-boot CPUs From 8979ee55cb6a429c4edd72ebec2244b849f6a79a Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sat, 12 Apr 2008 00:18:57 +0300 Mmiotrace is not reliable with multiple CPUs and may miss events. Drop to single CPU when mmiotrace is activated. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 37b3619257d3190f47f233d7ed626d4b9916462c Author: Randy Dunlap Date: Mon May 12 21:20:59 2008 +0200 x86/mmiotrace: uses/depends on PCI Don't try to build mmiotrace when CONFIG_PCI=n. next-20080416/kernel/trace/trace_mmiotrace.c: In function 'mmio_print_pcidev': next-20080416/kernel/trace/trace_mmiotrace.c:62: error: implicit declaration of function 'pci_dev_driver' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0663bb6cd9a457fbd8ca95c627bb762d07321a39 Author: Randy Dunlap Date: Mon May 12 21:20:59 2008 +0200 mmiotrace: fix printk format Fix gcc printk format warnings: next-20080415/arch/x86/mm/mmio-mod.c: In function 'print_pte': next-20080415/arch/x86/mm/mmio-mod.c:154: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'pteval_t' next-20080415/arch/x86/mm/mmio-mod.c:154: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'pteval_t' next-20080415/arch/x86/mm/mmio-mod.c: At top level: next-20080415/arch/x86/mm/mmio-mod.c:403: warning: 'downed_cpus' defined but not used Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6c67c1afcce71335b18ed8769b1165c468bfb03 Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 mmiotrace: add user documentation Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 736ca61fa81874b3fee205a593251b1869d0bcf1 Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 x86 mmiotrace: Do not print bogus pid Non-zero pid indicates the MMIO access originated in user space. We do not catch that kind of accesses yet, so always print zero for now. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4b37ee68609037ffcaa2fcfae47cd31a605bb9e Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 x86 mmiotrace: remove ISA_trace parameter. This had become a no-op. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff3a3e9ba5e4273a8bc10570adab4a390fb90757 Author: Pekka Paalanen Date: Mon May 12 21:20:59 2008 +0200 x86 mmiotrace: move files into arch/x86/mm/. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 49023168261a7f9a2fd4a1ca1adbfea922556015 Author: Ingo Molnar Date: Mon May 12 21:20:58 2008 +0200 mmiotrace: cleanup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 801a175bf601f9a9d5e86e92dee9adeeb6625da8 Author: Ingo Molnar Date: Mon May 12 21:20:58 2008 +0200 mmiotrace: ftrace fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 138295373ccf7625fcb0218dfea114837983bc39 Author: Pekka Paalanen Date: Mon May 12 21:20:58 2008 +0200 ftrace: mmiotrace update, #2 another weekend, another patch. This should apply on top of my previous patch from March 23rd. Summary of changes: - Print PCI device list in output header - work around recursive probe hits on SMP - refactor dis/arm_kmmio_fault_page() and add check for page levels - remove un/reference_kmmio(), the die notifier hook is registered permanently into the list - explicitly check for single stepping in die notifier callback I have tested this version on my UP Athlon64 desktop with Nouveau, and SMP Core 2 Duo laptop with the proprietary nvidia driver. Both systems are 64-bit. One previously unknown bug crept into daylight: the ftrace framework's output routines print the first entry last after buffer has wrapped around. The most important regressions compared to non-ftrace mmiotrace at this time are: - failure of trace_pipe file - illegal lines in output file - unaware of losing data due to buffer full Personally I'd like to see these three solved before submitting to mainline. Other issues may come up once we know when we lose events. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bd8ac686c73c7e925fcfe0b02dc4e7b947127864 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 ftrace: mmiotrace, updates here is a patch that makes mmiotrace work almost well within the tracing framework. The patch applies on top of my previous patch. I have my own output formatting in place now. Summary of changes: - fix the NULL dereference that was due to not calling tracing_reset() - add print_line() callback into struct tracer - implement print_line() for mmiotrace, producing up-to-spec text - add my output header, but that is not really called in the right place - rewrote the main structs in mmiotrace - added two new trace entry types: TRACE_MMIO_RW and TRACE_MMIO_MAP - made some functions in trace.c non-static - check current==NULL in tracing_generic_entry_update() - fix(?) comparison in trace_seq_printf() Things seem to work fine except a few issues. Markers (text lines injected into mmiotrace log) are missing, I did not feel hacking them in before we have variable length entries. My output header is printed only for 'trace' file, but not 'trace_pipe'. For some reason, despite my quick fix, iter->trace is NULL in print_trace_line() when called from 'trace_pipe' file, which means I don't get proper output formatting. I only tried by loading nouveau.ko, which just detects the card, and that is traced fine. I didn't try further. Map, two reads and unmap. Works perfectly. I am missing the information about overflows, I'd prefer to have a counter for lost events. I didn't try, but I guess currently there is no way of knowning when it overflows? So, not too far from being fully operational, it seems :-) And looking at the diffstat, there also is some 700-900 lines of user space code that just became obsolete. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f984b51e0779a6dd30feedc41404013ca54e5d05 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 ftrace: add mmiotrace plugin On Sat, 22 Mar 2008 13:07:47 +0100 Ingo Molnar wrote: > > > i'd suggest the following: pull x86.git and sched-devel.git into a > > > single tree [the two will combine without rejects]. Then try to add a > > > kernel/tracing/trace_mmiotrace.c ftrace plugin. The trace_sysprof.c > > > plugin might be a good example. > > > > I did this and now I have mmiotrace enabled/disabled via the tracing > > framework (what do we call this, since ftrace is one of the tracers?). > > cool! could you send the patches for that? (even if they are not fully > functional yet) Patch attached in the end. Nice to see how much code disappeared. I tried to mark all the features I had to break with XXX-comments. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d61fc44853f46fb002228b18aa5f30db21fcd4ac Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86: mmiotrace, preview 2 Kconfig.debug, Makefile and testmmiotrace.c style fixes. Use real mutex instead of mutex. Fix failure path in register probe func. kmmio: RCU read-locked over single stepping. Generate mapping id's. Make mmio-mod.c built-in and rewrite its locking. Add debugfs file to enable/disable mmiotracing. kmmio: use irqsave spinlocks. Lots of cleanups in mmio-mod.c Marker file moved from /proc into debugfs. Call mmiotrace entrypoints directly from ioremap.c. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0fd0e3da4557c479b820b9a4a7afa25b4637ddf2 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86: mmiotrace full patch, preview 1 kmmio.c handles the list of mmio probes with callbacks, list of traced pages, and attaching into the page fault handler and die notifier. It arms, traps and disarms the given pages, this is the core of mmiotrace. mmio-mod.c is a user interface, hooking into ioremap functions and registering the mmio probes. It also decodes the required information from trapped mmio accesses via the pre and post callbacks in each probe. Currently, hooking into ioremap functions works by redefining the symbols of the target (binary) kernel module, so that it calls the traced versions of the functions. The most notable changes done since the last discussion are: - kmmio.c is a built-in, not part of the module - direct call from fault.c to kmmio.c, removing all dynamic hooks - prepare for unregistering probes at any time - make kmmio re-initializable and accessible to more than one user - rewrite kmmio locking to remove all spinlocks from page fault path Can I abuse call_rcu() like I do in kmmio.c:unregister_kmmio_probe() or is there a better way? The function called via call_rcu() itself calls call_rcu() again, will this work or break? There I need a second grace period for RCU after the first grace period for page faults. Mmiotrace itself (mmio-mod.c) is still a module, I am going to attack that next. At some point I will start looking into how to make mmiotrace a tracer component of ftrace (thanks for the hint, Ingo). Ftrace should make the user space part of mmiotracing as simple as 'cat /debug/trace/mmio > dump.txt'. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f513638030ca384b0bace4df64f0b82f6ae1e4c6 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86 mmiotrace: Use percpu instead of arrays. Signed-off-by: Pekka Paalanen Cc: Eric Dumazet Cc: pq@iki.fi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 10c43d2eb50c9a5ad60388b9d3c41c31150049e6 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86: explicit call to mmiotrace in do_page_fault() The custom page fault handler list is replaced with a single function pointer. All related functions and variables are renamed for mmiotrace. Signed-off-by: Pekka Paalanen Cc: Christoph Hellwig Cc: Arjan van de Ven Cc: pq@iki.fi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 63ffa3e456c1a9884a3ebac997d91e3fdae18d78 Author: Pekka Paalanen Date: Mon May 12 21:20:57 2008 +0200 x86 mmiotrace: comment about user space ABI Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fe1ffafa80f6673101c6560c2bacfe3df10372ee Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86 mmiotrace: fix relay-buffer-full flag for SMP Relay has per-cpu buffers, but mmiotrace was using only a single flag for detecting buffer full/not-full transitions. The new code makes this per-cpu and actually counts missed events. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75bb88350e0501b3cf5ac096a1008757844414a9 Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86 mmiotrace: use lookup_address() Use lookup_address() from pageattr.c instead of doing the same manually. Also had to EXPORT_SYMBOL_GPL(lookup_address) to make this work for modules. This also fixes "undefined symbol 'init_mm'" compile error for x86_32. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b7d89d02ef3c6a7c73d6596f28cea7632850af4 Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86: mmiotrace - trace memory mapped IO Mmiotrace is a tool for trapping memory mapped IO (MMIO) accesses within the kernel. It is used for debugging and especially for reverse engineering evil binary drivers. Mmiotrace works by wrapping the ioremap family of kernel functions and marking the returned pages as not present. Access to the IO memory triggers a page fault, which will be handled by mmiotrace's custom page fault handler. This will single-step the faulted instruction with the MMIO page marked as present. Access logs are directed to user space via relay and debug_fs. This page fault approach is necessary, because binary drivers have readl/writel etc. calls inlined and therefore extremely difficult to trap with with e.g. kprobes. This patch depends on the custom page fault handlers patch. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bfeeeeb991cf75081e6c2f74d44ae5da05b50a94 Author: Johannes Berg Date: Mon May 12 21:21:14 2008 +0200 stacktrace: don't crash on invalid stack trace structs This patch makes the stacktrace printout code \warn when the entries pointer is unset rather than crashing when trying to access it in an attempt to make it a bit more robust. I was saving a stacktrace into an skb and forgot to copy it across skb copies... I have since fixed the code, but it would have been easier had the kernel not crashed in an interrupt. Signed-off-by: Johannes Berg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cf3271a73b612a03da00681ecd9bfefab37c74c9 Author: Soeren Sandmann Date: Mon May 12 05:28:50 2008 +0200 ftrace/sysprof: don't trace the user stack if we are a kernel thread. Check that current->mm is non-NULL before attempting to trace the user stack. Also take depth of the kernel stack into account when comparing against sample_max_depth. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8a9e94c1fbfdac45a3b6811b880777c4116aa309 Author: Ingo Molnar Date: Mon May 12 21:20:54 2008 +0200 sysprof: update copyrights Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cd2134b1dda92fd450e6a1e12b1c7960dd6a2178 Author: Soeren Sandmann Pedersen Date: Mon May 12 21:20:54 2008 +0200 sysprof: kernel trace add kernel backtracing to the sysprof tracer. change the format of the data, so that type=0 means beginning of stack trace, 1 means kernel address, 2 means user address, and 3 means end of trace. EIP addresses are no longer distinguished from return addresses, mostly because sysprof userspace doesn't make use of it. It may be worthwhile adding this back in though, just in case it becomes interesting. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5fc4511c756860149b81aead6eca5bdf5c438ea7 Author: Thomas Gleixner Date: Fri May 23 23:58:21 2008 +0200 ftrace: make it more available in the Kconfig Signed-off-by: Thomas Gleixner commit 9caee613d3b860ae81b79370eeae9ac967c07536 Author: Thomas Gleixner Date: Fri May 23 23:55:54 2008 +0200 ftrace: fix __trace_special() Signed-off-by: Thomas Gleixner commit ada6b835067dc022f11cdae1c313a3710d3d977c Author: Thomas Gleixner Date: Fri May 23 23:50:41 2008 +0200 ftrace: remove notrace Remove the notrace annotations. The build logic takes care of that. Signed-off-by: Thomas Gleixner commit d618b3e6e50970a6248ac857653fdd49bcd3c045 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: sysprof updates make the sample period configurable. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f6b4e3f4a24f2590f1c96f117fc45fbea9b0fa4 Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace: sysprof fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef4ab15ff34fd9c65e92bee70f58e7179da881c5 Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace: make sysprof dependent on x86 for now that's the only tested platform for now. If there's interest we can make it generic easily. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 842af315e8b0adad58fc642eaa5e6f53525e0534 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: sysprof plugin improvement add sample maximum depth. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a6dd24f8d00cbccb560b19a723e6fb9bdfb20799 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: sysprof-plugin, add self-tests Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 56a08bdcff20f0022bd9160c1093e56f763499aa Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: extend sysprof plugin some more Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0075fa80305f3231a2d5df97b00d7f55a48ea27e Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: extend sysprof plugin add per CPU hrtimers. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f06c38103ea9dbca27c3f4d77f444ddefb5477cd Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: add sysprof plugin very first baby version. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 677aa9f77e8de3791b481a0cec6c8b84d1eec626 Author: Steven Rostedt Date: Sat May 17 00:01:36 2008 -0400 ftrace: add have dynamic ftrace config for archs Now that ftrace is being ported to other architectures, it has become apparent that DYNAMIC_FTRACE is dependent on whether or not that architecture implements dynamic ftrace. FTRACE itself may be ported to an architecture without porting dynamic ftrace. This patch adds HAVE_DYNAMIC_FTRACE to allow architectures to port ftrace without having to also port the dynamic aspect as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7fa09f24b477ad41b821713eba757b3aa7a2864a Author: Steven Rostedt Date: Wed May 14 21:30:32 2008 -0400 ftrace: use the new kbuild CFLAGS_REMOVE for x86/kernel directory This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro in the x86/kernel directory. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 654e4787689faffdd2137fe91f59fd3ef3363ad2 Author: Steven Rostedt Date: Wed May 14 21:30:31 2008 -0400 ftrace: use the new kbuild CFLAGS_REMOVE for lib directory This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro in the lib directory. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6ec562328fda585be2d7f472cfac99d3b44d362a Author: Steven Rostedt Date: Wed May 14 21:30:30 2008 -0400 ftrace: use the new kbuild CFLAGS_REMOVE for kernel directory This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro in the kernel directory. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 656ee82cc855027b2e994ad218519b09fa652cc1 Author: Steven Rostedt Date: Wed May 14 21:30:29 2008 -0400 kbuild: create new CFLAGS_REMOVE_(basename).o option We currently have a way to add special CFLAGS to code, but we do not have a way to remove them if needed. With the case of ftrace, some files should simply not be profiled. Adding the -pg flag to these files is simply a waste, and adding "notrace" to each and every function is ugly. Currently we put in "Makefile turd" [1] to stop the compiler from adding -pg to certain files. This was clumsy and awkward. This patch now adds the revese of CFLAGS_(basename).o with CFLAGS_REMOVE_(basename).o. This allows developers to prevent certain CFLAGS from being used to compile files. For example, we can now do CFLAGS_REMOVE_string.o = -pg to remove the -pg option from the string.o file in the lib directory. Note: a space delimited list of options may be added to the REMOVE macro. [1] - what David Miller called the workaronud to remove -pg Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e491d14f2506b218d678935c25a7027b79178b1 Author: Steven Rostedt Date: Wed May 14 23:49:44 2008 -0400 ftrace: support for PowerPC This patch adds full support for ftrace for PowerPC (both 64 and 32 bit). This includes dynamic tracing and function filtering. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e0eca07badc023a675a61906020b397da20f07c3 Author: Steven Rostedt Date: Wed May 14 23:49:43 2008 -0400 ftrace, POWERPC: add irqs_disabled_flags to ppc PPC doesn't have the irqs_disabled_flags needed by ftrace. This patch adds it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 489f139614596cbc956a06f5e4bb41288e276fe3 Author: Ingo Molnar Date: Mon Feb 25 13:38:05 2008 +0100 ftrace: fix build bug Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d49dbf33f0bf8748ee3662b973eb57e60525d622 Author: Ingo Molnar Date: Fri May 16 10:41:53 2008 +0200 ftrace: fix include file dependency Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2d8b820b2e81954754277723379ae9ed5de316fa Author: Ingo Molnar Date: Sat Feb 23 16:55:50 2008 +0100 ftrace: cleanups factor out code and clean it up. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37135677e653537ffc6e7def679443272a1c03c3 Author: Ingo Molnar Date: Wed May 14 08:10:31 2008 +0200 ftrace: fix mcount export bug David S. Miller noticed the following bug: the -pg instrumentation function callback is named differently on each platform. On x86 it is mcount, on sparc it is _mcount. So the export does not make sense in kernel/trace/ftrace.c - move it to x86. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d05f5f9906740474eb768823004ffcd775b12ca6 Author: David Miller Date: Tue May 13 22:06:59 2008 -0700 sparc64: add ftrace support. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa5e5ceaf52a882a29d9b86531a20733f5116066 Author: David Miller Date: Tue May 13 22:06:56 2008 -0700 ftrace: remove packed attribute on ftrace_page. It causes unaligned access traps on platforms like sparc (ftrace_page may be marked packed, but once we return a dyn_ftrace sub-object from this array to another piece of code, the "packed" part of the typing information doesn't propagate). But also, it didn't serve any purpose either. Even if packed, on 64-bit or 32-bit, it didn't give us any more dyn_ftrace entries per-page. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 74f4e369fc5b52433ad824cef32d3bf1304549be Author: Ingo Molnar Date: Mon May 12 21:21:15 2008 +0200 ftrace: stacktrace fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b82a1b08a00b2adca3d9dd9777efff40b7aaaa1 Author: Mathieu Desnoyers Date: Mon May 12 21:21:10 2008 +0200 Port ftrace to markers Porting ftrace to the marker infrastructure. Don't need to chain to the wakeup tracer from the sched tracer, because markers support multiple probes connected. Signed-off-by: Mathieu Desnoyers CC: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0aa977f592f17004f9d1d545f2e1bb9ea71896c3 Author: Mathieu Desnoyers Date: Mon May 12 21:21:10 2008 +0200 Markers - define non optimized marker To support the forthcoming "immediate values" marker optimization, we must have a way to declare markers in few code paths that does not use instruction modification based enable. This will be the case of printk(), some traps and eventually lockdep instrumentation. Changelog : - Fix reversed boolean logic of "generic". Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dc102a8fae2d0d6bf5223fc549247f2e23959ae6 Author: Mathieu Desnoyers Date: Mon May 12 21:21:09 2008 +0200 Markers - remove extra format argument Denys Vlasenko : > Not in this patch, but I noticed: > > #define __trace_mark(name, call_private, format, args...) \ > do { \ > static const char __mstrtab_##name[] \ > __attribute__((section("__markers_strings"))) \ > = #name "\0" format; \ > static struct marker __mark_##name \ > __attribute__((section("__markers"), aligned(8))) = \ > { __mstrtab_##name, &__mstrtab_##name[sizeof(#name)], \ > 0, 0, marker_probe_cb, \ > { __mark_empty_function, NULL}, NULL }; \ > __mark_check_format(format, ## args); \ > if (unlikely(__mark_##name.state)) { \ > (*__mark_##name.call) \ > (&__mark_##name, call_private, \ > format, ## args); \ > } \ > } while (0) > > In this call: > > (*__mark_##name.call) \ > (&__mark_##name, call_private, \ > format, ## args); \ > > you make gcc allocate duplicate format string. You can use > &__mstrtab_##name[sizeof(#name)] instead since it holds the same string, > or drop ", format," above and "const char *fmt" from here: > > void (*call)(const struct marker *mdata, /* Probe wrapper */ > void *call_private, const char *fmt, ...); > > since mdata->format is the same and all callees which need it can take it there. Very good point. I actually thought about dropping it, since it would remove an unnecessary argument from the stack. And actually, since I now have the marker_probe_cb sitting between the marker site and the callbacks, there is no API change required. Thanks :) Mathieu Signed-off-by: Mathieu Desnoyers CC: Denys Vlasenko Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3eefae994d9224fb7771a3ddb683868363c23510 Author: Steven Rostedt Date: Mon May 12 21:21:04 2008 +0200 ftrace: limit trace entries Currently there is no protection from the root user to use up all of memory for trace buffers. If the root user allocates too many entries, the OOM killer might start kill off all tasks. This patch adds an algorith to check the following condition: pages_requested > (freeable_memory + current_trace_buffer_pages) / 4 If the above is met then the allocation fails. The above prevents more than 1/4th of freeable memory from being used by trace buffers. To determine the freeable_memory, I made determine_dirtyable_memory in mm/page-writeback.c global. Special thanks goes to Peter Zijlstra for suggesting the above calculation. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6c6c27969a4c6024e6c8838829546c02aaddca18 Author: Pekka Paalanen Date: Mon May 12 21:21:02 2008 +0200 ftrace: add readpos to struct trace_seq; add trace_seq_to_user() Refactor code from tracing_read_pipe() and create trace_seq_to_user(). Moved trace_seq_reset() call before iter->trace->read() call so that when all leftover data is returned, trace_seq is reset automatically. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2bb6f8d6389cbfadd657e7dc069f6986abf35e4f Author: Steven Rostedt Date: Mon May 12 21:21:02 2008 +0200 ftrace: use raw_smp_processor_id for mcount functions Due to debug hooks in the kernel that can change the way smp_processor_id works, use raw_smp_processor_id in mcount called functions (namely ftrace_record_ip). Currently we annotate most debug functions from calling mcount, but we should not rely on that to prevent kernel lockups. This patch uses the raw_smp_processor_id to prevent a recusive crash that can happen if a debug hook in smp_processor_id calls mcount. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a4feb8348b62fe76a63cdb5569f5c920f5283c06 Author: Ingo Molnar Date: Mon May 12 21:21:02 2008 +0200 ftrace: special stacktrace Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9fe068e92f6290e89e19adc521441661a1229f00 Author: Ingo Molnar Date: Mon May 12 21:21:02 2008 +0200 ftrace: trace faster Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4823ed7eadf35e4b57ce581327e21d39585f1f32 Author: Steven Rostedt Date: Mon May 12 21:21:01 2008 +0200 ftrace: fix setting of pos in read_pipe In resetting the iterator in read_pipe, the reset of pos was postitioned in the wrong location with respect to the memset operation. The current code sets pos, incorrectly, to zero. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f1dafe50cc4e58a239fd81bd47f87f32042a1ee Author: Pekka Paalanen Date: Mon May 12 21:21:01 2008 +0200 x86: fix SMP alternatives: use mutex instead of spinlock, text_poke is sleepable text_poke is sleepable. The original fix by Mathieu Desnoyers . Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 107bad8bef5ab2c3a3bff7648c18c9dc3abdc13b Author: Steven Rostedt Date: Mon May 12 21:21:01 2008 +0200 ftrace: add trace pipe header pluggin This patch adds a method for open_pipe and open_read to the pluggins so that they can add a header to the trace pipe call. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53d0aa773053ab18287781e25d52c5faf9e0e09e Author: Steven Rostedt Date: Mon May 12 21:21:01 2008 +0200 ftrace: add logic to record overruns This patch sets up the infrastructure to record overruns of the tracing buffer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72b59d67f80983f7bb587b086fb4cb1bc95263a4 Author: Pekka Paalanen Date: Mon May 12 21:21:01 2008 +0200 x86_64: fix kernel rodata NX setting Without CONFIG_DYNAMIC_FTRACE, mark_rodata_ro() would mark a wrong number of pages as no-execute. The bug was introduced in the patch "ftrace: dont write protect kernel text". The symptom was machine reboot after a CPU hotplug. Signed-off-by: Pekka Paalanen Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25b0b44a1c732ccfc58095cdd8438955a0a19fff Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: fix comm on function trace output In cleaning up of the sched_switch code, the function trace recording of task comms was removed. This patch adds back the recording of comms for function trace. The output of ftrace now has the task comm instead of <...>. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4fcdae83cebda24b519a89d3dd976081fff1ca80 Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: comment code This is first installment of adding documentation to the ftrace. Expect many more patches of this kind in the near future. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ab46428c6969d50ecf6f6e97b7a84abba6274368 Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: modulize the number of CPU buffers Currently ftrace allocates a trace buffer for every possible CPU. Work is being done to change it to only online CPUs and add hooks to hotplug CPUS. This patch lays out the infrastructure for such a change. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6caeeb142cd3a03c46107aac45c8effc02bbadb Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: replace simple_strtoul with strict_strtoul Andrew Morton suggested using strict_strtoul over simple_strtoul. This patch replaces them in ftrace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cffae437cdfbc8a5370d38cefbff1dfe34dad6ca Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 ftrace: simple clean ups Andrew Morton mentioned some clean ups that should be done to ftrace. This patch does some of the simple clean ups. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit afc2abc0ae4265730a0fc48618012193a09a1d10 Author: Ingo Molnar Date: Mon May 12 21:21:00 2008 +0200 ftrace: cleanups no code changed. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 93dcc6ea096c51cc30ad0f6647ed05fead2439bf Author: Thomas Gleixner Date: Mon May 12 21:21:00 2008 +0200 ftrace: simplify hexprint simplify hex to ascii conversion. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bb065afb8ebd07a03155502dba29ebf0f6fe67e8 Author: Steven Rostedt Date: Mon May 12 21:21:00 2008 +0200 lockdep: update lockdep_recursion on graph_lock With the introduction of ftrace, it is possible to recurse into the lockdep functions via the mcount call. To prevent possible lockups, updating the lockdep_recursion counter on grabbing the internal lockdep_lock should prevent deadlocks. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a98a3c3fde3ae7614f19758a043691b6f59dac53 Author: Steven Rostedt Date: Mon May 12 21:20:59 2008 +0200 ftrace: trace_entries to dynamically change trace buffer size This patch adds /debug/tracing/trace_entries that allows users to see as well as modify the number of trace entries the buffers hold. The number of entries only increments in ENTRIES_PER_PAGE which is calculated by the size of an entry with the number of entries that can fit in a page. The user does not need to use an exact size, but the entries will be rounded to one of the increments. Trying to set the entries to 0 will return with -EINVAL. To avoid race conditions, the modification of the buffer size can only be done when tracing is completely disabled (current_tracer == none). A info message will be printed if a user tries to modify the buffer size when not set to none. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 05bd68c514579e007b46e4fa0461b78416a3f4c2 Author: Steven Rostedt Date: Mon May 12 21:20:59 2008 +0200 ftrace: user proper API for setting RT prios in selftest The wakeup selftest used an internal API for setting the test task priority. This patch fixes it to use the proper API for performing such a task. Thanks goes to Randy Dunlap for pointing out this build failure. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2dc8f09571a61d9cb3dc47bba6608689dfe15d16 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: trace_pipe implement NONBLOCK This patch implements "NONBLOCK" for trace_pipe. If the trace_pipe is opened with O_NONBLOCK, then the trace_pipe read will not block when buffer is empty. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 845279972f1736c3463c9cebd1bad92a0a347176 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: return EOF in trace_pipe on change of tracer Break out of while loop with EOF when the current_trace changes. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b5685aede3b7b65e72ddc73b951aa1f70798a614 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: restore iterator trace in pipe read The trace iterator is reset in the read. We still need to restore the tracer that the trace_pipe was opened with. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8487c23765b6e0444ec6b5f1530766d63fe68e35 Author: Steven Rostedt Date: Mon May 12 21:20:58 2008 +0200 ftrace: allow trace_pipe to block on all reads We expect things like "cat" to block on reads to trace_pipe. That's what trace_pipe is for. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d17d969160c18b631a19c2b34d260691402650f8 Author: Ankita Garg Date: Mon May 12 21:20:58 2008 +0200 ftrace: fix conversion of task state to char in latency tracer The conversion of task states to a character in the sched_switch tracer (part of latency tracer infrastructure), seems to be incorrect. We currently do it by indexing into the state_to_char array using the state value. The state values do not map directly into the array index and are thus incorrect. The following patch addresses this issue. This is also what is being done even in the show_task() routine in kernel/sched.c The patch has been compile and run tested. Signed-off-by: Ankita Garg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72829bc3d63cdc592d8f7dd86ad3b3fe8900fb74 Author: Thomas Gleixner Date: Fri May 23 21:37:28 2008 +0200 ftrace: move enums to ftrace.h and make helper function global picked from the mmiotracer patches to distangle the patch queues. Signed-off-by: Thomas Gleixner commit 86069782d62e731b4835a0cf8eb7d1d0e17cf306 Author: Pekka Paalanen Date: Mon May 12 21:20:56 2008 +0200 x86: add a list for custom page fault handlers. Provides kernel modules a way to register custom page fault handlers. On every page fault this will call a list of registered functions. The functions may handle the fault and force do_page_fault() to return immediately. This functionality is similar to the now removed page fault notifiers. Custom page fault handlers are used by debugging and reverse engineering tools. Mmiotrace is one such tool and a patch to add it into the tree will follow. The custom page fault handlers are called earlier in do_page_fault() than the page fault notifiers were. Signed-off-by: Pekka Paalanen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f0f996e80b980fba07d11961d96a5fefb60976a Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: dont write protect kernel text Dynamic ftrace cant work when the kernel has its text write protected. This patch keeps the kernel from being write protected when dynamic ftrace is in place. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a56be3fe2f65f9f776e727bfd382e35db75911d6 Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: fix the fault label in updating code The fault label to jump to on fault of updating the code was misplaced preventing the fault from being recorded. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30afdcb1de0a37a2086145a82ca3febebe47d019 Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: selftest protect againt max flip There is a slight race condition in the selftest where the max update of the wakeup and irqs/preemption off tests can be doing a max update as the buffers are being tested. If this happens the system can crash with a GPF. This patch adds the max update spinlock around the checking of the buffers to prevent such a race. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d15f57f23eaba975309a153b23699cd0c0236974 Author: Steven Rostedt Date: Mon May 12 21:20:56 2008 +0200 ftrace: fix mutex unlock in trace output If the trace output changes on reading the trace files, there is a chance that the start function will return NULL. If the start function of a sequence returns NULL the stop equivalent is not called. In this case, all locks that are taken must be released even if they are released in the stop function. This patch fixes a case that a mutex was not released on return of NULL in the start sequence function. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 07a267cdd2fd7d1de9455b1e36a1635ace7276c7 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: add UNINTERRUPTIBLE state for kftraced on disable When dynamic ftrace fails and sets itself disabled, the ftraced daemon will go back to sleep everytime it wakes up. The setting of the ftraced state to UNINTERRUPTIBLE is skipped in this process, and the daemon takes up 100% of the CPU. This patch makes sure the ftraced daemon sets itself to UNINTERRUPTIBLE in that loop. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c1d2327b36f2261ffa8ff7227321ba900c7eee7f Author: Ingo Molnar Date: Mon May 12 21:20:55 2008 +0200 ftrace: restrict tracing to HAVE_FTRACE architectures Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d09daa55d2e9bab7e7d30f0d05e5a7bc60b2a4a Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: use Makefile to remove tracing from lockdep This patch removes the "notrace" annotation from lockdep and adds the debugging files in the kernel director to those that should not be compiled with "-pg" mcount tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d0a420b737f72d84fabebf29634d800cbf54538 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: remove function tracing from spinlock debug The debug functions in spin_lock debugging pollute the output of the function tracer. This patch adds the debug files in the lib director to those that should not be compiled with mcount tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92205c2343527a863d660360599a4bf8cede77b0 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: user raw_spin_lock in tracing Lock debugging enabled cause huge performance problems for tracing. Having the lock verification happening for every function that is called because mcount calls spin_lock can cripple the system. This patch converts the spin_locks used by ftrace into raw_spin_locks. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c5f888cae49dfe3e86d9d1e0dab2b63ceb057be3 Author: Steven Rostedt Date: Mon May 12 21:20:55 2008 +0200 ftrace: irqsoff use raw_smp_processor_id This patch changes the use of __get_cpu_var to explicitly calling raw_smp_processor_id and using the per_cpu() macro. On some debug configurations, the use of __get_cpu_var may cause ftrace to trigger and this can cause problems with the irqsoff tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4d9493c90f8e6e1b164aede3814010a290161abb Author: Ingo Molnar Date: Mon May 12 21:20:54 2008 +0200 ftrace: remove add-hoc code Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d05cdb25d80f06f77aa6bddb53cd1390d4d91a0b Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: fix dynamic ftrace selftest With the adding of the configuration changes in the Makefile to prevent tracing of functions in the ftrace code, all tracing of all the ftrace code has been removed. Unfortunately, one of the selftests, relied on a function to be traced. With the new change, the function was no longer traced and the test failed. This patch separates out the test function into its own file so that we can add the "-pg" flag to the compilation of that function and the adding of the mcount call to that function. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 06fa75ab566c50e01bfd7b055bde85cf9b1bc98a Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: add TRACE_STACK and TRACE_SPECIAL to selftest validation The selftest validation code checks for valid entries in the trace buffer. TRACE_STACK and TRACE_SPECIAL have been added to the code but not to the validator. This patch adds the two to prevent them from flagging a failure in the selftest. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4fe8c3048cd8280a54256bca9cac2007bd546c33 Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: printk and trace irqsoff and wakeups printk called from wakeup critical timings and irqs off can cause deadlocks since printk might do a wakeup itself. If the call to printk happens with the runqueue lock held, it can deadlock. This patch protects the printk from being called in trace irqs off with a test to see if the runqueue for the current CPU is locked. If it is locked, the printk is skipped. The wakeup always holds the runqueue lock, so the printk is simply removed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f96da02c14d722ad9a3713cd7273ce28c9036ad Author: Steven Rostedt Date: Mon May 12 21:20:54 2008 +0200 ftrace: remove wakeup from function trace trace_function is called by mcount and calling wake_up from that can have unpredictable results. This patch removes the wakeup from trace_function. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 694379e9ed4f2f6babe111bf001c69e2e263338b Author: Ingo Molnar Date: Mon May 12 21:20:54 2008 +0200 ftrace: make it more available in the Kconfig Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5429db2d26a59903c81a4f6c6dae7eb9daaea5fc Author: Peter Zijlstra Date: Mon May 12 21:20:53 2008 +0200 ftrace: fix wakeup callback Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bac524d3f3dfeffa3a9d44f2c64035b88bcaacb4 Author: Peter Zijlstra Date: Mon May 12 21:20:53 2008 +0200 ftrace: trace next state Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88a4216c3ec4281fc7e6725cc3a3ccd01fb1aa14 Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: sched special Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36fc25a9f48deacd8aa08cd2d1c186a4e412604f Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: sched tree fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f29c73fe3404f8799ed57aaf48859e0b55fc071f Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: include cpu in stacktrace Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 442e544ce52d4415a024920b84fb95c5f9aa0855 Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: iter ctrl fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d9af56fbd8b37181bffaad060f74aa2e17382874 Author: Ingo Molnar Date: Mon May 12 21:20:53 2008 +0200 ftrace: fix cmdline tracing Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36dfe9252bd4c9b55e8454363fb7e444c92c5030 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: make use of tracing_cpumask Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c7078de1aaf562a31b20984409c38cc1b40fa8a3 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: add tracing_cpumask Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ac3ba41d372e3a9e420b36bc43589662b188a14 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: trace scheduler rbtree Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a3c3034336320554a3342572dae98d69e054fc7 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: fix __trace_special() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 017730c11241e26577673eb9d957cfc66172ea91 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: fix wakeups Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 24cd5d111e8c713e62cda7ca1d01232402e3d3c9 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: trace curr/next tasks Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e65551905fb0300ae7e667cbaa41ee2e3f29a13 Author: Ingo Molnar Date: Mon May 12 21:20:52 2008 +0200 ftrace: sched tracer, trace full rbtree Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c1f4d4f0175129934d5dbc19a39296430937a05 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: make nostacktrace the default Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8ac0fca4ccb355ce50471d7aa3f10f5900b28b95 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: sched tracer fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 86387f7ee5d3273ff4859e2c64ce656639b6ca65 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: add stack tracing Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 57422797dc009fc83766bcf230d29dbe6e08e21e Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: add wakeup events to sched tracer Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e309b41dd65aa953f86765eeeecc941d8e1e8b8f Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: remove notrace now that we have a kbuild method for notrace, no need to pollute the C code with the annotations. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b53dde9d34f2df396540988ebc65c33400f57b04 Author: Ingo Molnar Date: Mon May 12 21:20:51 2008 +0200 ftrace: disable -pg for the tracer itself Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3594136ad67a54d77bcb2547e70011754a2f91d5 Author: Steven Rostedt Date: Mon May 12 21:20:50 2008 +0200 ftrace: do not profile lib/string.o Most archs define the string and memory compare functions in assembly. Some do not. But these functions may be used in some archs at early boot up. Since most archs define this code in assembly and they are not usually traced, there's no need to trace them when they are not defined in assembly. This patch removes the -pg from the CFLAGS for lib/string.o. This prevents the string functions use in either vdso or early bootup from crashing the system. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit caf8cdebfb6c1cff50ea8077f1a07c2333d6d1fd Author: Steven Rostedt Date: Mon May 12 21:20:50 2008 +0200 ftrace: remove address of function names PowerPC is very fragile when it comes to use of function names and function addresses. ftrace needs to either use all function addresses or function names (i.e. my_func as suppose to &my_func). This patch chooses to use the names and not the addresses, and makes ftrace consistent. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9ff9cdb2d3b0971f89e899b3420aadd91bddc215 Author: Ingo Molnar Date: Mon May 12 21:20:50 2008 +0200 ftrace: cleanups clean up recent code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6fb44b717c10ecf37beaaebd312f3afa93fed714 Author: Steven Rostedt Date: Mon May 12 21:20:49 2008 +0200 ftrace: add trace_function api for other tracers to use A new check was added in the ftrace function that wont trace if the CPU trace buffer is disabled. Unfortunately, other tracers used ftrace() to write to the buffer after they disabled it. The new disable check makes these calls into a nop. This patch changes the __ftrace that is called without the check into a new api for the other tracers to use, called "trace_function". The other tracers use this interface instead when the trace CPU buffer is already disabled. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2a2cc8f7c4d0dfd75720867f7dc58d24f075edfc Author: Soeren Sandmann Pedersen Date: Mon May 12 21:20:49 2008 +0200 ftrace: allow the event pipe to be polled Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aeaee8a2c9cb4489f166ca0e39c568e8254faaa6 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: build fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2577046740fe6d77864128c6187c11125c2449ea Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: build fix no need to backmerge, only affects ftrace-enabled kernels. (which is not the default) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5e3ca0ec76fce92daa4eed0d02de9c79b1fe3920 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: introduce the "hex" output method Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2e0f57618529a2739a5e1570e6c445c9c966b595 Author: Ingo Molnar Date: Mon May 12 21:20:49 2008 +0200 ftrace: build fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0fd9e0dac9026df09986a4b201518ae015814aef Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace: use cpu clock again Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 26994ead1fc8cced63f17e9848edc1771036664e Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace: enabled tracing by default This patch is the correct way to have tracing enabled by default. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4eebcc81a33fbc45e28542b50197ed7b3c486d90 Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace: disable tracing on failure Since ftrace touches practically every function. If we detect any anomaly, we want to fully disable ftrace. This patch adds code to try shutdown ftrace as much as possible without doing any more harm is something is detected not quite correct. This only kills ftrace, this patch does have checks for other parts of the tracer (irqsoff, wakeup, etc.). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37ad508419f0fdfda7b378756eb1f35cfd26d96d Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace - fix dynamic ftrace memory leak The ftrace dynamic function update allocates a record to store the instruction pointers that are being modified. If the modified instruction pointer fails to update, then the record is marked as failed and nothing more is done. Worse, if the modification fails, but the record ip function is still called, it will allocate a new record and try again. In just a matter of time, will this cause a serious memory leak and crash the system. This patch plugs this memory leak. When a record fails, it is included back into the pool of records to be used. Now a record may fail over and over again, but the number of allocated records will not increase. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 088b1e427dbba2af93cb6a7d39258c10ff58dd27 Author: Steven Rostedt Date: Mon May 12 21:20:48 2008 +0200 ftrace: pipe fixes Some fixes for better output with the trace pipe. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dcb6308f2b56720599f6b9d5a01c33e67e69bde4 Author: Ingo Molnar Date: Mon May 12 21:20:48 2008 +0200 ftrace, locking fix should be an irq-safe lock ... Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f0a920d5752e1788c0cba2add103076bcc0f7a49 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: add trace_special() for ad-hoc tracing. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb0f12aae8d085140d37ada351aa5a8e76c3f9b0 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: bin-output Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9896bf30928922a3913a3810a4ab7908da6cfe7 Author: Ingo Molnar Date: Mon May 12 21:20:47 2008 +0200 ftrace: add raw output Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c523a9d82dbc4f3f7d972df8c0f1eacd83d0d55 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: clean-up-pipe-iteration Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cdd31cd2d7a0dcbec2cce3974f7129dd4fc8c879 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: remove-idx-sync remove idx syncing - it's expensive on SMP. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53c37c17aafcf50f7c6fddaf01dda8f9d7e31ddf Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: fast, scalable, synchronized timestamps implement globally synchronized, fast and scalable time source for tracing. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 750ed1a40783432d0dcb0e6c2e813a12615d7664 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: timestamp syncing, prepare rename and uninline now() to ftrace_now(). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4bf39a9411a4ce8712954e03a9bd1592ee345919 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: cleanups no code changed. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d4c5a2f5870939d837293de87b41dda0012a4572 Author: Ingo Molnar Date: Mon May 12 21:20:46 2008 +0200 ftrace: fix locking we can hold all cpu trace buffer locks at once - put each into a separate lock class. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b3806b4316306dc9c542eff6c23d7d42918f3504 Author: Steven Rostedt Date: Mon May 12 21:20:46 2008 +0200 ftrace: user run time file reading This patch creates a file called trace_pipe in the tracing debug directory. This file is a consumer of the trace buffers. This means that reads of this file consumes the entries from the trace buffers so that they will not be read a second time, as contrast to the static buffers latency_trace and trace. Reading from the trace_pipe will remove the entries from trace and latency_trace too. The advantage that trace_pipe has is that it can record live traces. It will block when there is nothing in the buffer, and read the entries as they are entered. An EOF happens when tracing is disabled (tracing_enabled = 0). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 214023c3d13a71525e463b5e54e360b926b4dc90 Author: Steven Rostedt Date: Mon May 12 21:20:46 2008 +0200 ftrace: add a buffer for output Later patches will need to print the same things as the seq output does. But those outputs will not use the seq utility. This patch adds a buffer to the iterator, that can be used by either the seq utility or other output. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 93a588f459da134be6ab17c4104e28441beb0d22 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: change buffers to producer consumer This patch changes the way the CPU trace buffers are handled. Instead of always starting from the trace page head, the logic is changed to a producer consumer logic. This allows for the buffers to be drained while they are alive. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d4db00a5e30c7b8f8dc2a1b19e886fd942be143 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: reset selftests The tests may leave stuff in the buffers. This resets the buffers after each test is run. If a test fails, it does not reset the buffer to avoid touching a buffer that is corrupted. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 08bafa0efcf29fe18ec39c2147077b597368b018 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: disable all tracers on corrupted buffer If the trace buffer is detected to be corrupted, then we disable all tracers. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e3c3333f3bd7eedfd21b1155b3c7cd24fc7f754 Author: Ingo Molnar Date: Mon May 12 21:20:45 2008 +0200 ftrace: fix time offset fix time offset calculations and ordering, plus make code more consistent. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 77a2b37d227483fe52aead242652aee406c25bf0 Author: Steven Rostedt Date: Mon May 12 21:20:45 2008 +0200 ftrace: startup tester on dynamic tracing. This patch adds a startup self test on dynamic code modification and filters. The test filters on a specific function, makes sure that no other function is traced, exectutes the function, then makes sure that the function is traced. This patch also fixes a slight bug with the ftrace selftest, where tracer_enabled was not being set. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7bd2f24c2f769e3f8f1d4fc8b9fddf689825f6a7 Author: Ingo Molnar Date: Mon May 12 21:20:45 2008 +0200 ftrace: add README make it easier for newbies to find their way around. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c7aafc549766b87819285d3480648fc652a47bc4 Author: Ingo Molnar Date: Mon May 12 21:20:45 2008 +0200 ftrace: cleanups factor out code and clean it up. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 60a11774b38fef1ab90b18c5353bd1c7c4d311c8 Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: add self-tests Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e1c08bdd9fa73e44096e5a82c0d5928b04ab02c8 Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: force recording Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 57f50be14d57b0dbf88dd019e7bb0ff3a3dc7b81 Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: fix max latency Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 89b2f97819dd074297bbe3e19eaa4afcc98845ad Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: fix updates to max trace This patch fixes some bugs to the updating of the max trace that was caused by implementing the new buffering. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 18cef379d30f5ded20cc31d7f2d342639d39919d Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: don't use raw_local_irq_save/restore Using raw_local_irq_save/restore confuses lockdep. It's fine to use the normal ones. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0764d23cf066c52de42b653144605b481d3fbdbc Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: lockdep notrace annotations Add notrace annotations to lockdep to keep ftrace from causing recursive problems with lock tracing and debugging. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 361943ad0ba3f16e66859e30a408915e008ba91e Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: irqs off smp_processor_id() fix The irqsoff function tracer did a __get_cpu_var to determine if it should trace the function or not. The problem is that __get_cpu_var can preempt between getting the CPU and reading the cpu variable. This means that the cpu variable that is being read is not from the cpu being run on. At worst, this can give a false positive, where we trace the function when we should not. It will never give a false negative since we only want to trace when interrupts are disabled and we never preempt when they are. This fix adds a check after reading the irq flags to only trace if the interrupts are actually disabled. It also changes the reading of the cpu variable to use a raw_smp_processor_id since we now don't care if we preempt. We still catch that fact. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5568b139f4d196273958ae2947a736fdf1ffeece Author: Steven Rostedt Date: Mon May 12 21:20:44 2008 +0200 ftrace: debug smp_processor_id, use notrace preempt disable The debug smp_processor_id caused a recursive fault in debugging the irqsoff tracer. The tracer used a smp_processor_id in the ftrace callback, and this function called preempt_disable which also is traced. This caused a recursive fault (stack overload). Since using smp_processor_id without debugging on does not cause faults with the tracer (even when the tracer is wrong), the debug version should not cause a system reboot. This changes the debug_smp_processor_id to use the notrace versions of preempt_disable and enable. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f43fdad8627fec2d21df92799b254dceb66c9c3c Author: Ingo Molnar Date: Mon May 12 21:20:43 2008 +0200 ftrace: fix kexec disable the tracer while kexec pulls the rug from under the old kernel. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c11d7aed389375253b59e2b1865eec96663c65d Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: convert single large buffer into single pages. Allocating large buffers for the tracer may fail easily. This patch converts the buffer from a large ordered allocation to single pages. It uses the struct page LRU field to link the pages together. Later patches may also implement dynamic increasing and decreasing of the trace buffers. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5072c59fd45e9976d02ee6f18c7336ef97623cbc Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: add filter select functions to trace This patch adds two files to the debugfs system: /debugfs/tracing/available_filter_functions and /debugfs/tracing/set_ftrace_filter The available_filter_functions lists all functions that has been recorded by the ftraced that has called the ftrace_record_ip function. This is to allow users to see what functions have been converted to nops and can be enabled for tracing. To enable functions, simply echo the names (whitespace delimited) into set_ftrace_filter. Simple wildcards are also allowed. echo 'scheduler' > /debugfs/tracing/set_ftrace_filter Will have only the scheduler be activated when tracing is enabled. echo 'sched_*' > /debugfs/tracing/set_ftrace_filter Will have only the functions starting with 'sched_' be activated. echo '*lock' > /debugfs/tracing/set_ftrace_filter Will have only functions ending with 'lock' be activated. echo '*lock*' > /debugfs/tracing/set_ftrace_filter Will have only functions with 'lock' in its name be activated. Note: 'sched*lock' will not work. The only wildcards that are allowed is an asterisk and the beginning and or end of the string passed in. Multiple names can be passed in with whitespace delimited: echo 'scheduler *lock *acpi*' > /debugfs/tracing/set_ftrace_filter is also the same as: echo 'scheduler' > /debugfs/tracing/set_ftrace_filter echo '*lock' >> /debugfs/tracing/set_ftrace_filter echo '*acpi*' >> /debugfs/tracing/set_ftrace_filter Appending does just that. It appends to the list. To disable all filters simply echo an empty line in: echo > /debugfs/tracing/set_ftrace_filter Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d61f82d06672f57fca410da6f7fffd15867db622 Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: use dynamic patching for updating mcount calls This patch replaces the indirect call to the mcount function pointer with a direct call that will be patched by the dynamic ftrace routines. On boot up, the mcount function calls the ftace_stub function. When the dynamic ftrace code is initialized, the ftrace_stub is replaced with a call to the ftrace_record_ip, which records the instruction pointers of the locations that call it. Later, the ftraced daemon will call kstop_machine and patch all the locations to nops. When a ftrace is enabled, the original calls to mcount will now be set top call ftrace_caller, which will do a direct call to the registered ftrace function. This direct call is also patched when the function that should be called is updated. All patching is performed by a kstop_machine routine to prevent any type of race conditions that is associated with modifying code on the fly. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c1720f00bb619302ba19d55986ab565e74d06db Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: move memory management out of arch code This patch moves the memory management of the ftrace records out of the arch code and into the generic code making the arch code simpler. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dfa60aba04dae7833d75b2e2be124bb7cfb8239f Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: use nops instead of jmp This patch patches the call to mcount with nops instead of a jmp over the mcount call. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b0fc494fae96a7089f3651cb451f461c7291244c Author: Steven Rostedt Date: Mon May 12 21:20:43 2008 +0200 ftrace: add ftrace_enabled sysctl to disable mcount function This patch adds back the sysctl ftrace_enabled. This time it is defaulted to on, if DYNAMIC_FTRACE is configured. When ftrace_enabled is disabled, the ftrace function is set to the stub return. If DYNAMIC_FTRACE is also configured, on ftrace_enabled = 0, the registered ftrace functions will all be set to jmps, but no more new calls to ftrace recording (used to find the ftrace calling sites) will be called. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3d0833953e1b98b79ddf491dd49229eef9baeac1 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: dynamic enabling/disabling of function calls This patch adds a feature to dynamically replace the ftrace code with the jmps to allow a kernel with ftrace configured to run as fast as it can without it configured. The way this works, is on bootup (if ftrace is enabled), a ftrace function is registered to record the instruction pointer of all places that call the function. Later, if there's still any code to patch, a kthread is awoken (rate limited to at most once a second) that performs a stop_machine, and replaces all the code that was called with a jmp over the call to ftrace. It only replaces what was found the previous time. Typically the system reaches equilibrium quickly after bootup and there's no code patching needed at all. e.g. call ftrace /* 5 bytes */ is replaced with jmp 3f /* jmp is 2 bytes and we jump 3 forward */ 3: When we want to enable ftrace for function tracing, the IP recording is removed, and stop_machine is called again to replace all the locations of that were recorded back to the call of ftrace. When it is disabled, we replace the code back to the jmp. Allocation is done by the kthread. If the ftrace recording function is called, and we don't have any record slots available, then we simply skip that call. Once a second a new page (if needed) is allocated for recording new ftrace function calls. A large batch is allocated at boot up to get most of the calls there. Because we do this via stop_machine, we don't have to worry about another CPU executing a ftrace call as we modify it. But we do need to worry about NMI's so all functions that might be called via nmi must be annotated with notrace_nmi. When this code is configured in, the NMI code will not call notrace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6cd8a4bb2f97527a9ceb30bc77ea4e959c6a95e3 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: trace preempt off critical timings Add preempt off timings. A lot of kernel core code is taken from the RT patch latency trace that was written by Ingo Molnar. This adds "preemptoff" and "preemptirqsoff" to /debugfs/tracing/available_tracers Now instead of just tracing irqs off, preemption off can be selected to be recorded. When this is selected, it shares the same files as irqs off timings. One can either trace preemption off, irqs off, or one or the other off. By echoing "preemptoff" into /debugfs/tracing/current_tracer, recording of preempt off only is performed. "irqsoff" will only record the time irqs are disabled, but "preemptirqsoff" will take the total time irqs or preemption are disabled. Runtime switching of these options is now supported by simpling echoing in the appropriate trace name into /debugfs/tracing/current_tracer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 81d68a96a39844853b37f20cc8282d9b65b78ef3 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: trace irq disabled critical timings This patch adds latency tracing for critical timings (how long interrupts are disabled for). "irqsoff" is added to /debugfs/tracing/available_tracers Note: tracing_max_latency also holds the max latency for irqsoff (in usecs). (default to large number so one must start latency tracing) tracing_thresh threshold (in usecs) to always print out if irqs off is detected to be longer than stated here. If irq_thresh is non-zero, then max_irq_latency is ignored. Here's an example of a trace with ftrace_enabled = 0 ======= preemption latency trace v1.1.5 on 2.6.24-rc7 Signed-off-by: Ingo Molnar -------------------------------------------------------------------- latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- => started at: _spin_lock_irqsave+0x2a/0xb7 => ended at: _spin_unlock_irqrestore+0x32/0x5f _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / swapper-0 1d.s3 0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000]) swapper-0 1d.s3 100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000]) swapper-0 1d.s3 100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f) vim:ft=help ======= And this is a trace with ftrace_enabled == 1 ======= preemption latency trace v1.1.5 on 2.6.24-rc7 -------------------------------------------------------------------- latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- => started at: _spin_lock_irqsave+0x2a/0xb7 => ended at: _spin_unlock_irqrestore+0x32/0x5f _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / swapper-0 1dNs3 0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000]) swapper-0 1dNs3 46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000]) swapper-0 1dNs3 46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000]) swapper-0 1dNs3 46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000]) swapper-0 1dNs3 47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000]) swapper-0 1dNs3 47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47) swapper-0 1dNs3 97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50) swapper-0 1dNs3 98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000]) swapper-0 1dNs3 99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000]) swapper-0 1dNs3 101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000]) swapper-0 1dNs3 102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000]) swapper-0 1dNs3 102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f) vim:ft=help ======= Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 352ad25aa4a189c667cb2af333948d34692a2d27 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: tracer for scheduler wakeup latency This patch adds the tracer that tracks the wakeup latency of the highest priority waking task. "wakeup" is added to /debugfs/tracing/available_tracers Also added to /debugfs/tracing tracing_max_latency holds the current max latency for the wakeup wakeup_thresh if set to other than zero, a log will be recorded for every wakeup that takes longer than the number entered in here (usecs for all counters) (deletes previous trace) Examples: (with ftrace_enabled = 0) ============ preemption latency trace v1.1.5 on 2.6.24-rc8 Signed-off-by: Ingo Molnar -------------------------------------------------------------------- latency: 26 us, #2/2, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: migration/0-3 (uid:0 nice:-5 policy:1 rt_prio:99) ----------------- _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / quilt-8551 0d..3 0us+: wake_up_process+0x15/0x17 (sched_exec+0xc9/0x100 ) quilt-8551 0d..4 26us : sched_switch_callback+0x73/0x81 (schedule+0x483/0x6d5 ) vim:ft=help ============ (with ftrace_enabled = 1) ============ preemption latency trace v1.1.5 on 2.6.24-rc8 -------------------------------------------------------------------- latency: 36 us, #45/45, CPU#0 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2) ----------------- | task: migration/1-5 (uid:0 nice:-5 policy:1 rt_prio:99) ----------------- _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / bash-10653 1d..3 0us : wake_up_process+0x15/0x17 (sched_exec+0xc9/0x100 ) bash-10653 1d..3 1us : try_to_wake_up+0x271/0x2e7 (sub_preempt_count+0xc/0x7a ) bash-10653 1d..2 2us : try_to_wake_up+0x296/0x2e7 (update_rq_clock+0x9/0x20 ) bash-10653 1d..2 2us : update_rq_clock+0x1e/0x20 (__update_rq_clock+0xc/0x90 ) bash-10653 1d..2 3us : __update_rq_clock+0x1b/0x90 (sched_clock+0x9/0x29 ) bash-10653 1d..2 4us : try_to_wake_up+0x2a6/0x2e7 (activate_task+0xc/0x3f ) bash-10653 1d..2 4us : activate_task+0x2d/0x3f (enqueue_task+0xe/0x66 ) bash-10653 1d..2 5us : enqueue_task+0x5b/0x66 (enqueue_task_rt+0x9/0x3c ) bash-10653 1d..2 6us : try_to_wake_up+0x2ba/0x2e7 (check_preempt_wakeup+0x12/0x99 ) [...] bash-10653 1d..5 33us : tracing_record_cmdline+0xcf/0xd4 (_spin_unlock+0x9/0x33 ) bash-10653 1d..5 34us : _spin_unlock+0x19/0x33 (sub_preempt_count+0xc/0x7a ) bash-10653 1d..4 35us : wakeup_sched_switch+0x65/0x2ff (_spin_lock_irqsave+0xc/0xa9 ) bash-10653 1d..4 35us : _spin_lock_irqsave+0x19/0xa9 (add_preempt_count+0xe/0x77 ) bash-10653 1d..4 36us : sched_switch_callback+0x73/0x81 (schedule+0x483/0x6d5 ) vim:ft=help ============ The [...] was added here to not waste your email box space. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 35e8e302e5d6e32675df2fc1dd3a53dfa6630dc1 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: add tracing of context switches This patch adds context switch tracing, of the format of: _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | pid:prio:state \ / ||||| \ | / swapper-0 1d..3 137us+: 0:140:R --> 2912:120 sshd-2912 1d..3 216us+: 2912:120:S --> 0:140 swapper-0 1d..3 261us+: 0:140:R --> 2912:120 bash-2920 0d..3 267us+: 2920:120:S --> 0:140 sshd-2912 1d..3 330us!: 2912:120:S --> 0:140 swapper-0 1d..3 2389us+: 0:140:R --> 2847:120 yum-upda-2847 1d..3 2411us!: 2847:120:S --> 0:140 swapper-0 0d..3 11089us+: 0:140:R --> 3139:120 gdm-bina-3139 0d..3 11113us!: 3139:120:S --> 0:140 swapper-0 1d..3 102328us+: 0:140:R --> 2847:120 yum-upda-2847 1d..3 102348us!: 2847:120:S --> 0:140 "sched_switch" is added to /debugfs/tracing/available_tracers [ Eugene Teo Cc: Mathieu Desnoyers Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1b29b01887e6032dcaf818c14999c7a39593b4e7 Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: function tracer This is a simple trace that uses the ftrace infrastructure. It is designed to be fast and small, and easy to use. It is useful to record things that happen over a very short period of time, and not to analyze the system in general. Updates: available_tracers "function" is added to this file. current_tracer To enable the function tracer: echo function > /debugfs/tracing/current_tracer To disable the tracer: echo disable > /debugfs/tracing/current_tracer The output of the function_trace file is as follows "echo noverbose > /debugfs/tracing/iter_ctrl" preemption latency trace v1.1.5 on 2.6.24-rc7-tst Signed-off-by: Ingo Molnar -------------------------------------------------------------------- latency: 0 us, #419428/4361791, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4) ----------------- | task: -0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / swapper-0 0d.h. 1595128us+: set_normalized_timespec+0x8/0x2d (ktime_get_ts+0x4a/0x4e ) swapper-0 0d.h. 1595131us+: _spin_lock+0x8/0x18 (hrtimer_interrupt+0x6e/0x1b0 ) Or with verbose turned on: "echo verbose > /debugfs/tracing/iter_ctrl" preemption latency trace v1.1.5 on 2.6.24-rc7-tst -------------------------------------------------------------------- latency: 0 us, #419428/4361791, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4) ----------------- | task: -0 (uid:0 nice:0 policy:0 rt_prio:0) ----------------- swapper 0 0 9 00000000 00000000 [f3675f41] 1595.128ms (+0.003ms): set_normalized_timespec+0x8/0x2d (ktime_get_ts+0x4a/0x4e ) swapper 0 0 9 00000000 00000001 [f3675f45] 1595.131ms (+0.003ms): _spin_lock+0x8/0x18 (hrtimer_interrupt+0x6e/0x1b0 ) swapper 0 0 9 00000000 00000002 [f3675f48] 1595.135ms (+0.003ms): _spin_lock+0x8/0x18 (hrtimer_interrupt+0x6e/0x1b0 ) The "trace" file is not affected by the verbose mode, but is by the symonly. echo "nosymonly" > /debugfs/tracing/iter_ctrl tracer: [ 81.479967] CPU 0: bash:3154 register_ftrace_function+0x5f/0x66 <-- _spin_unlock_irqrestore+0xe/0x5a [ 81.479967] CPU 0: bash:3154 _spin_unlock_irqrestore+0x3e/0x5a <-- sub_preempt_count+0xc/0x7a [ 81.479968] CPU 0: bash:3154 sub_preempt_count+0x30/0x7a <-- in_lock_functions+0x9/0x24 [ 81.479968] CPU 0: bash:3154 vfs_write+0x11d/0x155 <-- dnotify_parent+0x12/0x78 [ 81.479968] CPU 0: bash:3154 dnotify_parent+0x2d/0x78 <-- _spin_lock+0xe/0x70 [ 81.479969] CPU 0: bash:3154 _spin_lock+0x1b/0x70 <-- add_preempt_count+0xe/0x77 [ 81.479969] CPU 0: bash:3154 add_preempt_count+0x3e/0x77 <-- in_lock_functions+0x9/0x24 echo "symonly" > /debugfs/tracing/iter_ctrl tracer: [ 81.479913] CPU 0: bash:3154 register_ftrace_function+0x5f/0x66 <-- _spin_unlock_irqrestore+0xe/0x5a [ 81.479913] CPU 0: bash:3154 _spin_unlock_irqrestore+0x3e/0x5a <-- sub_preempt_count+0xc/0x7a [ 81.479913] CPU 0: bash:3154 sub_preempt_count+0x30/0x7a <-- in_lock_functions+0x9/0x24 [ 81.479914] CPU 0: bash:3154 vfs_write+0x11d/0x155 <-- dnotify_parent+0x12/0x78 [ 81.479914] CPU 0: bash:3154 dnotify_parent+0x2d/0x78 <-- _spin_lock+0xe/0x70 [ 81.479914] CPU 0: bash:3154 _spin_lock+0x1b/0x70 <-- add_preempt_count+0xe/0x77 [ 81.479914] CPU 0: bash:3154 add_preempt_count+0x3e/0x77 <-- in_lock_functions+0x9/0x24 Signed-off-by: Steven Rostedt Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc0c38d139ec7fcd5c030aea16b008f3732e42ac Author: Steven Rostedt Date: Mon May 12 21:20:42 2008 +0200 ftrace: latency tracer infrastructure This patch adds the latency tracer infrastructure. This patch does not add anything that will select and turn it on, but will be used by later patches. If it were to be compiled, it would add the following files to the debugfs: The root tracing directory: /debugfs/tracing/ This patch also adds the following files: available_tracers list of available tracers. Currently no tracers are available. Looking into this file only shows "none" which is used to unregister all tracers. current_tracer The trace that is currently active. Empty on start up. To switch to a tracer simply echo one of the tracers that are listed in available_tracers: example: (used with later patches) echo function > /debugfs/tracing/current_tracer To disable the tracer: echo disable > /debugfs/tracing/current_tracer tracing_enabled echoing "1" into this file starts the ftrace function tracing (if sysctl kernel.ftrace_enabled=1) echoing "0" turns it off. latency_trace This file is readonly and holds the result of the trace. trace This file outputs a easier to read version of the trace. iter_ctrl Controls the way the output of traces look. So far there's two controls: echoing in "symonly" will only show the kallsyms variables without the addresses (if kallsyms was configured) echoing in "verbose" will change the output to show a lot more data, but not very easy to understand by humans. echoing in "nosymonly" turns off symonly. echoing in "noverbose" turns off verbose. Signed-off-by: Steven Rostedt Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16444a8a40d4c7b4f6de34af0cae1f76a4f6c901 Author: Arnaldo Carvalho de Melo Date: Mon May 12 21:20:42 2008 +0200 ftrace: add basic support for gcc profiler instrumentation If CONFIG_FTRACE is selected and /proc/sys/kernel/ftrace_enabled is set to a non-zero value the ftrace routine will be called everytime we enter a kernel function that is not marked with the "notrace" attribute. The ftrace routine will then call a registered function if a function happens to be registered. [ This code has been highly hacked by Steven Rostedt and Ingo Molnar, so don't blame Arnaldo for all of this ;-) ] Update: It is now possible to register more than one ftrace function. If only one ftrace function is registered, that will be the function that ftrace calls directly. If more than one function is registered, then ftrace will call a function that will loop through the functions to call. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e766410c4babd37bc7cd5e25009c179781742c8 Author: Arnaldo Carvalho de Melo Date: Mon May 12 21:20:41 2008 +0200 ftrace: annotate core code that should not be traced Mark with "notrace" functions in core code that should not be traced. The "notrace" attribute will prevent gcc from adding a call to ftrace on the annotated funtions. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23adec554a7648f99c8acc0caf49c66320cd2b84 Author: Steven Rostedt Date: Mon May 12 21:20:41 2008 +0200 x86: add notrace annotations to vsyscall. Add the notrace annotations to the vsyscall functions - there we are not in kernel context yet, so the tracer function cannot (and must not) be called. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ffdc1a09ae7e2cbd714a446ee38a27f625b5f1c8 Author: Ingo Molnar Date: Mon May 12 21:20:41 2008 +0200 tracing: add notrace to linkage.h notrace signals that a function should not be traced. Most of the time this is used by tracers to annotate code that cannot be traced - it's in a volatile state (such as in user vdso context or NMI context) or it's in the tracer internals. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 502825282e6f79c975a644afc124432ec1744de4 Author: Steven Rostedt Date: Mon May 12 21:20:41 2008 +0200 ftrace: add preempt_enable/disable notrace macros The tracer may need to call preempt_enable and disable functions for time keeping and such. The trace gets ugly when we see these functions show up for all traces. To make the output cleaner this patch adds preempt_enable_notrace and preempt_disable_notrace to be used by tracer (and debugging) functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c731e0a495e25e79dc1e9e68772a67a55721a65 Author: Steven Rostedt Date: Mon May 12 21:20:41 2008 +0200 ftrace: make the task state char-string visible to all The tracer wants to be able to convert the state number into a user visible character. This patch pulls that conversion string out the scheduler into the header. This way if it were to ever change, other parts of the kernel will know. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bd3bff9e20f454b242d979ec2f9a4dca0d5fa06f Author: Ingo Molnar Date: Mon May 12 21:20:41 2008 +0200 sched: add latency tracer callbacks to the scheduler add 3 lightweight callbacks to the tracer backend. zero impact if tracing is turned off. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7baac8b91f9871ba8cb09af84de4ae1d86d07812 Author: Alexander van Heukelum Date: Tue May 13 11:28:21 2008 +0200 cpumask: make for_each_cpu_mask a bit smaller The for_each_cpu_mask loop is used quite often in the kernel. It makes use of two functions: first_cpu and next_cpu. This patch changes for_each_cpu_mask to use only the latter. Because next_cpu finds the next eligible cpu _after_ the given one, the iteration variable has to be initialized to -1 and next_cpu has to be called with this value before the first iteration. An x86_64 defconfig kernel (from sched/latest) is about 2500 bytes smaller with this patch applied: text data bss dec hex filename 6222517 917952 749932 7890401 7865e1 vmlinux.orig 6219922 917952 749932 7887806 785bbe vmlinux The same size reduction is seen for defconfig+MAXSMP text data bss dec hex filename 6241772 2563968 1492716 10298456 9d2458 vmlinux.orig 6239211 2563968 1492716 10295895 9d1a57 vmlinux Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3f9b48a7584851997702cdc3f58e7811b5546397 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 net: Pass reference to cpumask variable in net/sunrpc/svc.c * Pass reference to cpumask variable instead of using stack. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cad0e458d17c643c20c1d38f45a1d26125e6a622 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 clocksource/events: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5d7bfd0c4d463d288422032c9903d0452dee141d Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 infiniband: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 334ef7a7ab8f80b689a2be95d5e62d2167900865 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 x86: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2d474871e2fb092eb46a0930aba5442e10eb96cc Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 commit 0e12f848b337fc034ceb3c0d03d75f8de1b8cc96 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 net: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d6a4360876f1e758e215570ccb04518db7cec3a Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 mm: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 363ab6f1424cdea63e5d182312d60e19077b892a Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 core: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 068b12772a64c2440ef2f64ac5d780688c06576f Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 cpufreq: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 141ad0688adb53094d6f75b39b4b3b0625de0e07 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 acpi: use performance variant for_each_cpu_mask_nr Change references from for_each_cpu_mask to for_each_cpu_mask_nr where appropriate Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 41df0d61c266998b8049df7fec119cd518a43aa1 Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 x86: Add performance variants of cpumask operators * Increase performance for systems with large count NR_CPUS by limiting the range of the cpumask operators that loop over the bits in a cpumask_t variable. This removes a large amount of wasted cpu cycles. * Add performance variants of the cpumask operators: int cpus_weight_nr(mask) Same using nr_cpu_ids instead of NR_CPUS int first_cpu_nr(mask) Number lowest set bit, or nr_cpu_ids int next_cpu_nr(cpu, mask) Next cpu past 'cpu', or nr_cpu_ids for_each_cpu_mask_nr(cpu, mask) for-loop cpu over mask using nr_cpu_ids * Modify following to use performance variants: #define num_online_cpus() cpus_weight_nr(cpu_online_map) #define num_possible_cpus() cpus_weight_nr(cpu_possible_map) #define num_present_cpus() cpus_weight_nr(cpu_present_map) #define for_each_possible_cpu(cpu) for_each_cpu_mask_nr((cpu), ...) #define for_each_online_cpu(cpu) for_each_cpu_mask_nr((cpu), ...) #define for_each_present_cpu(cpu) for_each_cpu_mask_nr((cpu), ...) * Comment added to include/linux/cpumask.h: Note: The alternate operations with the suffix "_nr" are used to limit the range of the loop to nr_cpu_ids instead of NR_CPUS when NR_CPUS > 64 for performance reasons. If NR_CPUS is <= 64 then most assembler bitmask operators execute faster with a constant range, so the operator will continue to use NR_CPUS. Another consideration is that nr_cpu_ids is initialized to NR_CPUS and isn't lowered until the possible cpus are discovered (including any disabled cpus). So early uses will span the entire range of NR_CPUS. (The net effect is that for systems with 64 or less CPU's there are no functional changes.) For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Cc: Paul Jackson Cc: Christoph Lameter Reviewed-by: Paul Jackson Reviewed-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 143aa5c53bd3895d42d7c08753fe58293988a69d Author: Mike Travis Date: Mon May 12 21:21:13 2008 +0200 cpu: change some globals to statics in drivers/base/cpu.c v2 This patch makes the following needlessly global code static: - attr_online_map - attr_possible_map - attr_present_map - cpu_state_attr [v2] Signed-off-by: Adrian Bunk Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit a953e4597abd51b74c99e0e3b7074532a60fd031 Author: Mike Travis Date: Mon May 12 21:21:12 2008 +0200 sched: replace MAX_NUMNODES with nr_node_ids in kernel/sched.c * Replace usages of MAX_NUMNODES with nr_node_ids in kernel/sched.c, where appropriate. This saves some allocated space as well as many wasted cycles going through node entries that are non-existent. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit acf464817d5e7be9fb67aec4027dbee0ac9be17a Merge: 80d267f... 8962cad... Author: Paul Mackerras Date: Fri May 23 16:53:23 2008 +1000 Merge branch 'merge' into powerpc-next commit 80d267f9aee6f1b5df602b5a19fb7b4923f17db2 Author: Michael Ellerman Date: Fri May 23 14:22:21 2008 +1000 [POWERPC] Remove unnecessary cast in arch_deref_entry_point() func_descr_t->entry is already an unsigned long. Mea culpa. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 72cac213fda6a2dd402e91692b70e175795eab7d Author: Michael Ellerman Date: Fri May 23 14:21:30 2008 +1000 [POWERPC] Add debugging trigger to Axon MSI code This adds some debugging code to the Axon MSI driver. It creates a file per MSIC in /sys/kernel/debug/powerpc, which allows the user to trigger a fake MSI interrupt by writing to the file. This can be used to test some of the MSI generation path. In particular, that the MSIC recognises a write to the MSI address, generates an interrupt and writes the MSI packet into the ring buffer. All the code is inside #ifdef DEBUG so it causes no harm unless it's enabled. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 475ca391b490a683d66bf19999a8a7a24913f139 Author: Kumar Gala Date: Thu May 22 06:59:23 2008 +1000 [POWERPC] mpic: Deal with bogus NIRQ in Feature Reporting Register Some chips (like the SoCs from Freescale) report the wrong value in NIRQ and this causes issues if its doesn't match or exceed the value of irq_count. Add a flag that board code can set to just use irq_count instead of FRR[NIRQ]. Eventually we'll add a device tree property with the number of sources. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 2ca7633dc73405ee775a2e9b7961b47a38bc882d Author: Roland McGrath Date: Sun May 11 10:40:47 2008 +1000 [POWERPC] Tweak VDSO linker script to avoid upsetting old binutils This works around bugs in older binutils' objcopy. The placement of these sections does not really matter, but it confused the buggy old BFD libraries. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 21451155d8858773ee764e9218de2ca0f4d6fc38 Author: Anton Vorontsov Date: Wed Apr 30 00:05:24 2008 +1000 [POWERPC] of/gpio: Use dynamic base allocation Since the "gpiolib: dynamic gpio number allocation" patch was recently merged into Linus' tree (commit 8d0aab2f16c4fa170f32e7a74a52cd0122bbafef), we can use dynamic GPIO base allocation now. This, in turn, removes number of gpios per chip constraint. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit c3ed64295f0fed9131b42122234b1ce4a4a266cf Author: Mike Travis Date: Fri May 16 10:44:39 2008 -0700 x86: change maximum NR_CPUS to 4096 and MAX_NUMNODES to 512 * Change the range of NR_CPUS from 2-255 to 2-4096 and change the range of MAX_NUMNODES (NODES_SHIFT) from 1-32768 to 1-512. * Alter comment about how much each increment of NR_CPUS consumes. (This was found by configuring for 256 cpus and then 512 cpus and dividing the difference by 256.) Signed-off-by: Mike Travis Cc: Andrew Morton Cc: Dave Jones Signed-off-by: Thomas Gleixner commit 873b274a41c0cfe58b2eb0a7722424eb367b905b Author: Dave Jones Date: Thu May 22 13:02:23 2008 -0400 x86: Add Centaur and Transmeta CPUs to PAT whitelist Unconditionally enable PAT support on Centaur and Transmeta CPUs. All known models that advertise PAT have no known errata. Signed-off-by: Dave Jones Signed-off-by: H. Peter Anvin commit c03571a3e22b821e5be7bda7b166c4554770f489 Author: Stephen Hemminger Date: Wed Apr 16 16:37:32 2008 -0700 via-velocity: use memmove Use memmove to handle overlapping copy of data. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c73d2589b784098b2bb6e986c1a7b04e9555fbd3 Author: Stephen Hemminger Date: Wed Apr 16 16:37:31 2008 -0700 via-velocity: use netdev_alloc_skb Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev and can be overriden for NUMA machines. Change code to return new buffer rather than call by reference. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 47f98c7d4bfc08e5efffd4fe22296044ab4db21e Author: Stephen Hemminger Date: Wed Apr 16 16:37:39 2008 -0700 dl2k: use netdev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8eb6013189e03aa21aa53fd72c092713fdb30e44 Author: Stephen Hemminger Date: Wed Apr 16 16:37:38 2008 -0700 hamachi: use netdev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Remove dead code and dead comments. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit d27e7c3f6c82297611d1e1ee9476a2f31b3e89df Author: Stephen Hemminger Date: Wed Apr 16 16:37:37 2008 -0700 ixp2000: use netdev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3f7a3535a6805870f265f39c92c24b136cb967f4 Author: Maciej W. Rozycki Date: Mon May 5 13:34:31 2008 +0100 sb1250: use netdev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also simplify and cleanup the alignment code. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit b102df14d75753bae216f43579eebf3f9d10cd27 Author: Stephen Hemminger Date: Wed Apr 16 16:37:29 2008 -0700 atl1: use netdev_alloc_skb Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev and can be overriden for NUMA machines. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 855e1111f3806905b410b745e696fec4f5dac724 Author: Stephen Hemminger Date: Wed Apr 16 16:37:28 2008 -0700 tg3: remove unneeded semicolons Remove extraneous semicolons after switch and conditional statements. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b478458aeebfc55fe409abec43794ac72a623c79 Author: Jan Beulich Date: Mon May 12 15:44:39 2008 +0200 x86: avoid re-loading LDT in unrelated address spaces Performance optimization. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3843fc2575e3389f4f0ad0420a720240a5746a5d Author: Jeremy Fitzhardinge Date: Fri May 9 12:05:57 2008 +0100 xen: remove support for non-PAE 32-bit Non-PAE operation has been deprecated in Xen for a while, and is rarely tested or used. xen-unstable has now officially dropped non-PAE support. Since Xen/pvops' non-PAE support has also been broken for a while, we may as well completely drop it altogether. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0748aca6f0af917591dcfd70dccac770a25d4f71 Author: Thomas Gleixner Date: Tue May 13 10:34:20 2008 +0200 x86: remove useless static current_tsc_khz variable current_tsc_khz is just written by the init code and never used again. Remove it. Signed-off-by: Thomas Gleixner commit bedd78ca786c1d18c2a2785c7e40593dc9c9870f Author: Russell King Date: Sun Apr 20 12:31:29 2008 +0100 [RTC] remove old ARM rtc library code Now that all drivers using it are gone, remove the old ARM RTC library. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 797276ec9e4d2ee210e11068a2ce815394fe8c58 Author: Russell King Date: Sun Apr 20 12:30:41 2008 +0100 [RTC] rtc-sa1100: remove dependence on asm/rtc.h Move the two functions rtc-sa1100 wants from the old ARM RTC library into the rtc-sa1100 driver. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 7da285b626860eb6d35e08ae33eba90f0e83ad58 Author: Russell King Date: Sun Apr 20 12:26:48 2008 +0100 [RTC] remove unused asm/rtc.h includes from ARM RTC drivers On ARM, asm/rtc.h only contains definitions for the predecessor to the RTC class support. RTC class drivers should not be including this include. Build tested on at91sam9rl and s3c2410 configurations. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit a190901c6b5f1f4a31681e8c69d811a4f9426e2b Author: Russell King Date: Sun Apr 20 12:08:36 2008 +0100 [RTC] rtc-pl030: add driver, remove old non-rtc lib driver Convert Integrator PL030 RTC driver to use the RTC class interfaces. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 2dba8518b7761aee3ba757b298efa15dd34eff18 Author: Russell King Date: Sun Apr 20 12:08:04 2008 +0100 [RTC] rtc-pl031: use proper resources, use proper apis, clean up includes Clean up PL031 RTC includes, make driver use proper resource checking, and use amba bus specific accessors. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit f70c5253b41444fd2779e1f76bfe25811d9b8c23 Author: Russell King Date: Sun Apr 20 12:22:36 2008 +0100 [RTC] remove references to asm/mach/time.h asm/mach/time.h is the ARM header file for setting up kernel ticker timekeeping (be that the old jiffy interrupt or the new clocksource.) RTC drivers have no business using this header file, and in fact do not require it. Build tested on at91sam9rl, omap and s3c2410 configurations. Acked-by: Alessandro Zummo Acked-by: Andrew Victor Signed-off-by: Russell King commit 92fbc1c146d1d358c1ecc4e38361089ff929a02c Author: Randy Dunlap Date: Fri May 16 10:35:24 2008 -0700 3c515: fix using pnp_get_resource when CONFIG_ISAPNP=n 3c515.c uses pnp_irq(), which calls pnp_get_resource(), which is not defined when CONFIG_PNP=n, so in that case, get the IRQ from a hardware register. 3c515.c:(.text+0x3adc0): undefined reference to `pnp_get_resource' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 1b0771ab3ea102ce77e9ca83abc500e542402e54 Author: Maciej W. Rozycki Date: Sat May 17 06:46:19 2008 +0100 PHYLIB: Kconfig: Complete the list of Broadcom PHYs supported Add Broadcom PHYs supported missing from the description. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit cd9af3dac6d1ad001b2d5d912dbd49e184d23b9d Author: Nate Case Date: Sat May 17 06:40:39 2008 +0100 PHYLIB: Add 1000Base-X support for Broadcom bcm5482 Configure the BCM5482S secondary SerDes for 1000Base-X mode when the appropriate dev_flags are passed in to phy_connect(). This is needed when the PHY is used for fiber and backplane connections. Signed-off-by: Nate Case Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 3915c1e8634a321d9680e5cd80a53053b642dc0c Author: Jay Vosburgh Date: Sat May 17 21:10:14 2008 -0700 bonding: Add "follow" option to fail_over_mac Add a "follow" selection for fail_over_mac. This option causes the MAC address to move from slave to slave as the active slave changes. This is in addition to the existing fail_over_mac option that causes the bond's MAC address to change during failover. This new option is useful for devices that cannot tolerate multiple ports using the same MAC address simultaneously, either because it confuses them or incurs a performance penalty (as is the case with some LPAR-aware multiport devices). Because the MAC of the bond itself does not change, the "follow" option is slightly more reliable during failover and doesn't change the MAC of the bond during operation. This patch requires a previous ARP monitor change to properly handle RTNL during failovers. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit b2220cad583c9b63e085476df448fa2aff5ea906 Author: Jay Vosburgh Date: Sat May 17 21:10:13 2008 -0700 bonding: refactor ARP active-backup monitor Refactor ARP monitor for active-backup mode. The motivation for this is to take care of locking issues in a clear manner (particularly to correctly handle RTNL vs. the bonding locks). Currently, the a-b ARP monitor does not hold RTNL at all, but future changes will require RTNL during ARP monitor failovers. Rather than using conditional locking, this patch instead breaks up the ARP monitor into three discrete steps: inspection, commit changes, and probe. The inspection phase marks slaves that require link state changes. The commit phase is only called if inspection detects that changes are needed, and is called with RTNL. Lastly, the probe phase issues the ARP probes that the inspection phase uses to determine link state. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 7893b2491a2d5f716540ac5643d78d37a7f6628b Author: Moni Shoua Date: Sat May 17 21:10:12 2008 -0700 bonding: Send more than one gratuitous ARP when slave takes over With IPoIB, reception of gratuitous ARP by neighboring hosts is essential for a successful change of slaves in case of failure. Otherwise, they won't learn about the HW address change and need to wait a long time until the neighboring system gives up and sends an ARP request to learn the new HW address. This patch decreases the chance for a lost of a gratuitous ARP packet by sending it more than once. The number retries is configurable and can be set with a module param. Signed-off-by: Moni Shoua Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 8047637c70e4451e2ac1c17ed9a91a2f753daae7 Author: Pavel Emelyanov Date: Sat May 17 21:10:11 2008 -0700 bonding: Remove unneeded list_empty checks. Some places iterate over the checked list right after the check itself, so even if the list is empty, the list_for_each_xxx iterator will make everything right by himself. Signed-off-by: Pavel Emelyanov Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 0883beca7f39ab0c6447af35080e5caaa07418e3 Author: Pavel Emelyanov Date: Sat May 17 21:10:10 2008 -0700 bonding: Relax unneeded _safe lists iterations. Many places either do not modify the list under the list_for_each_xxx, or break out of the loop as soon as the first element is removed. Thus, this _safe iteration just occupies some unneeded .text space and requires an additional variable. Signed-off-by: Pavel Emelyanov Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 0dd646fe0549251e79d6fb03e6773bcc6ccea61f Author: Pavel Emelyanov Date: Sat May 17 21:10:09 2008 -0700 bonding: Remove redundant argument from bond_create. While we're fixing the bond_create, I hope it's OK to polish it a bit after the fixes. The third argument is NULL at the first caller and is ignored by the second one, so remove it. Signed-off-by: Pavel Emelyanov Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 4b8a9239ee708958ed72722a0e5e0cf34243ad26 Author: Jay Vosburgh Date: Sat May 17 21:10:08 2008 -0700 bonding: remove test for IP in ARP monitor Remove bond_has_ip and all references to it. With this change, the ARP monitor will always send ARP probes if the master is up and has at least one slave. If the bond has an IP address, it is used in the ARP probe; if not, the probes are sent with all zeros in the sender's IP address (which is consistent with an RFC 2131 4.4.1 duplicate address probe). This is useful for cases when bonding itself is hidden underneath a layer of virtual devices, e.g., with Xen. Change suggested by Tsutomu Fujii , who included a one-line patch that only affected active-backup mode. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 5ce0da8f0386b62345312ec8fed31303732f4220 Author: Jay Vosburgh Date: Sat May 17 21:10:07 2008 -0700 bonding: Use msecs_to_jiffies, eliminate panic Convert bonding to use msecs_to_jiffies instead of doing the math. For the ARP monitor, there was an underflow problem that could result in an infinite loop. The miimon already had that worked around, but this is cleaner. Originally by Nicolas de Pesloüan Jay Vosburgh corrected a math error in the original; Nicolas' original commit message is: When setting arp_interval parameter to a very low value, delta_in_ticks for next arp might become 0, causing an infinite loop. See http://bugzilla.kernel.org/show_bug.cgi?id=10680 Same problem for miimon parameter already fixed, but fix might be enhanced, by using msecs_to_jiffies() function. Signed-off-by: Nicolas de Pesloüan Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit d63ddcec20f59e78212aeaf5144e9652c0097211 Author: Al Viro Date: Wed May 21 01:34:30 2008 +0100 misc drivers/net endianness noise Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b47385bd4f67481a7dbfcf1b4b82e9a67ecb846c Author: Divy Le Ray Date: Wed May 21 18:56:26 2008 -0700 cxgb3 - Add LRO support Add LRO support. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 7385ecf339c504933a98581c2056d83b69b2a82b Author: Divy Le Ray Date: Wed May 21 18:56:21 2008 -0700 cxgb3 - Add page support to jumbo frame Rx queue Add page support to Jumbo frame Rx queues. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit b1fb1f280d0969f47d4ef19334120f5c34e36080 Author: Divy Le Ray Date: Wed May 21 18:56:16 2008 -0700 cxgb3 - Fix dma mapping error path Take potential dma mapping errors in account. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 0abbc78a0137fee60ef092f0b20a3d3d7e7e0cc2 Author: Pavel Machek Date: Tue May 20 16:27:17 2008 +0200 x86, aperture_64: use symbolic constants Factor-out common aperture_valid code. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2ba4cc319ab26c56205d4f23724c4748a553c845 Author: Ingo Molnar Date: Tue May 13 15:37:05 2008 +0200 rcu: fix nf_conntrack_helper.c build bug Signed-off-by: Ingo Molnar commit 9e72ebd686a7f39facdfff639386055f1ad7dc88 Author: Johannes Berg Date: Wed May 21 17:33:42 2008 +0200 mac80211: remove channel use statistics The useless channel use statistics are quite a lot of code, currently use integer divisions in the packet fast path, are rather inaccurate since they do not account for retries and finally nobody even cares. Hence, remove them completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 53c068566dde708cb28a4dfc06ae3d7fd7434397 Author: Michael Buesch Date: Tue May 20 00:24:36 2008 +0200 b43: Add firmware markers support This adds support for firmware markers. With firmware markers it's easily possible to check whether the firmware runs some codepath or not. The driver will throw a message when the firmware executes a MARKER(x). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit afa83e239af58a93eddd10a7a43ac5618884db15 Author: Michael Buesch Date: Mon May 19 23:51:37 2008 +0200 b43: Add panic reason code that doesn't trigger restart Add a firmware panic reason code that doesn't trigger a restart. This is useful for firmware debugging and avoiding endless restart loops. We can use FWPANIC_DIE to halt the firmware at a well defined point. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6821783271aaf541504ff8a138184fcc83fa282b Author: Michael Buesch Date: Sat May 17 23:43:57 2008 +0200 b43: Allow running without PCM firmware This patch adds code to allow running the device without PCM firmware loaded. Without PCM firmware we don't have hardware accelerated crypto on devices with a core rev <= 10. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e48b0eeb0ab508021b654a45f332b30cac2163b9 Author: Michael Buesch Date: Sat May 17 22:44:35 2008 +0200 b43: Add hooks for firmware debugging This patch adds some hooks for firmware debugging. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e2530083609148a7835b54c431f6b8956407c1f6 Author: Johannes Berg Date: Sat May 17 00:57:14 2008 +0200 mac80211: use multi-queue master netdevice This patch updates mac80211 and drivers to be multi-queue aware and use that instead of the internal queue mapping. Also does a number of cleanups in various pieces of the code that fall out and reduces internal mac80211 state size. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eefce91a384a64c7bbf913eb08c4adfb911c3639 Author: Johannes Berg Date: Sat May 17 00:57:13 2008 +0200 mac80211: dont allow fragmentation and requeuing on A-MPDU queues There really is no reason for a driver to reject a frame on an A-MPDU queue when it can stop that queue for any period of time and is given frames one by one. Hence, disallow it with a big warning and reduce mac80211-internal state. Also add a warning when we try to fragment a frame destined for an A-MPDU queue and drop it, the actual bug needs to be fixed elsewhere but I'm not exactly sure how to yet. Signed-off-by: Johannes Berg Cc: Ron Rindjunsky Signed-off-by: John W. Linville commit e93048825face354ecb0cb3ac00190c764a44f45 Author: Larry.Finger@lwfinger.net Date: Thu May 15 14:07:36 2008 -0500 b43: Fix typo in firmware file name for 802.11 cores with rev 13 When the patch for the BCM4311 rev 2 was prepared, I misread the specs and coded the wrong file name for the initvals firmware. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a8c4ea7a10f3c45eee27efb3954c3e03c297f0a7 Author: Atsushi Nemoto Date: Fri May 16 17:27:05 2008 +0900 zd1211rw: Use DMA-aware buffer for usb transfer The zd1211rw driver uses unaligned stack buffer for USB control message. But it might cause stack corruption on non-coherent platform, such as MIPS. Use DMA-aware buffers for USB transfer. Signed-off-by: Atsushi Nemoto Signed-off-by: John W. Linville commit e039fa4a4195ac4ee895e6f3d1334beed63256fe Author: Johannes Berg Date: Thu May 15 12:55:29 2008 +0200 mac80211: move TX info into skb->cb This patch converts mac80211 and all drivers to have transmit information and status in skb->cb rather than allocating extra memory for it and copying all the data around. To make it fit, a union is used where only data that is necessary for all steps is kept outside of the union. A number of fixes were done by Ivo, as well as the rt2x00 part of this patch. Signed-off-by: Ivo van Doorn Signed-off-by: Johannes Berg Acked-by: David S. Miller Signed-off-by: John W. Linville commit e24549485f859be6518929bb1c9c0257d79f033d Author: Johannes Berg Date: Thu May 15 12:55:28 2008 +0200 mac80211: reorder some transmit handlers The next patch will require that transmit handlers that are after fragmentation are aware of the fact that the control info is also fragmented. To make that easier, this patch moves a number of transmit handlers before fragmentation. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2e92e6f2c50b4baf85cca968f0e6f1b5c0df7d39 Author: Johannes Berg Date: Thu May 15 12:55:27 2008 +0200 mac80211: use rate index in TX control This patch modifies struct ieee80211_tx_control to give band info and the rate index (instead of rate pointers) to drivers. This mostly serves to reduce the TX control structure size to make it fit into skb->cb so that the fragmentation code can put it there and we can think about passing it to drivers that way in the future. The rt2x00 driver update was done by Ivo, thanks. Signed-off-by: Ivo van Doorn Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36d6825b91bc492b65b6333c369cd96a2fc8c903 Author: Johannes Berg Date: Thu May 15 12:55:26 2008 +0200 mac80211: let drivers wake but not start queues Having drivers start queues is just confusing, their ->start() callback can block and do whatever is necessary, so let mac80211 start queues and have drivers wake queues when necessary (to get packets flowing again right away.) Signed-off-by: Johannes Berg Acked-by: David S. Miller Signed-off-by: John W. Linville commit c4680470a34a4f39af3d0a5c40f70befd8701908 Author: Johannes Berg Date: Thu May 15 12:55:25 2008 +0200 mac80211: fix bugs in queue handling functions Commit 55c308c1315bc7267dbb88011c208fd743cdce31 ("mac80211: QoS related cleanups") introduced another bug, the queue handling functions that operate on all queues now only operated on the first queues, not the A-MPDU queues as expected. This patch fixes this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 189a2b5942d62bd18e1e01772c4c784253f5dd16 Author: Ester Kummer Date: Thu May 15 13:54:18 2008 +0800 iwlwifi: trigger event log from debugfs This patch adds a trigger for event log printing to debugfs. It removes the triger from sysfs. Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6ba879562289bcad537a2374754ef750307c7d32 Author: Tomas Winkler Date: Thu May 15 13:54:17 2008 +0800 iwlwifi: refactor pci prob flow This patch refactores pci prob flow. It moves mac80211 registration to the end, otherwise there is a race between error path in pci_probe and mac_start. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 445c2dff409ef9de5d2f964d20917ab238fd266f Author: Tomas Winkler Date: Thu May 15 13:54:16 2008 +0800 iwlwifi: add debugfs to disable/enable run time calibration This patch adds functionality to debugfs to enable or disable chain noise or sensitivity calibrations. Signed-off-by: Tomas Winkler Signed-off-by: Emmanuel Grumbach Signed-off-by: John W. Linville commit da6833cb05cd76f4367fa7e4a783bf358c096faf Author: Tomas Winkler Date: Thu May 15 13:54:15 2008 +0800 iwlwifi: remove 4965 remainings in iwl-eeprom.c file The patch cleans up 4965 remaings from iwl-eeprom.c file. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 9636e583d2c641f8cb32d0681f5052b2885edd79 Author: Ron Rindjunsky Date: Thu May 15 13:54:14 2008 +0800 iwlwifi: iwl5000 WiFi/WiMax coexistence This patch adds WiFi/WiMax coexistence to iwl5000. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 99da1b48fc77484aa8da85a45d9c3c1e00243659 Author: Ron Rindjunsky Date: Thu May 15 13:54:13 2008 +0800 iwlwifi: add ucode init flow handling for iwl5000 This patch adds all the handlers and functions needed for ucode initialization flow. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit dbb983b70a4696666112591572ed49c48c58da26 Author: Ron Rindjunsky Date: Thu May 15 13:54:12 2008 +0800 iwlwifi: add ucode loaders for iwl5000 This patch adds ucode initialization handler and functions to load ucode for iwl5000 NIC. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b600e4e1c5cd8928fef83bb983ab76c9a6f655bc Author: Ron Rindjunsky Date: Thu May 15 13:54:11 2008 +0800 iwlwifi: add rx_handlers stub for iwl5000 This patch adds rx_handler_setup stub to iwl5000. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 3647074973e70d0872b96ada27bbbb71fd1f628c Author: Ron Rindjunsky Date: Thu May 15 13:54:10 2008 +0800 iwlwifi: rename and move Tx queue activation/deactivation This patch moves iwl4965_txq_ctx_activate and iwl4965_txq_ctx_deactivate to iwl-dev.h and removes 4965 prefix from their names. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit ccc038abe4cb00cf56aeae5b1df47fcc4ed4136c Author: Emmanuel Grumbach Date: Thu May 15 13:54:09 2008 +0800 iwlwifi: clean up and bug fix for security This patch cleans up code in security. 1) uses the new pointer to ieee80211_key_conf passed with the tx_control. 2) resolves bug reported by Mirco Tischler (sends ADD_STA in ASYNC mode) 3) resolves bug reported by Volker Braun regarding dynamic WEP 4) drops a WEP packet which has been garbaged by firmware. This can happen upon rekeying. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a98410139a2ef6553ae5d73bf12bb9a68d0b38b9 Author: Emmanuel Grumbach Date: Thu May 15 13:54:08 2008 +0800 iwlwifi: don't switch to SGI if not supported by AP This patch fixes SGI support. RS didn't look at the capabilities of the AP before switching to SGI, this should lead to a stall in the traffic with an AP that doesn't support SGI. Signed-off-by: Emmanuel Grumbach Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fd4abac54a7a7f1c0acad5ddc1fbf4af22f92569 Author: Tomas Winkler Date: Thu May 15 13:54:07 2008 +0800 iwlwifi: move TX code into iwl-tx.c This patch moves the sending part of the TX code into iwl-tx.c including sending host commands. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 54dbb525e7b8580b86af352cf60b27cc889c2ae4 Author: Tomas Winkler Date: Thu May 15 13:54:06 2008 +0800 iwlwifi: refactor ieee80211_get_qos_ctrl This patch refactors ieee80211_get_qos_ctrl function and its usage in iwlwifi drivers. Function is moved as inline into iwl-helpers.h. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 83d527d9e8f9aff92cbd33f208f77c055dabb499 Author: Tomas Winkler Date: Thu May 15 13:54:05 2008 +0800 iwlwifi: remove 4956 form iwl4965_tx_cmd This patch renames iwl4965_tx_cmd to iwl_tx_cmd and cleans collateral code. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4f40e4d9fb8fe028db9ba2a7b4d3ac7328f73bbc Author: Tomas Winkler Date: Thu May 15 13:54:04 2008 +0800 iwlwifi: move more station managment into iwl-sta.c This patch moves station management functions into iwl-sta.c (iwlcore). Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 57bd1bea485bf6f37ff365dec2203ba6467b41a1 Author: Tomas Winkler Date: Thu May 15 13:54:03 2008 +0800 iwlwifi: move iwl_bcast_addr to iwlcore This patch renames iwl4965_broadcast_addr to iwl_bcast_addr and moves it to iwlcore. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1826dcc094466a39c82d4370ccfba694be0bc05b Author: Tomas Winkler Date: Thu May 15 13:54:02 2008 +0800 iwlwifi: remove 4965 from iwl4965_rate_info This patch removes 4965 from iwl4965_rate_info structure and associated variables. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fcab423d716f923d6a7601ba33adf356bef83414 Author: Tomas Winkler Date: Thu May 15 13:54:01 2008 +0800 iwlwifi: remove 4965 prefix from iwl4965_frame This patch removes 4965 from iwl4965_frame struct and handling functions. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit babcebfabbc3f52ba048495537baa9dffff080d4 Author: Tomas Winkler Date: Thu May 15 13:54:00 2008 +0800 iwlwifi: remove 4965 from iwl4965_tx_queue_update_write_ptr This patch renames iwl4965_tx_queue_update_write_ptr to iwl_txq_update_write_ptr. This is a preparation for moving to iwl-tx.c. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit c1adf9fb31e31ee753d613bd5bc6aef9b762b747 Author: Gregory Greenman Date: Thu May 15 13:53:59 2008 +0800 iwlwifi: get_hw_cmd_size This patch introduces a new handler get_hw_cmd_size in hcmd_utils, which should adjust the size of the command sent to the microcode according to the current nic. It also changes the RXON flow to make usage of this new handler. The patch also adds iwl_rxon_cmd structure which is supperset for 5000 HW and 4965. Signed-off-by: Gregory Greenman Signed-off-by: Zhu Yi Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8567c63e3385688b95658fe31b3ac8f4436b1b0f Author: Tomas Winkler Date: Thu May 15 13:53:58 2008 +0800 iwlwifi: rename iwl4965_tx_info to iwl_tx_info This patch renames iwl4965_tx_info to iwl_tx_info. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 443cfd457f780e40ceab7e00fbb6a56882848834 Author: Tomas Winkler Date: Thu May 15 13:53:57 2008 +0800 iwlwifi: rename iwl4965_queue to iwl_queue This patch renames iwl4965_queue to iwl_queue. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 39130df32adf8272373c03c8c2499cd2a1b4c5cf Author: Ron Rindjunsky Date: Thu May 15 13:53:56 2008 +0800 iwlwifi: filling Tx MCS set This patch fills the needed data about HW capabilities in matters of possible HT Tx MCS. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit edcdf8b21ac920e06b4180246123fe43b022e020 Author: Ron Rindjunsky Date: Thu May 15 13:53:55 2008 +0800 mac80211: separate Tx and Rx MCS when configuring HT This patch follows the 11n spec in separation between Tx and Rx MCS capabilities. Up until now, when configuring the HT possible set of Tx MCS only Rx MCS were considered, assuming they are the same as the Tx MCS. This patch fixed this by looking at low level driver Tx capabilities. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0b794d63c5db8d010d1584c694eba97f0391fca6 Author: Ron Rindjunsky Date: Thu May 15 13:53:54 2008 +0800 iwlwifi: remove iwl4965_nic_start function This patch moves the contant of iwl4965_nic_start to the only place it is being used. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 02883017607dfc60ff188980368adbe942823492 Author: Ron Rindjunsky Date: Thu May 15 13:53:53 2008 +0800 iwlwifi: changing irrelevant comment This patch changes an old eeprom comment in probe flow. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 3c83809917dce9bbd880f6b08edc2d0ccac14a25 Author: Harvey Harrison Date: Wed May 14 16:26:20 2008 -0700 mac80211: tkip.c use struct tkip_ctx in phase 2 key mixing Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 82a57447fa66bf138cd55206f33eea21ee257335 Author: Harvey Harrison Date: Wed May 14 16:26:19 2008 -0700 mac80211: tkip.c use struct tkip_ctx in phase 1 key mixing Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit b0f76b335f8b1c324b4b2be06369d391b26a7cc9 Author: Harvey Harrison Date: Wed May 14 16:26:19 2008 -0700 mac80211: add a struct to hold tkip context Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit a7b6f0c5558ad03281b8064d6a4ab2e124dea991 Author: Harvey Harrison Date: Wed May 14 16:26:18 2008 -0700 mac80211: add const, remove unused function, make one function static Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 1b19ca396621dcba573b20d4625526f5a460c886 Author: Harvey Harrison Date: Wed May 14 16:26:17 2008 -0700 mac80211: introduce struct michael_mic_ctx and static helpers Replace the existing macro with a static function, significantly shrinks the size of the produced object file. Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 1bd3dff549537d3d9b92d0b284f4cc2be264a56d Author: Harvey Harrison Date: Wed May 14 16:26:16 2008 -0700 mac80211: michael.c use kernel-provided infrastructure Replace private implementation of bit rotation and unaligned access helpers with kernel-provided implementation. Fold xswap helper in its one usage in the michael_block macro. Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 57962f0b9d76487a660619f97c0aa811924274a0 Author: Holger Schurig Date: Wed May 14 16:30:28 2008 +0200 libertas: reduce command retry time [PATCH, take 2] libertas: reduce command retry time In the normal case, an unsuccessful command would be retried for 10*5 seconds, or 10*10 seconds in the worst case. This patch reduces this to 3*3 seconds, or 3*10 seconds in the worst case. I also reduced the time it takes to start a new command downloaded. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit bd9b448f4c0a514559bdae4ca18ca3e8cd999c6d Author: Pavel Emelyanov Date: Wed May 7 19:57:11 2008 +0400 mac80211: Consolidate hash kfree-ing in mesh.c. There are already two places, that kfree the mesh_table and its buckets. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit a3538b19a6d226f9d3d9b18865468370009dec55 Author: Pavel Emelyanov Date: Wed May 7 19:55:59 2008 +0400 mac80211: Merge error paths in mesh_table_grow(). This is the first (of two) clean ups after the fixes above. The err variable is not even required after this cleaning. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 3282aea9ea5644a5b0161ad0fbd70fbf1099a470 Author: Pavel Emelyanov Date: Wed May 7 19:54:04 2008 +0400 mac80211: Do not report false error from mesh_path_add. In case the hash grow failed, it is not fair to return error - the new node _was_ _actually_ added in this case. Besides, after my previous patch, this grow is more likely to fail on large hashes. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 8566dc3fca470454461b161677a5ae3bb3a8c1b8 Author: Pavel Emelyanov Date: Wed May 7 19:51:51 2008 +0400 mac80211: Fix sleeping allocation under lock in mesh_path_node_copy. The mesh_path_node_copy() can be called like this: mesh_path_add `- write_lock(&pathtbl_resize_lock); /* ! */ `- mesh_table_grow `- ->copy_node `- mesh_path_node_copy thus, the GFP_KERNEL is not suitable here. The acceptable fix, I suppose, is make this allocation GPF_ATOMIC - the mpath_node being allocated is 4 pointers, i.e. this allocation is small enough to survive even under a moderate memory pressure. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 00242c40a167113688dd7ed46ec94e8a4c47f603 Author: Pavel Emelyanov Date: Wed May 7 19:48:14 2008 +0400 mac80211: Report allocation failure from mesh_path_node_copy. Now - return the -ENOMEM in case kmalloc fails. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 4caf86c6928cfaca270327bc944f901c2e2a8f50 Author: Pavel Emelyanov Date: Wed May 7 19:47:01 2008 +0400 mac80211: Prepare mesh_table_grow to failing copy_node callback. The mesh_path_node_copy() performs kmalloc() and thus - may fail (well, it does not now, but I'm fixing this right now). Its caller - the mesh_table_grow() - isn't prepared for such a trick yet. This preparation is just flush the new hash and make copy_node() return an int value. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 5194ee82b4aafc35b32c96db11bdacea9bf548be Author: Pavel Emelyanov Date: Wed May 7 19:44:20 2008 +0400 mac80211: Fix one more call to synchronize_rcu in atomic context. (This set applies OK without the previous one of 4 patches, but with some fuzz in the 7th one) The mesh_path_node_free() does so under hashwlock. But, this one is called 1. from mesh_path_add() after an old hash is hidden and synchronize_rcu() is calld 2. mesh_pathtbl_unregister(), when the module is being unloaded and no devices exist to mess with this hash. So, it seems to me, that simply removing the call is OK. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 402d7752ed253369b7ab037e2d778e52d59c19ed Author: Pavel Emelyanov Date: Tue May 6 18:53:43 2008 +0400 mac80211: Brush up error paths in mesh_path_add. There are already tree paths, that do incremental rollbacks, so merge them together, rename labels and format the code to look a bit nicer. (I do not mind dropping/delaying this patch however). Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit b679aeb304e3070626750c15e043a40da0e942fc Author: Javier Cardona Date: Tue May 20 15:18:49 2008 -0700 libertas: sysfs interface for accessing default mesh channel This will create the following entry: /sys/class/net/mshX -- boot_options | |-- ... | `-- channel ... ... which I overlooked on my previous patch. Signed-off-by: Javier Cardona Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit edf5dabfa86163d589041cccf607b41a7033e9b0 Author: David Woodhouse Date: Tue May 20 16:43:31 2008 +0100 libertas: Add reset_card() callback to hardware driver Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 15dbaac03e862ee746310832c8d8d694dc0427ee Author: Javier Cardona Date: Sat May 17 21:01:24 2008 -0700 libertas: sysfs interface for accessing non-volatile configuration This will create the following sysfs directories: /sys/class/net/mshX ... |-- boot_options | |-- bootflag | `-- boottime ... |-- mesh_ie | |-- capability | |-- mesh_id | |-- metric_id | `-- protocol_id Signed-off-by: Javier Cardona Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit edaea5ce05ca804cc55438c586ca2f947d49f56f Author: Javier Cardona Date: Sat May 17 00:55:10 2008 -0700 libertas: Extend MESH_CONFIG command to access non-volatile configuration This patch is based on a patch from Shailendra Govardhan and Brian Cavagnolo. It extends the MESH_CONFIG command to configure non-volatile parameters on libertas devices that support them (e.g. OLPC Active Antenna). This patch only implements the driver/firmware interface. See http://dev.laptop.org/ticket/6823 for minimal testing results and known issues. Signed-off-by: Javier Cardona Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 75bf45a7b4ab81cfa5c5eab68b57bbfee8b8ede2 Author: David Woodhouse Date: Tue May 20 13:32:45 2008 +0100 libertas: fix multicast filtering on eth and msh interfaces We weren't properly handling multicast on the mesh interface. Fix that, which involves setting up the hardware to use the union of dev->mc_list for both eth%d and msh%d devices. This means we can't do it directly from ->set_multicast_list() because we'd need to lock the other device to read its list, and we can't do that because it might deadlock. So punt the actual work to keventd. Also, invoke the same when taking an interface down; for some reason the core calls ->set_multicast_list while IFF_UP is still set in dev->flags when we're taking it down, so its addresses don't get removed then. We also convert MAC_MULTICAST_ADR to a direct command while we're at it, removing one more entry from the big switch statement in the deprecated lbs_prepare_and_send_command() function. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e37fc6e11c79899451e394319cff18cc53d6448d Author: David Woodhouse Date: Tue May 20 11:47:16 2008 +0100 libertas: Increase priority of 'unknown command' warnings Using the deprecated lbs_prepare_and_send_command() function for a command which it doesn't understand is an error; complain loudly about it even when we're not debugging. The mesh stats bug, where we converted MESH_ACCESS to a direct command but accidentally missed one user which was still trying to do it through lbs_prepare_and_send_command(), would have been caught a lot quicker if we'd done this sooner. Such bugs aren't entirely unlikely in future too, as we convert more code to stop using this function. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f9d1cf53cf9e934f15ce0371b5fd568407032ea2 Author: Ivo van Doorn Date: Sat May 10 13:45:50 2008 +0200 rt2x00: Release rt2x00 2.1.6 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aade5102c5390280e7ae8a43e09b8995792f66d8 Author: Ivo van Doorn Date: Sat May 10 13:45:58 2008 +0200 rt2x00: Remove extra + Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b8be63ffa5dc44324e7f507997870fa3e4b17619 Author: Ivo van Doorn Date: Sat May 10 13:46:03 2008 +0200 rt2x00: Merge RX and TX entry private data With the pending removal of the tx_control structure we can merge the RX and TX entry private data structure in advance. This will temporarily increase the required memory for the queue, but that overhead will only be limited. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dec13b6bda600c7e7da993e634562873112af50b Author: Ivo van Doorn Date: Sat May 10 13:46:08 2008 +0200 rt2x00: Remove redundant flags/dev_flags initializations the rxdesc structure is properly memsetted before passed to the driver. This means we don't have to reinitialize the flags and dev_flags fields in the drivers again. This will prevent problems when the rxdone handler is adding flags in a earlier status and will make the code look nicer when we are adding more read attributes in the rxdone handler in the driver. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7050ec821c52826b63835dde54ee3d71c7db4262 Author: Ivo van Doorn Date: Sat May 10 13:46:13 2008 +0200 rt2x00: Split rt2x00lib_write_tx_desc() Split rt2x00lib_write_tx_desc() up into a TX descriptor initializor and TX descriptor writer. This split is required to properly allow mac80211 to move its tx_control structure into the skb->cb array. The rt2x00queue_create_tx_descriptor() function will read all tx control information and convert it into a rt2x00 TX descriptor information structure. After that function is complete, we have all information we needed from the tx control structure and are free to start writing into the skb->cb array for our own purposes. rt2x00queue_write_tx_descriptor() will be in charge of really sending the TX descriptor to the hardware and kicking the TX queue. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4de36fe5abe077a4c65bf0b6a309865aa043e055 Author: Gertjan van Wingerde Date: Sat May 10 13:44:14 2008 +0200 rt2x00: Only initialize the minimum needed fields of PCI TX descriptors. In preparation of replacing the statically allocated data DMA buffers with DMA-mapped skb's we need to change the TXD handling of the PCI drivers, by moving the programming of the buffer address fields to the actual TXD writing at TX time, instead of at start-up time. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 70a96109439cba0af0780ee1dc25ec7ed15f0bae Author: Ivo van Doorn Date: Sat May 10 13:43:38 2008 +0200 rt2x00: Preserve descriptor information after memmove() Due to usage of memmove() in rt2x00usb the descriptor can become corrupted because it is being overwritten by the data part. Overall having the descriptor in front of the frame is a bad idea, we can however use the skb->cb array for this task, since that contains more then enough room to hold the entire descriptor and preserve the information long enough. After this we can also cleanup the alignment code a bit to make it work a bit more flexible to allow for all kinds of odd header lengths. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61448f88078e813bbaaa58eb775d650c85e7d407 Author: Gertjan van Wingerde Date: Sat May 10 13:43:33 2008 +0200 rt2x00: Fix queue related oops in case of deselected mac80211 multi-queue feature. With the integration of the mac80211 multiqueue patches it has become possible that the mac80211 layer modifies the number of TX queues that is stored inside the ieee80211_hw structure, especially when multi-queue is not selected. The rt2x00 drivers are not well suited to handle that situation, as they allocate the queue structures before mac80211 has modified the number of queues it is going to use, and also expect the number of allocated queues to match the hardware implementation. Hence, ensure that rt2x00 maintains by itself the number of queues that the hardware supports, and, at the same time, making is not dependent on the preservation of contents inside a mac80211 structure. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61486e0f68d1f8966c09b734566a187d42d65c54 Author: Ivo van Doorn Date: Sat May 10 13:42:31 2008 +0200 rt2x00: Remove ieee80211_tx_control argument from write_tx_desc() Move the last remaining information details read from ieee80211_tx_control in the drivers to the txentry_desc structure. After this we can remove ieee80211_tx_control from the argument list for the callback function, which makes it easier when the control information is moved into skb->cb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fb55f4d1fa252ba1e479284b79da1049d658c371 Author: Ivo van Doorn Date: Sat May 10 13:42:06 2008 +0200 rt2x00: Fix TX status reporting The tx_status enumeration was broken since the introduction of rt61pci. That driver uses different values to report the status of the tx action. This would lead to frames that were reported as success but actually failed to be send out, or frames that were neither successfull or failure which were reported as failure. Fix this by change the TX status reporting and more explicitely check for failure or success. Note that a third possibility is added "unknown". Not all hardware (USB) can report the actual TX status, for rt61pci some frames will receive this status because the TXdone handler is never called for those frames. This unknown will now be handled as neither success or failure, so we no longer increment the failure counter while this conclusion could not be determined from the real status of the frame. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5a6e59991b82580c3ca00115603b85762ec76104 Author: Ivo van Doorn Date: Sat May 10 13:41:32 2008 +0200 rt2x00: trim skb_frame_desc to 32 bytes Remove frame_type from skb_frame_desc and pass it as argument to rt2x00debug_dump_frame(). Change data_len and desc_len to unsigned short to save another 4 bytes in skb_frame_desc. Note that this was the only location where the data_len and desc_len was not yet treated as unsigned short. This trim is required to help mac80211 with adding the TX control and TX status informtation into the skb->cb structure. When that happens, drivers will have approximately 40 bytes left to use freely. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 03194379a77b02df3404ec4848a50c6784e9a8a5 Author: Allan Stephens Date: Wed May 21 14:55:04 2008 -0700 tipc: Fix initialization sequence problems when entering network mode This patch ensures that TIPC's topology service and configuration service are shut down before switching into "network mode". This ensures that TIPC does not mistakenly try to send unnecessary "publication withdraw" messages to other nodes before it is fully initialized for sending off-node messages. Note that the node's current network address is now updated only after the two services are shut down; this ensures that any existing connections to the topology server are terminated correctly using the old address. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 6d4a6672c8263f98544d2b91690dc7074b144090 Author: Allan Stephens Date: Wed May 21 14:54:12 2008 -0700 tipc: Update "previous node" indicators when node address changes This patch ensures that the "previous node" field in any existing TIPC port message header templates is updated properly when a TIPC network address is assigned to the node. (Previously, only the "originating node" field was updated.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 811102ca23dfdde5ee8b782b3a4bbff44c499cb2 Author: Allan Stephens Date: Wed May 21 14:53:34 2008 -0700 tipc: Optimize null pointer check during neighbor discovery This patch optimizes TIPC neighbor discovery code to avoid testing for a null node pointer when the pointer is already known to be non-null. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 2ecb0924d7791372a70ef8f1174e37b329b955c3 Author: Allan Stephens Date: Wed May 21 14:53:00 2008 -0700 tipc: Prevent node object duplication due to simultaneous discovery This patch ensures that the simultaneous discovery of the same neighboring node by multiple interfaces does not cause TIPC to add the node into its internal data structures more than once. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 59f0c4523fdea865fab7d69d878269992a9d08dd Author: Allan Stephens Date: Wed May 21 14:52:30 2008 -0700 tipc: Fix skb_under_panic when configuring TIPC without privileges This patch prevents a TIPC configuration command requiring network administrator privileges from triggering an skbuff underrun if it is issued by a process lacking those privileges. The revised error handling code avoids the use of a potentially uninitialized global variable by transforming the unauthorized command into a new command, then following the standard command processing path to generate the required error message. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit dc58c78c047fb01f4c13e7de91abc5eb931920b3 Author: Pavel Emelyanov Date: Wed May 21 14:17:54 2008 -0700 ip6mr: Use on-device stats instead of private ones. Similar to ipmr. [ Fix build failures -DaveM ] Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cf3677ae19c2f62979b39143f5d2f6b3dfb3b3e4 Author: Pavel Emelyanov Date: Wed May 21 14:17:33 2008 -0700 ipmr: Use on-device stats instead of private ones. These devices use the private area of appropriate size for statistics. Turning them to use on-device ones make them "privless" and thus - really small wrt kmalloc cache, they are allocated from. Besides, code looks nicer, because of absence of multi-braced type casts and dereferences. [ Fix build failures -DaveM ] Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3dca02af38c11a970160387ab36ae6043feb03cd Author: Pavel Emelyanov Date: Wed May 21 14:17:05 2008 -0700 ip6tnl: Use on-device stats instead of private ones. This tunnel uses its own private structure and requires separate patch to switch from private stats to on-device ones. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f56dd017c32e759bbdc88ee59d3f76235d720788 Author: Pavel Emelyanov Date: Wed May 21 14:16:36 2008 -0700 tunnels: Remove stat member from ip_tunnel struct. All users already use on-device statistics, so this field can be safely removed. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2f4c02d40c0d59f4efc59801ad1498cb0f8550ea Author: Pavel Emelyanov Date: Wed May 21 14:16:14 2008 -0700 ipmr: Ipip tunnel uses on-device stats. The ipmr uses ipip tunnels for its purposes and updates the tunnels' stats, but the ipip driver is already switched to use on-device ones. Actually, this is a part of the patch #4 from this set. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4eecc107a85a5882e253bd97310d4e96300a2068 Author: Pavel Emelyanov Date: Wed May 21 14:15:46 2008 -0700 sit: Use on-device stats instead of private ones. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 50f59cea075875d84018a5fc62cf2f5e6173a919 Author: Pavel Emelyanov Date: Wed May 21 14:15:16 2008 -0700 ipip: Use on-device stats instead of private ones. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit addd68eb6fe6f10017974947c90cc85ab2848cf2 Author: Pavel Emelyanov Date: Wed May 21 14:14:22 2008 -0700 ipgre: Use on-device stats instead of private ones. Just switch from tunnel->stat to tunnel->dev->stats. The ip_tunnel->stat member itself will be removed after I fix its other users (very soon). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a339f1c881fdb8092ef9b118610307e10e885fc8 Author: Pavel Emelyanov Date: Wed May 21 14:13:47 2008 -0700 bridge: Use on-device stats instead of private ones. Even though bridges require 6 fields from struct net_device_stats, the on-device stats are always there, so we may just use them. The br_dev_get_stats is no longer required after this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 96e74088f1da4d9a53735a4a57a4f984f86b75c6 Author: Pavel Emelyanov Date: Wed May 21 14:12:46 2008 -0700 net: The dev->get_stats pointer is not NULL nowadays. And so does the pointer is returns, but sysfs and netlinks still check for both cases. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6536d2891ba2c4e837ba8478dc13bb173ed24a23 Author: Dave Kleikamp Date: Wed May 21 10:45:16 2008 -0500 JFS: skip bad iput() call in error path If jfs_iget() fails, we can't call iput() on the returned error. Thanks to Eric Sesterhenn's fuzzer testing for reporting the problem. Signed-off-by: Dave Kleikamp commit d1659fcc59b21ec442564fedb67a5ad371f82380 Author: Adrian Bunk Date: Tue May 20 12:17:39 2008 -0400 Input: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 2d4b3f37ded8998a362c8d0b4be02f583dd9a002 Merge: 7022b15... 8033c6e... Author: Jiri Kosina Date: Tue May 20 16:43:50 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit aea3bfbcfb0453217c8da6cfdc1b2394d214bee5 Author: Clemens Ladisch Date: Tue May 20 14:22:44 2008 +0200 [ALSA] ice1724: fix MIDI The VT1724 MIDI port is not MPU-401 compatible; remove the hacks that try to make the MPU-401 library work with it, and just use some simple device-specific code. Signed-off-by: Clemens Ladisch Tested-by: Pavel Hofman commit 84d6bd0e272e6eace1e7e4c501f32bddfb665bb2 Author: Andy Whitcroft Date: Tue May 20 11:01:19 2008 +0100 x86: cope with no remap space being allocated for a numa node When allocating the pgdat's for numa nodes on x86_32 we attempt to place them in the numa remap space for that node. However should the node not have any remap space allocated (such as due to having non-ram pages in the remap location in the node) then we will incorrectly place the pgdat at zero. Check we have remap available, falling back to node 0 memory where we do not. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Ingo Molnar commit b9ada4281c48076bdb252813be24ddb57e17cade Author: Andy Whitcroft Date: Tue May 20 11:01:08 2008 +0100 x86: reinstate numa remap for SPARSEMEM on x86 NUMA systems Recent kernels have been panic'ing trying to allocate memory early in boot, in __alloc_pages: BUG: unable to handle kernel paging request at 00001568 IP: [] __alloc_pages+0x33/0x2cc *pdpt = 00000000013a5001 *pde = 0000000000000000 Oops: 0000 [#1] SMP Modules linked in: Pid: 1, comm: swapper Not tainted (2.6.25 #78) EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at __alloc_pages+0x33/0x2cc EAX: 00001564 EBX: 000412d0 ECX: 00001564 EDX: 000005c3 ESI: f78012a0 EDI: 00000001 EBP: 00001564 ESP: f7871e50 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 1, ti=f7870000 task=f786f670 task.ti=f7870000) Stack: 00000000 f786f670 00000010 00000000 0000b700 000412d0 f78012a0 00000001 00000000 c105b64d 00000000 000412d0 f78012a0 f7803120 00000000 c105c1c5 00000010 f7803144 000412d0 00000001 f7803130 f7803120 f78012a0 00000001 Call Trace: [] kmem_getpages+0x94/0x129 [] cache_grow+0x8f/0x123 [] ____cache_alloc_node+0xb9/0xe4 [] kmem_cache_alloc_node+0x92/0xd2 [] build_sched_domains+0x536/0x70d [] do_flush_tlb_all+0x0/0x3f [] do_flush_tlb_all+0x0/0x3f [] interleave_nodes+0x23/0x5a [] alternate_node_alloc+0x43/0x5b [] arch_init_sched_domains+0x46/0x51 [] kernel_init+0x0/0x82 [] sched_init_smp+0x10/0xbb [] kernel_init+0x43/0x82 [] kernel_thread_helper+0x7/0x10 Debugging this showed that the NODE_DATA() for nodes other than node 0 were all NULL. Tracing this back showed that the NODE_DATA() pointers were being initialised to each nodes remap space. However under SPARSEMEM remap is disabled which leads to the pgdat's being placed incorrectly at kernel virtual address 0. Leading to the panic when attempting to allocate memory from these nodes. Numa remap was disabled in the commit below. This occured while fixing problems triggered when attempting to boot x86_32 NUMA SPARSEMEM kernels on non-numa hardware. x86: make NUMA work on 32-bit commit 1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed The real problem is believed to be related to other alignment issues in the regions blocked out from the bootmem allocator for small memory systems, and has been fixed separately. Therefore re-enable remap for SPARSMEM, which fixes pgdat allocation issues. Testing confirms that SPARSMEM NUMA kernels will boot correctly with this part of the change reverted. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Ingo Molnar commit 48adcf148c83faa41999fb0b3524299c4e160fd9 Author: Adrian Bunk Date: Tue May 20 01:03:16 2008 +0300 [CPUFREQ] cpufreq: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Dave Jones commit 7a6aedfac98c6d54ecf97ca1ffb1e6a1f3d26aea Author: Mike Travis Date: Tue Mar 25 15:06:53 2008 -0700 [CPUFREQ] change cpu freq arrays to per_cpu variables Change cpufreq_policy and cpufreq_governor pointer tables from arrays to per_cpu variables in the cpufreq subsystem. Also some minor complaints from checkpatch.pl fixed. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git Signed-off-by: Mike Travis Signed-off-by: Dave Jones commit 34ac2573e88c4f80fc5e219d8012ea383a788803 Author: Pavel Emelyanov Date: Mon May 19 13:53:30 2008 -0700 ipv6: Register some net/ipv6/ core sysctls at read-only root. There are some sysctls left to be switched to read-only, but they are all in ipv6, so complete with them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7d291ebb834278e30c211b26fb7076adcb636ad9 Author: Pavel Emelyanov Date: Mon May 19 13:53:02 2008 -0700 inet: Register fragmentation some ctls at read-only root. Parts of fragments-related sysctls are read-only, but this is done by cloning all the tables and dropping write-bits from mode. Do the same but with read-only root. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0002c630c4ee7a3c6b1d87e34bfd6ce9694b49be Author: Pavel Emelyanov Date: Mon May 19 13:52:28 2008 -0700 ipv6: In fragmentation code, handle error returned from register_pernet_subsys. The error code is ignored now, but ipv6 is a module and one can be loaded under memory pressure, so the error may occur (in theory). Besides, I'm going to handle error returned from registering a read-only part of the table, so ignoring this one, while handing the other one would look strange. (However, this possibility of error is rather small, so I'm not sure whether this is a candidate for current net tree). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0a64b4b811025ce0386ad84d81504e4ff7985856 Author: Pavel Emelyanov Date: Mon May 19 13:51:29 2008 -0700 inet: Rename fragmentation sysctl-related functions/variables. The fragments sysctls also contains some, that are to be visible, but read-only in net namespaces. The naming in net/core/sysctl_net_core.c is - tables, that are to be registered in namespaces have a "ns" word in their names. So rename ones in ipv4/ip_fragment.c and ipv6/reassembly.c to fit this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d5a4502e9efa534212484fd691339f6469cf95ff Author: Pavel Emelyanov Date: Mon May 19 13:49:52 2008 -0700 netns: Register net/core/ sysctls at read-only root. Most of the net/core/xxx sysctls are read-only now, but this goal is achieved with excessive memory consumption in each namespace - the whole table is cloned and most of the entries in it are ~= 0222. Split it into two parts and register (the largest) one at the read-only root. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d62c612ef8a66be534a3ada598cfa28d40cd0b3c Author: Pavel Emelyanov Date: Mon May 19 13:45:33 2008 -0700 netns: Introduce sysctl root for read-only net sysctls. This one stores all ctl-heads in one list and restricts the permissions not give write access to non-init net namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5b06c85c3b96fa8db632f1ee94f99a2bd0215f3a Author: Allan Stephens Date: Mon May 19 13:30:13 2008 -0700 tipc: Cosmetic cleanup of topology service code This patch contains a set of cosmetic changes to TIPC's network topology service subsystem, including: - updates to comments (including copyright dates) - re-ordering structure fields to group them more logically - removal of optional debugging code that is no longer required - minor changes to whitespace to conform to Linux coding conventions Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 28353e7fad1d224687220a448950dc552645a50a Author: Allan Stephens Date: Mon May 19 13:29:47 2008 -0700 tipc: Consolidate subscriber & subscriber port references This patch modifies TIPC's network topology service so that it only requires a single reference table entry per subscriber connection, rather than two. This is achieved by letting the reference to the server port communicating with the subscriber act as the reference to the subscriber object itself. (Since the subscriber cannot exist without its port, and vice versa, this dual role for the reference is perfectly natural.) This consolidation reduces the size of the reference table by 50% in the default configuration. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit fc5ad582709ce9c7b9ab7b70c1e5b5e2cfc384db Author: Allan Stephens Date: Mon May 19 13:29:06 2008 -0700 tipc: Fix bug in topology server byte swapping routine This patch fixes TIPC's topology server so that it does byte swapping correctly when endianness conversion is required. (Note: This bug only impacted an application if it issues a subscription request to a topology server on another node, rather than the server on it's own node; since the topology server is normally not accessible by off-node applications, most TIPC applications were not impacted by the bug.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 8e9501f5188d90eed737240453c32cad01849c96 Author: Allan Stephens Date: Mon May 19 13:28:32 2008 -0700 tipc: Add support for customized subscription endianness This patch enables TIPC's topology server code to do customized endianness conversions on a per-subscription basis. (This capability is needed to support the upcoming consolidation of subscriber and subscription object references.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e15f880409c807bb589e9492263564e80f0de6e9 Author: Allan Stephens Date: Mon May 19 13:27:31 2008 -0700 tipc: Add support for customized subscription overlap handling This patch enables TIPC's topology server code to do customized overlap detection handling on a per-subscription basis. (This capability is needed to support the upcoming introduction of multi-cluster TIPC networks.) Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 33e5b22285f63ede858c00456f3ffbc2ea79d6cf Author: Werner Almesberger Date: Mon Apr 14 14:26:44 2008 +0200 [ALSA] soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled When timer ticks are disabled when calling sound/soc/s3c24xx/s3c24xx-i2s.c:s3c24xx_snd_lrsync and the LR signal never happens, we loop forever. This has been observed in the following call chain: snd_pcm_common_ioctl1 -> snd_pcm_action_lock_irq -> snd_pcm_action_single -> snd_pcm_do_resume -> soc_pcm_trigger -> s3c24xx_i2s_trigger The patch below changes the timeout mechanism to use udelay, which doesn't need timer ticks. Signed-off-by: Werner Almesberger Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a65f0568f6cc8433877fb71dd7d36b551854b0bc Author: Mark Brown Date: Tue May 13 14:54:43 2008 +0200 [ALSA] soc - Convert Wolfson codec drivers to use bulk DAPM registration Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3ff3f64ba04b3e5a86dce5239b10268798f68ad7 Author: Mark Brown Date: Mon May 19 12:32:25 2008 +0200 [ALSA] ASoC: core checkpatch cleanups Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0be9898adb6f58fee44f0fec0bbc0eac997ea9eb Author: Mark Brown Date: Mon May 19 12:31:28 2008 +0200 [ALSA] ASoC: Clarify API for bias configuration Currently the ASoC core configures the bias levels in the system using a callback on codecs and machines called 'dapm_event', passing it PCI style power levels as SNDRV_CTL_POWER_ constants. This is more obscure than it needs to be and has caused confusion to driver authors, especially given that DAPM is also performing power management. Address this by renaming the callback function to 'set_bias_level' and using constants explicitly representing the off, standby, pre-on and on states which DAPM transitions through. Also unexport the API for setting bias level: there are currently no in-tree users of this API other than the core itself and it is likely that the core would need to be extended to cater for any users. Signed-off-by: Mark Brown Cc: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 284d115ec9b70d7c38752d10ad393a198db07a4b Author: Russell King Date: Sun Apr 20 17:32:16 2008 +0100 [ARM] pxa: separate PXA25x and PXA27x UDC register definitions The PXA25x and PXA27x USB device controller register definitions are different. Currently, they live side by side in pxa-regs.h, but only one set is available depending on the setting of PXA25x or PXA27x. This means that if we build to support both PXA25x and PXA27x, the PXA27x definitions are unavailable, even to PXA27x specific code. Remove these definitions from pxa-regs.h, and place them in separate files. Include these files where appropriate. Note: according to the dependencies in drivers/usb/gadget/Kconfig, we do not support the UDC on PXA27x nor PXA3xx CPUs, so remove the platform devices from pxa27x.c and pxa3xx.c. Signed-off-by: Russell King commit 02a8e76979f9b439642e67955edb865c112926f6 Author: Russell King Date: Sun Apr 20 17:15:32 2008 +0100 [ARM] pxa: corgibl_limit_intensity build errors If CONFIG_BACKLIGHT_CORGI is not selected, then corgibl_limit_intensity() is not present. However, both corgi_pm.c and sharp_pm.c reference this symbol, resulting in a link error. Wrap the references with the relevant ifdefs, and avoid the resulting NULL pointer dereference by making the code in sharpsl_pm.c also conditional on the config symbol. Signed-off-by: Russell King commit 75540c1ac3c7bd72ac8e092058f9714875239995 Author: eric miao Date: Sun Apr 13 21:44:04 2008 +0100 [ARM] pxa: Add PXA support for PWM API Patch mainly from Eric Miao, with minor edits by rmk. Note: PWM0 and PWM2 share the same register I/O space and clock gating on pxa{27x, 3xx}, thus PWM2 is treated in the driver as a child PWM of PWM0. And this is also true for PWM1/3. Signed-off-by: eric miao Signed-off-by: Russell King commit 1a189b97190d3f0f8cf0379a799d3555b2d648bb Author: Russell King Date: Sun Apr 13 21:41:55 2008 +0100 [ARM] pxa: Add bare bones PWM API Signed-off-by: Russell King commit 1ef6ab75c7deef931d6308af282ed7d8e480e77f Author: Mark Brown Date: Mon May 19 12:31:55 2008 +0200 [ALSA] ASoC: Make CPU and codec DAI operations have same type The CPU and codec DAI operations differ only in the presence of the digital mute operation for the codec so they may as well be the same type. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b2efbbfba24efc8456d68d5af42d082ab1c2febc Author: Mark Brown Date: Mon May 19 12:30:58 2008 +0200 [ALSA] ASoC: Remove in-code changelogs The overwhelming majority just say 'initial version' anyway. Signed-off-by: Mark Brown Acked-by: Ben Dooks Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9ad593f6d326e7a4664e3856520f6c042f82a37f Author: Takashi Iwai Date: Fri May 16 12:34:47 2008 +0200 [ALSA] hda - Fix DMA position inaccuracy Many HD-audio controllers seem inaccurate about the IRQ timing of PCM period updates. This has caused problems on audio quality; e.g. JACK doesn't work with two periods. This patch fixes the problem by checking the current DMA position at IRQ handler and delays the period-update via a workq if it's inaccurate. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 02330fbaaded5b603cba112e4bbf62cdadec159a Author: Andreas Mohr Date: Fri May 16 12:18:29 2008 +0200 [ALSA] PCI168 snd-azt3328 Linux driver: another huge update - figured out 'Digital(ly) Enhanced Game Port' functionality, implemented support for it (eliminating gameport polling overhead) - removed optional joystick activation, gameport now enabled unconditionally, since we now support it via the PCI I/O space, not via conflict-prone legacy I/O (which I was thus able to DISABLE now)! - fix playback bug (a muted wave output would get unmuted upon start of playback, of course this is not what we want, thus remember mute state) - implement partial power management: when idle, lower clock rate and disable codec (reduced noise!), and disable gameport circuit when unused - instantiate OPL3 timer, too - much better implementation of snd_azf3328_mixer_write_volume_gradually() - slightly optimized interrupt handling - lots of cleanup This time, I also found a way to verify proper OPL3 operation via MIDI file playback (emulation via synth hardware). Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f99a633a151686a599413bef758253dfd04887d1 Author: Jarkko Nikula Date: Thu May 15 11:01:36 2008 +0200 [ALSA] ASoC: Convert N810 machine driver to use gpiolib Use gpiolib since it is now available for OMAPs. Change also references to HW version RX44 to product name N810. Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1a2505988ea650b61bd07722e99080a40ff27653 Author: Mark Brown Date: Tue May 13 14:58:57 2008 +0200 [ALSA] soc - n810 - Update for bulk DAPM registration APIs Signed-off-by: Mark Brown Cc: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit acf497f996aa08f03c62a3150abd7939ae23de4c Author: Mark Brown Date: Tue May 13 14:58:30 2008 +0200 [ALSA] soc - davinci-evm - Update for bulk DAPM registration APIs Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8f3112d7a847c2933a42ce29f17899f585d09106 Author: Mark Brown Date: Tue May 13 14:58:03 2008 +0200 [ALSA] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs Signed-off-by: Mark Brown Cc: Graeme Gregory Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 51e6a8411a9440f0fdba6cdd7d779e74f89debc4 Author: Mark Brown Date: Tue May 13 14:57:37 2008 +0200 [ALSA] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration Signed-off-by: Mark Brown Cc: Frank Mandarino Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 25191c45aec54cd01b53391bb0b0e1e60377a5fc Author: Mark Brown Date: Tue May 13 14:55:48 2008 +0200 [ALSA] soc - Zaurus - Convert to bulk DAPM registration APIs Signed-off-by: Mark Brown Cc: Richard Purdie Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d0cc0d3a95cc3c022ee118072d243d3670ec1663 Author: Mark Brown Date: Tue May 13 14:55:22 2008 +0200 [ALSA] soc - tlv320aic3x - Convert to use bulk registration APIs Signed-off-by: Mark Brown Cc: Jarkko Nikula Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 105f1c28442301237d20b05a3d52d9987614016f Author: Mark Brown Date: Tue May 13 14:52:19 2008 +0200 [ALSA] soc - DAPM - Bulk route registration ASoC codecs and machine drivers that use DAPM routes all cut'n'paste a loop iterating over a null terminated array of routes. Factor out this into a bulk registration function, improving the error reporting for most users, and deprecate the old API to help out of tree users pick up the changes. Signed-off-by: Mark Brown Cc: Graeme Gregory Cc: Frank Mandarino Cc: Jarkko Nikula Cc: Richard Purdie Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4ba1327ab8ce179c40862f3dedb4ebaaa491d737 Author: Mark Brown Date: Tue May 13 14:51:19 2008 +0200 [ALSA] soc - DAPM - Add bulk control registration Most SoC drivers cut'n'paste a loop iterating over an array to register their DAPM controls. Provide a function they can call instead. Signed-off-by: Mark Brown Cc: Graeme Gregory Cc: Frank Mandarino Cc: Jarkko Nikula Cc: Richard Purdie Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ca1f30ad6c3f002d1d9b9355a53b8bbf2fe70588 Author: Clemens Ladisch Date: Tue May 13 09:26:01 2008 +0200 [ALSA] virtuoso: restrict period time to less than 10 s Add a constraint for the period time so that there are less than ten seconds between interrupts so that ALSA does not assume that the device is dead. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d55d7a1cbbd069f8368ec5c67480d319e7b227b9 Author: Clemens Ladisch Date: Tue May 13 09:25:39 2008 +0200 [ALSA] oxygen: add symbols for buffer/period size constraints Introduce symbols for the buffer/period size constraints so that their limits and relationships become clearer. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 4a4bc53bc52978dd6c918531921da925fd047d95 Author: Clemens Ladisch Date: Tue May 13 09:24:39 2008 +0200 [ALSA] oxygen: add PM support Add suspend/resume support. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 92215f3a178080bd9d7c65879499e9474e54d55c Author: Clemens Ladisch Date: Tue May 13 09:23:02 2008 +0200 [ALSA] virtuoso: add xonar_enable_output() Move the setting of the output enable GPIO bit to a separate function. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 75146fc0f9368ea41419792ac8bfdd19273b4473 Author: Clemens Ladisch Date: Tue May 13 09:22:43 2008 +0200 [ALSA] oxygen: separate out hardware initialization code Create separate functions for the code that initializes the hardware, as opposed to initializing internal driver state, so that they can be reused for resume support. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit bbbfb5526650cb9d01c5c230a4e3cbbc18474c41 Author: Clemens Ladisch Date: Tue May 13 09:21:48 2008 +0200 [ALSA] oxygen: simplify DAC volume initialization When initializing the DAC volume registers, we can just use the generic volume update functions instead of setting the registers manually. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit e58aee95806c9d2bbcfc84cb85ce958e360165ef Author: Clemens Ladisch Date: Tue May 13 09:20:51 2008 +0200 [ALSA] oxygen: save register writes Save the written values of all CMI8788 and AC97 registers and of some of the DAC/ADC registers so that it is possible to restore the register state later. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c13650079ba3bed1c0bdd9bf4a13274be7676ff6 Author: Clemens Ladisch Date: Tue May 13 09:19:53 2008 +0200 [ALSA] oxygen: add symbol for I/O space size Remove another magic number - add a symbol for the size of the PCI I/O range. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d023dc0aa25d6a4f7dd0d109179a2077d22a7ad2 Author: Clemens Ladisch Date: Tue May 13 09:18:27 2008 +0200 [ALSA] oxygen: fix version in MODULE_LICENSE Adjust the MODULE_LICENSE strings to properly reflect the actual license. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c17cf06bfc4417a79d452c266e819c510f6a8344 Author: Takashi Iwai Date: Fri May 9 12:45:56 2008 +0200 [ALSA] Remove unneeded ugly hack for i386 in memalloc.c The hack for dma_alloc_coherent() is no longer needed on 2.6.26 since the base code was improved. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f3e9d5d1fd6a164611043c053de585a35d76d6a9 Author: Daniel Mack Date: Thu May 8 15:42:15 2008 +0200 [ALSA] snd_usb_caiaq: add support for 'Session I/O' interface This patch adds suport for Native Instruments new 'Guitar Rig Session I/O' audio hardware. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 48008b598bb9cfffbd871512f49d84eb5b885a00 Author: Harvey Harrison Date: Thu May 8 13:01:32 2008 +0200 [ALSA] i2c: cs8427.c use put_unaligned helper Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87af38dafe4f930921b9217c21ec6d72cad56bcc Author: Daniel Jacobowitz Date: Wed May 7 12:05:10 2008 +0200 [ALSA] ac97 - Add virtual master control to VT1616/VT1617A codec. Enable VMASTER for VT1616 / VT1617A codec. Signed-off-by: Daniel Jacobowitz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1894c59fdb63692f5ba2576875cc558b856935ca Author: Tim Niemeyer Date: Mon May 5 14:16:12 2008 +0200 [ALSA] soc - Patch to add debug messages to the neo1973_wm8753 (GTA01) sound driver Signed-off-by: Tim Niemeyer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 650f6b13318bce6a8d59bfa48fe15b5832623cbc Author: Stephen Rothwell Date: Thu May 1 10:49:18 2008 +0200 [ALSA] sound: fix export symbol typo Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eeec12bf7b7d80d1c9cae5aae0dff7e2f928c64b Author: Graeme Gregory Date: Wed Apr 30 19:27:40 2008 +0200 [ALSA] soc - DAPM - add hook to read state of DAPM widget This adds a hook to read the power state of a DAPM widget, I use this in the gta02 driver to expose certain DAPM widgets in the mixer for ease of audio routing. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 54e7e6167d29a4a98207884b2fbd28b0b3fe91f6 Author: Daniel Mack Date: Wed Apr 30 16:20:52 2008 +0200 [ALSA] soc - tlv320aic3x - add GPIO support This patch adds support for AIC3x GPIO lines. They can be configured for many possible functions as well as be driven manually. I also introduced i2c read functionality since the GPIO state register has to be read from hardware every time and can not be served from cache. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4f9c16ccfa26691dbb9a5d9e7d5098eb934ccdbe Author: Daniel Mack Date: Wed Apr 30 16:20:19 2008 +0200 [ALSA] soc - tlv320aic3x - revisit clock setup This patch cleans up the clocking setup for aic3x codecs. It drops the dividers table and determines the PLL control values programatically. Under certain conditions, the PLL is disabled entirely which could save some power. Signed-off-by: Daniel Mack Acked-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 711bbdd659b685b45d3f28b29a00f17be6484f38 Author: Ingo Molnar Date: Sat May 17 08:26:25 2008 +0200 rculist.h: fix include in net/netfilter/nf_conntrack_netlink.c this file has rculist dependency but did not explicitly include it, which broke the build. Signed-off-by: Ingo Molnar commit 247ab1a80595100bd7ea61d174f8b7b7e5f8d4bb Author: Huang Weiyi Date: Wed May 14 16:23:00 2008 -0700 rcu: remove duplicated include in kernel/rcupreempt.c Removed duplicated include file in kernel/rcupreempt.c. Signed-off-by: Huang Weiyi Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit e19a98967f49cb63352b3db4818983ea2cec24ba Author: Huang Weiyi Date: Wed May 14 16:23:00 2008 -0700 rcu: remove duplicated include in kernel/rcupreempt_trace.c Removed duplicated include file in kernel/rcupreempt_trace.c Signed-off-by: Huang Weiyi Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 78b0e0e9b27b62c4b22f05a147f7a80fa58b1ae3 Author: Paul E. McKenney Date: Mon May 12 21:21:06 2008 +0200 RCU, rculist.h: fix list iterators RCU list iterators: should prefetch ever be optimised out with no side-effects, the current version will lose the barrier completely. Pointed-out-by: Linus Torvalds Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit d7c0651390b6a03ad53f99faec0ba88109d7191d Author: Paul E. McKenney Date: Mon May 12 21:21:06 2008 +0200 rcu: fix rcu_try_flip_waitack_needed() to prevent grace-period stall The comment was correct -- need to make the code match the comment. Without this patch, if a CPU goes dynticks idle (and stays there forever) in just the right phase of preemptible-RCU grace-period processing, grace periods stall. The offending sequence of events (courtesy of Promela/spin, at least after I got the liveness criterion coded correctly...) is as follows: o CPU 0 is in dynticks-idle mode. Its dynticks_progress_counter is (say) 10. o CPU 0 takes an interrupt, so rcu_irq_enter() increments CPU 0's dynticks_progress_counter to 11. o CPU 1 is doing RCU grace-period processing in rcu_try_flip_idle(), sees rcu_pending(), so invokes dyntick_save_progress_counter(), which in turn takes a snapshot of CPU 0's dynticks_progress_counter into CPU 0's rcu_dyntick_snapshot -- now set to 11. CPU 1 then updates the RCU grace-period state to rcu_try_flip_waitack(). o CPU 0 returns from its interrupt, so rcu_irq_exit() increments CPU 0's dynticks_progress_counter to 12. o CPU 1 later invokes rcu_try_flip_waitack(), which notices that CPU 0 has not yet responded, and hence in turn invokes rcu_try_flip_waitack_needed(). This function examines the state of CPU 0's dynticks_progress_counter and rcu_dyntick_snapshot variables, which it copies to curr (== 12) and snap (== 11), respectively. Because curr!=snap, the first condition fails. Because curr-snap is only 1 and snap is odd, the second condition fails. rcu_try_flip_waitack_needed() therefore incorrectly concludes that it must wait for CPU 0 to explicitly acknowledge the counter flip. o CPU 0 remains forever in dynticks-idle mode, never taking any more hardware interrupts or any NMIs, and never running any more tasks. (Of course, -something- will usually eventually happen, which might be why we haven't seen this one in the wild. Still should be fixed!) Therefore the grace period never ends. Fix is to make the code match the comment, as shown below. With this fix, the above scenario would be satisfied with curr being even, and allow the grace period to proceed. Signed-off-by: Paul E. McKenney Cc: Peter Zijlstra Cc: Josh Triplett Cc: Dipankar Sarma Cc: Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 10aa9d2cf9878757b003023d33ff90a37aa3044b Author: Franck Bui-Huu Date: Mon May 12 21:21:06 2008 +0200 rculist.h: use the rcu API Make almost all list mutation primitives use rcu_assign_pointer(). The main point of this being readability improvement. Signed-off-by: Franck Bui-Huu Cc: "Paul E. McKenney" Cc: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 82524746c27fa418c250a56dd7606b9d3fc79826 Author: Franck Bui-Huu Date: Mon May 12 21:21:05 2008 +0200 rcu: split list.h and move rcu-protected lists into rculist.h Move rcu-protected lists from list.h into a new header file rculist.h. This is done because list are a very used primitive structure all over the kernel and it's currently impossible to include other header files in this list.h without creating some circular dependencies. For example, list.h implements rcu-protected list and uses rcu_dereference() without including rcupdate.h. It actually compiles because users of rcu_dereference() are macros. Others RCU functions could be used too but aren't probably because of this. Therefore this patch creates rculist.h which includes rcupdates without to many changes/troubles. Signed-off-by: Franck Bui-Huu Acked-by: Paul E. McKenney Acked-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 32300751b4079cb5688453baa94711579d4285d5 Author: Paul E. McKenney Date: Mon May 12 21:21:05 2008 +0200 sched: 1Q08 RCU doc update, add call_rcu_sched() Long-delayed update to the RCU documentation, including adding the new call_rcu_sched() and rcu_barrier_sched() APIs. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2326974df29988181b6b69ed6fbf42b17adf916f Author: Paul E. McKenney Date: Mon May 12 21:21:05 2008 +0200 rcu: add call_rcu_sched() and friends to rcutorture Add entry to rcu_torture_ops allowing the correct barrier function to be used upon exit from rcutorture. Also add torture options for the new call_rcu_sched() API. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 70f12f848d3e981479b4f6f751e73c14f7c13e5b Author: Paul E. McKenney Date: Mon May 12 21:21:05 2008 +0200 rcu: add rcu_barrier_sched() and rcu_barrier_bh() Add rcu_barrier_sched() and rcu_barrier_bh(). With these in place, rcutorture no longer gives the occasional oops when repeatedly starting and stopping torturing rcu_bh. Also adds the API needed to flush out pre-existing call_rcu_sched() callbacks. Signed-off-by: Paul E. McKenney Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8db559b83009bed92e1b5dd13a651ff273d9ff62 Author: Paul E. McKenney Date: Mon May 12 21:21:05 2008 +0200 rcu: add memory barriers and comments to rcu_check_callbacks() Add comments to the logic that infers quiescent states when interrupting from either user mode or the idle loop. Also add a memory barrier: it appears that James Huang was in fact onto something, as the scheduler is much less synchronization happy than it once was, so we can no longer rely on its memory barriers in all cases. Signed-off-by: Paul E. McKenney Reported-by: James Huang Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4446a36ff8c74ac3b32feb009b651048e129c6af Author: Paul E. McKenney Date: Mon May 12 21:21:05 2008 +0200 rcu: add call_rcu_sched() Fourth cut of patch to provide the call_rcu_sched(). This is again to synchronize_sched() as call_rcu() is to synchronize_rcu(). Should be fine for experimental and -rt use, but not ready for inclusion. With some luck, I will be able to tell Andrew to come out of hiding on the next round. Passes multi-day rcutorture sessions with concurrent CPU hotplugging. Fixes since the first version include a bug that could result in indefinite blocking (spotted by Gautham Shenoy), better resiliency against CPU-hotplug operations, and other minor fixes. Fixes since the second version include reworking grace-period detection to avoid deadlocks that could happen when running concurrently with CPU hotplug, adding Mathieu's fix to avoid the softlockup messages, as well as Mathieu's fix to allow use earlier in boot. Fixes since the third version include a wrong-CPU bug spotted by Andrew, getting rid of the obsolete synchronize_kernel API that somehow snuck back in, merging spin_unlock() and local_irq_restore() in a few places, commenting the code that checks for quiescent states based on interrupting from user-mode execution or the idle loop, removing some inline attributes, and some code-style changes. Known/suspected shortcomings: o I still do not entirely trust the sleep/wakeup logic. Next step will be to use a private snapshot of the CPU online mask in rcu_sched_grace_period() -- if the CPU wasn't there at the start of the grace period, we don't need to hear from it. And the bit about accounting for changes in online CPUs inside of rcu_sched_grace_period() is ugly anyway. o It might be good for rcu_sched_grace_period() to invoke resched_cpu() when a given CPU wasn't responding quickly, but resched_cpu() is declared static... This patch also fixes a long-standing bug in the earlier preemptable-RCU implementation of synchronize_rcu() that could result in loss of concurrent external changes to a task's CPU affinity mask. I still cannot remember who reported this... Signed-off-by: Paul E. McKenney Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b09dee67f484e9b42114b1a1f068e080fd7aa56 Author: Steven Rostedt Date: Mon May 12 21:21:05 2008 +0200 rcupreempt: remove duplicate prototypes rcu_batches_completed and rcu_patches_completed_bh are both declared in rcuclassic.h and rcupreempt.h. This patch removes the extra prototypes for them from rcupdate.h. rcu_batches_completed_bh is defined as a static inline in the rcupreempt.h header file. Trying to export this as EXPORT_SYMBOL_GPL causes linking problems with the powerpc linker. There's no need to export a static inlined function. Modules must be compiled with the same type of RCU implementation as the kernel they are for. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a8ac1ae3a2a8ceb5bc1d334a502d42f59b91379c Merge: b4ef290... b8291ad... Author: Ingo Molnar Date: Mon May 19 09:23:07 2008 +0200 Merge branch 'linus' into x86/pat commit b55e0ba19cd2d83317a7f1dbb626080951442ab3 Author: J. Bruce Fields Date: Mon Apr 28 18:22:50 2008 -0400 nfsd: remove unnecessary atomic ops These bit operations don't need to be atomic. They're all done under a single big mutex anyway. Signed-off-by: J. Bruce Fields commit 0bec0bba7a507bdaf07312fcabdc00b5576abb32 Author: Jonathan Corbet Date: Thu May 15 09:25:03 2008 -0600 pcmcia: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 0911810755fc9f15659cc3cb43912633b90027a0 Author: Jonathan Corbet Date: Thu May 15 09:21:33 2008 -0600 cosa: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 3db633ee352bfe20d4a2b0c3c8a46ce31a6c7149 Author: Jonathan Corbet Date: Thu May 15 09:21:02 2008 -0600 i2c: cdev lock_kernel() pushdown Signed-off-by: Jonathan Corbet commit 5119e92efc733d730b34f9605a5ae61fdc4bf649 Author: Jonathan Corbet Date: Thu May 15 09:12:01 2008 -0600 x86: cdev lock_kernel() pushdown Push the cdev lock_kernel() call down into the x86 msr and cpuid drivers. Signed-off-by: Jonathan Corbet commit 1fa984b583a809423ddb1d88fa46484071f85f80 Author: Jonathan Corbet Date: Thu May 15 09:11:26 2008 -0600 sh: cdev lock_kernel() pushdown Push the cdev lock_kernel() call down into the sh gio driver. Signed-off-by: Jonathan Corbet commit 7558da942e51933b5e6aa5e851d4da1df0cd6752 Author: Jonathan Corbet Date: Thu May 15 09:10:50 2008 -0600 mips: cdev lock_kernel() pushdown Push the cdev lock_kernel() call into MIPS-specific drivers. Signed-off-by: Jonathan Corbet commit 0c401df37ef9f45f35390a5574e24cbf3f916acf Author: Jonathan Corbet Date: Thu May 15 09:10:18 2008 -0600 cris: cdev lock_kernel() pushdown Push the cdev lock_kernel() call into cris drivers. Signed-off-by: Jonathan Corbet commit 75bd2ef1457998791cfc89cd59927574488fc22a Author: Jonathan Corbet Date: Thu May 15 09:09:23 2008 -0600 bsg: cdev lock_kernel() pushdown Push the cdev lock_kernel call into bsg_open(). Signed-off-by: Jonathan Corbet commit b4ef290d7c3abd1bf8cefcf8def359537fda7f31 Merge: 77b52b4... f26a398... Author: Thomas Gleixner Date: Sun May 18 11:54:43 2008 +0200 Merge branch 'linus' into x86/pat commit 538f0fd0f210c2ce5c585799f18d0e5c7cf6155e Merge: 3bb6fbf... f26a398... Author: Thomas Gleixner Date: Sat May 17 17:12:24 2008 +0200 Merge branch 'linus' into x86/gart commit dedd4915af40cff6614707c50dcae43d17beadec Author: Ingo Molnar Date: Sat May 17 08:28:33 2008 +0200 bitops: fix build in struct thread_info we can move flags from u32 to natural size - assembly code uses offsetof. Signed-off-by: Ingo Molnar commit 236ae64063faf7d3398b4f9a889421b0d27a69d2 Author: Michael Chan Date: Fri May 16 22:20:59 2008 -0700 bnx2: Update version to 1.7.6. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 10343cca2bad3f9fdad214385bed0a9aadf4ffd4 Author: Benjamin Li Date: Fri May 16 22:20:27 2008 -0700 bnx2: Pre-initialize struct cpu_reg. Instead of assigning values for the struct cpu_reg's at runtime, we already know these values at compile time. Therefore, we can use designated initializers, to initialize these structures and not have to incur this assignment cost at run-time. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 601d3d18b2c1e4c197aa3cd902fb77bd99c41f10 Author: Benjamin Li Date: Fri May 16 22:19:35 2008 -0700 bnx2: Rename RX_COPY_THRESH to BNX2_RX_COPY_THRESH. To make the bnx2 code more consistent, all instances of RX_COPY_THRESH have been changed to BNX2_RX_COPY_THRESH. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d89cb6af41559a601e9cfe081d34de07945b0d8b Author: Benjamin Li Date: Fri May 16 22:18:57 2008 -0700 bnx2: Remove the rx_offset field from the bnx2 structure. The rx_offset field is set to a constant value and initialized only once. By replacing all references to the rx_offset field, we can eliminate rx_offset from the bnx2 structure. This will save 4 bytes for every bnx2 instance. [Added parentheses to the definition of BNX2_RX_OFFSET, as noted by Ben Hutchings.] Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6ff2da49c8a68320c2564006c94a492db58de5cd Author: Wendy Xiong Date: Fri May 16 22:18:21 2008 -0700 bnx2: Add EEH PCI recovery. Add PCI recovery functions to the driver. The initial pci state is also saved so the the MSI state can be restored during PCI recovery. Signed-off-by: Wendy Xiong Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9a120bc570627342c17befaa6af9b0a556dfda48 Author: Michael Chan Date: Fri May 16 22:17:45 2008 -0700 bnx2: Allow phy reset to be skipped during chip reset. Andy Gospodarek found that netconsole would panic when resetting bnx2 devices. >From Andy: "The issue is the bnx2_set_link in bnx2_init_nic will print a link-status message before we are fully initialized and ready to start polling. Polling is currently disabled in this state, but since the __LINK_STATE_RX_SCHED is overloaded to not only try and disable polling but also to make the system aware there is something waiting to be polled, we really have to fix this in drivers. The problematic call is the one to netif_rx_complete as it tries to remove an entry from the poll_list when there isn't one." While this netconsole problem should be fixed separately, we really should not reset the PHY when changing ring sizes, MTU, or other similar settings. The PHY reset causes several seconds of unnecessary link disruptions. Signed-off-by: Michael Chan Acked-by: Andy Gospodarek Signed-off-by: David S. Miller commit a33466e31213cd7c46696160d3db78680b58f6a3 Author: Dmitry Baryshkov Date: Wed May 7 16:30:15 2008 -0400 Input: gpio-keys debouncing support Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov commit 885c316d776b64728b4ed30e3af60d23c9e46825 Author: Magnus Damm Date: Wed May 7 11:15:02 2008 -0400 Input: add support for SuperH MigoR touchscreen This is V2 of the MigoR touch screen driver. The chip we interface to is unfortunately a custom designed microcontroller speaking some undocumented protocol over i2c. The board specific code is expected to register this device as an i2c chip using struct i2c_board_info [] and i2c_register_board_info(). [dtor@mail.ru: don't enable touchscreen if there are no users] Signed-off-by: Magnus Damm Signed-off-by: Dmitry Torokhov commit 253b00f1e6619055d524188f254ccb951bffce5d Author: Joe Perches Date: Wed May 7 11:15:23 2008 -0400 Input: remove unused defines Remove unused to_dev, to_handler, to_handle from include/linux/input.h Move to_handle_h from include/linux/input.h to drivers/char/keyboard.c Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit ccd3474569a101914444dc37cc108eec22578999 Author: Dmitry Torokhov Date: Tue May 6 12:11:39 2008 -0400 Input: libps2 - remove delayed command execution Delayed command execution is not used by anyone so let's remove it. Reported-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 3e582db0783872a645f5236ef142be6579b300ad Author: Dmitry Torokhov Date: Tue May 6 12:11:29 2008 -0400 Input: gameport - remove rescan/reconnect facilities They have never been used and are unlikely to be used in the future so remove them altogether. Reported-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 2ff98147847de3d27d7aa174d58467d21fe372aa Author: Andres Salomon Date: Tue May 6 12:10:39 2008 -0400 Input: hil_ptr - check return value of input_register_device() [dtor@mail.ru: also signal correct return value to callers] Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit e9542dff390668f85dc8dca0ca019b27e4396f97 Author: Sven Anders Date: Mon May 5 23:57:10 2008 -0400 Input: appletouch - simplify touchpad type detection This patch simplifies type detection and removes unnecessary code. Signed-off-by: Sven Anders [jberg: don't typedef, checkpatch clean, remove useless comments, ...] Signed-off-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit 7dce869f120cd7500e83850a6036dfeffcf77c57 Author: Johannes Berg Date: Mon May 5 23:56:55 2008 -0400 Input: appletouch - miscellaneous code cleanups This patch does some code cleanups in appletouch: * useless comment removal * make almost checkpatch clean * make sparse clean Signed-off-by: Sven Anders [jberg: most of the changes including removing much of the original patch] Signed-off-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit 5b7c407baa9501e49ebd3b6eac30cd4bcb60ca9d Author: Rodney Lorrimar Date: Mon May 5 11:59:24 2008 -0400 Input: adbhid - capslock and power button fix If the adbhid module parameter restore_capslock_events is used, pressing the power button may confuse the capslock state. This is because the power button release scancode (0xff) is sometimes the same as the capslock press/release scancode. This fix adds yet another flag to track the state of the power button so that it works independently of capslock. Signed-off-by: Rodney Lorrimar Signed-off-by: Dmitry Torokhov commit 2e75f044c717b85f65d74c8c90624428ba31078c Author: Rodney Lorrimar Date: Mon May 5 11:59:00 2008 -0400 Input: adbhid - fix capslock key state after suspend If the adbhid module parameter restore_capslock_events is used, sometimes capslock will get stuck down after resuming. My fix is to remember the capslock state before suspend and then ignore the first 'caps lock key down' message after resume if the capslock LED was on before suspending. Signed-off-by: Rodney Lorrimar Signed-off-by: Dmitry Torokhov commit d2fc60d6925574eeeadd037aa0f1378e07189a1a Author: Dmitry Torokhov Date: Mon May 5 11:53:45 2008 -0400 HWMON: hdaps - set up phys and bus type of input device Signed-off-by: Dmitry Torokhov commit 923104747d5c4d58762aa865f71d48d3beb73ae6 Author: Harvey Harrison Date: Mon May 5 11:50:59 2008 -0400 Input: use clamp_val() macro in ff-memless.c Replace two opencoded nested min/max macros with clamp_val(). Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit c6a3ead2ab5d82b549237c52a785b9f736e13463 Author: Harvey Harrison Date: Mon May 5 11:50:40 2008 -0400 Input: wacom - make one-bit signed bitfields unsigned Otherwise it can only take the values 0/-1 which doesn't seem to have been intended. drivers/input/tablet/wacom.h:108:12: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit e34b9d2f46590e3be64466b4095118283745d050 Author: Ping Cheng Date: Mon May 5 11:36:41 2008 -0400 Input: wacom - cleanup handling of tablet IDs Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit ea3e6c59266b783b103c0f42a8de5dbe565a43d4 Author: Harvey Harrison Date: Mon May 5 11:36:18 2008 -0400 Input: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 493d35863dbb692c38c1415fd83d88dfb902ae37 Author: Jeremy Kerr Date: Wed May 14 16:22:58 2008 -0700 mutex-debug: check mutex magic before owner Currently, the mutex debug code checks the lock->owner before lock->magic, so a corrupt mutex will most likely result in failing the owner check, rather than the magic check. This change to debug_mutex_unlock does the magic check first, so we have a better idea of what breaks. Signed-off-by: Jeremy Kerr Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 09e67ca2c523544e6b38aa570a5f62a0cf20b87b Author: Stephen Rothwell Date: Fri May 16 11:57:45 2008 +1000 [POWERPC] Move of_device_get_modalias to drivers/of Commit 140b932f8cb6cced10b96860651a198b1b89cbb9 ("Create modalias file in sysfs for of_platform bus") needs this to avoid breaking the sparc builds. Just move the code and add whitespace around some binary operators. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 7bc228b1ef71f395aeb89bdf81bf95556b08b374 Author: Robert P. J. Day Date: Thu May 15 05:16:44 2008 +1000 [POWERPC] Get most of ioctl.h content from Now that allows overriding of the most commonly changed macros, take advantage of that. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 0b2cca804ee40495bc92449c3e22f3c3a3f2977a Author: Scott Wood Date: Tue Apr 29 01:38:13 2008 +1000 [POWERPC] Add 6xx-style HID0_SLEEP support. This adds a function to put a 6xx/7xx/7xxx/83xx family CPU into sleep mode, and return after an interrupt has occurred. It expects to be called with interrupts disabled, and returns with interrupts disabled. Interrupts are enabled while the processor is asleep, but the interrupt that wakes the processor is not handled; it is still pending when this function returns. Signed-off-by: Scott Wood Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mackerras commit a560643e21e1ac10f7398b45111aecdd7f47a4a5 Author: Paul Mackerras Date: Wed May 14 14:30:48 2008 +1000 [POWERPC] Defer processing of interrupts when the CPU wakes from sleep mode This provides a way to defer processing of an interrupt that wakes the processor out of sleep mode. On 32-bit platforms that use an interrupt to wake the processor, we have to have interrupts enabled in hardware at the point where we go to sleep, otherwise the processor will never wake up. However, because interrupts are logically disabled at this point, we don't want to process the interrupt straight away. This is handled by setting the _TLF_SLEEPING flag. When we get an interrupt and _TLF_SLEEPING is set, we firstly clear the MSR_EE (external interrupt enable) bit in the saved MSR value, and secondly we then return to the address in the link register, like we do for _TLF_NAPPING, but without actually handling the interrupt. Note that this is handled somewhat differently on powerbooks, so this new code will only be used on non-Apple machines. Signed-off-by: Paul Mackerras commit fcff474ea5cb17ff015aa40e92ed86fede41f1e2 Merge: 541b275... f26a398... Author: Paul Mackerras Date: Fri May 16 23:13:42 2008 +1000 Merge branch 'linux-2.6' into powerpc-next commit f42a44494bcdf03fc851c03d438464d59c0ceaf5 Merge: 63fe46d... ef85ad5... Author: David S. Miller Date: Thu May 15 00:52:37 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 63fe46da9c380b3f2bbdf3765044649517cc717c Merge: 99dd1a2... 066b211... Author: David S. Miller Date: Thu May 15 00:34:44 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-4965-rs.c drivers/net/wireless/rt2x00/rt61pci.c commit ef85ad541f9a6ccd3f89ec73f92b2d6f45a9d3e8 Author: Holger Schurig Date: Wed May 14 16:27:18 2008 +0200 libertas: remove lbs_get_data_rate() lbs_get_data_rate() gets called, but no-one uses it's result. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6dcdc19e4ba4e6a9ccd733fdb745ad062cf3ea0a Author: Harvey Harrison Date: Tue May 13 18:13:35 2008 -0700 b43: use the bitrev helpers rather than rolling a private one The 4-bit reversal flip_4bit is replaced with the bitrev helper bitrev8 and a 4-bit shift. The B43_WARN is moved to the location where a register is read from for checking there. The other caller explicitly passes an array index which is guaranteed to be within range and so a B43_WARN is not added there. Signed-off-by: Harvey Harrison Reviewed-by: Michael Buesch Signed-off-by: John W. Linville commit d6894b5be1d674a31a94ed8f057c9f7d98c53999 Author: Bob Copeland Date: Mon May 12 21:16:44 2008 -0400 ath5k: Fix loop variable initializations In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are initialized at the top of the tasklet, but not within the loop. If the loop is executed multiple times in the tasklet then the variables may see changes from previous packets. For TKIP, this results in 'Invalid Michael MIC' errors if two packets are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by mac80211 when it decrypts the first encrypted packet. The subsequent packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211 will not try to decrypt it. We currently initialize all but two fields in the structures, so fix the other two. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit b0a6717994a4e00ee19372e1bdaab53572ae025c Author: Ivo van Doorn Date: Tue May 13 15:03:02 2008 +0200 mac80211: Set IEEE80211_TXPD_REQ_TX_STATUS for all TX frames All interfaces should set the IEEE80211_TXPD_REQ_TX_STATUS flag for all TX frames which will force the master interface to set the IEEE80211_TX_CTL_REQ_TX_STATUS flag. This in turn will allow drivers to check for that flag before reporting the TX status to mac80211. This is very usefull when frames (like beacons, RTS and CTS-to-self) should not be reported back to mac80211. Later we could add more extensive checks to exclude more frames from being reported, or let mac80211 decide if it wants the frame for status reporting or not. v2: Monitor interfaces should also set IEEE80211_TXPD_REQ_TX_STATUS Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7a1d65235da829e6dc8938b82c991e40e278fc50 Author: Huang Weiyi Date: Sat May 10 11:12:31 2008 +0200 b43: nphy.c remove duplicated include Remove duplicated include in drivers/net/wireless/b43/nphy.c Signed-off-by: Huang Weiyi Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2940bb69fd84047e78fdb1868a8b894df5584255 Author: Eric W. Biederman Date: Thu May 8 14:30:18 2008 -0700 wireless: Add missing locking to cfg80211_dev_rename device_rename only performs useful and race free validity checking at the optional sysfs level so depending on it for all of the validity checking in cfg80211_dev_rename is racy. Instead implement all of the needed validity checking and locking in cfg80211_dev_rename. Signed-off-by: Eric W. Biederman Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 601ae7f25aea58f208a7f640f6174aac0652403a Author: Bruno Randolf Date: Thu May 8 19:22:43 2008 +0200 mac80211: make rx radiotap header more flexible use hw flags and rx flags to determine which fields are present in the header and use all available information from the driver. make sure radiotap header starts at a naturally aligned address (mod 8) for all radiotap fields. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 566bfe5a8bcde13188a356f77666f8115813cf31 Author: Bruno Randolf Date: Thu May 8 19:15:40 2008 +0200 mac80211: use hardware flags for signal/noise units trying to clean up the signal/noise code. the previous code in mac80211 had confusing names for the related variables, did not have much definition of what units of signal and noise were provided and used implicit mechanisms from the wireless extensions. this patch introduces hardware capability flags to let the hardware specify clearly if it can provide signal and noise level values and which units it can provide. this also anticipates possible new units like RCPI in the future. for signal: IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific IEEE80211_HW_SIGNAL_DB - dB difference to unspecified reference point IEEE80211_HW_SIGNAL_DBM - dBm, difference to 1mW for noise we currently only have dBm: IEEE80211_HW_NOISE_DBM - dBm, difference to 1mW if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has to provide the maximum value (max_signal) it reports in order for applications to make sense of the signal values. i tried my best to find out for each driver what it can provide and update it but i'm not sure (?) for some of them and used the more conservative guess in doubt. this can be fixed easily after this patch has been merged by changing the hardware flags of the driver. DRIVER SIGNAL MAX NOISE QUAL ----------------------------------------------------------------- adm8211 unspec(?) 100 n/a missing at76_usb unspec(?) (?) unused missing ath5k dBm dBm percent rssi b43legacy dBm dBm percent jssi(?) b43 dBm dBm percent jssi(?) iwl-3945 dBm dBm percent snr+more iwl-4965 dBm dBm percent snr+more p54 unspec 127 n/a missing rt2x00 dBm n/a percent rssi+tx/rx frame success rt2400 dBm n/a rt2500pci dBm n/a rt2500usb dBm n/a rt61pci dBm n/a rt73usb dBm n/a rtl8180 unspec(?) 65 n/a (?) rtl8187 unspec(?) 65 (?) noise(?) zd1211 dB(?) 100 n/a percent drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit fac371d9f09f461dfe9fbbceb2a38e2e12164dda Author: Johannes Berg Date: Wed May 7 23:18:09 2008 +0200 mac80211: fix queue constant confusion In commit 31ccc476b77234f6afb3 (mac80211: QoS related cleanups) I accidentally changed these to use IEEE80211_MAX_AMPDU_QUEUES twice which obviously is wrong, it should be IEEE80211_MAX_QUEUES once. Currently harmless as they're both the same value anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 84e6dc9acf6825f508feae9db6b7d695e64894e0 Author: Bruno Randolf Date: Wed May 7 11:46:02 2008 +0200 zd1211rw: initial IBSS support this adds initial IBSS support for the zydas zd1211rw: convince driver that it can do IBSS mode. add mac80211 beacon_update callback. IBSS merge and TSF updates don't work yet, but it makes the driver usable in ad-hoc networks. Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 736bc924fe7183dd27182a9148e78f250c1637ee Author: Paulius Zaleckas Date: Tue May 6 23:50:30 2008 +0300 atmel: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Kill atmel_get_stats function, because by default it is used identical internal_stats function from net/core/dev.c No need to memset stats to 0, because they are allocated by kzalloc. P.S. Someone should cleanup init_atmel_card function from unneeded initializations to 0/NULL. Out of scope for this patch. Signed-off-by: Paulius Zaleckas Signed-off-by: John W. Linville commit 06a5223d68a7c48bf72a05aad533ea0e8a3453be Author: Paulius Zaleckas Date: Tue May 6 14:44:08 2008 +0300 arlan: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: John W. Linville commit 15dbf1b7b7b6ba6e5159dde60e111f617b2c54ea Author: Bill Moss Date: Tue May 6 11:05:15 2008 +0800 iwl3945: do not delay hardware scan if it is a direct scan iwl3945 <---> mac80211 <----> wpa_supplicant <---> NetworkManager When a hardware scan is completed and another scan is requested in less than two seconds, iwlwifi will not do the second scan and will pass the error code -EAGAIN back to mac80211 where it quickly dies. The error code is not passed along to the calling program wpa_supplicant. After a timeout, wpa_supplicant will just give up but it will not know why the scan failed. This is a weakness in the design. I ran into this issue when I was trying to figure out why it takes more an a minute for NetworkManager to connect after Networking has been disabled and then re-enabled. I found a good deal of unnecessary work being done because mac80211 requests authentication when the interface is not configured, the ANY mode. I created an experimental passive (NOTANY) mode for mac80211 to eliminate this case. Then NetworkManager became so fast that I ran into the iwlwifi 2 second delay next scan issue which we are discussing. The patch resolves the problem by bypassing the delay if the scan request is a direct scan. It should do less harm to the hardware. Signed-off-by: Bill Moss Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3a1081e84b0008de8171a95f2c0fff8489af4300 Author: Ester Kummer Date: Tue May 6 11:05:14 2008 +0800 iwlwifi: adding parameter of fw_restart This patch adds a module parameter of fw_restart which determine if the uCode will be restarted or not in case of error. Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit bc6f59bc9b2f494ca1b018622f1fbd25933bc920 Author: Tomas Winkler Date: Tue May 6 11:05:13 2008 +0800 iwlwifi: add device sysfs version entry This patch adds sysfs version file that displays ucode version and type. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f3d67999348776638644fd0035ee465261cc8c68 Author: Ester Kummer Date: Tue May 6 11:05:12 2008 +0800 iwlwifi: update levels of debug prints This patch updates the levels of debug prints, leaving only one level in each debug print. It was anoying and caused unnecessary prints on hot path. Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8cf769c6dcb7b83d380f20d2873ac20ec7a734b1 Author: Ester Kummer Date: Tue May 6 11:05:11 2008 +0800 iwlwifi: move debug_level to sysfs/bus/pci/devices This patch ports the debug_level from sysfs/bus/pci/drivers/iwl4965 to /sys/class/net/wlanX/device/debug_level Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5d9276daa4c489e9c37c0f0cda915ece632f3cf1 Author: Paulius Zaleckas Date: Mon May 5 22:38:34 2008 +0300 airo: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Changed airo_read_stats function parameter to net_device. Signed-off-by: Paulius Zaleckas Signed-off-by: John W. Linville commit 1b73af8284c3fcbb65eefb9141237b7e45cedd21 Author: Ron Rindjunsky Date: Mon May 5 10:22:51 2008 +0800 iwlwifi: fix spinlock used before initialized The patch fixes spinlock priv->lock (apm_ops.init) is used before it has been initialized. Signed-off-by: Ron Rindjunsky Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 164669032ecbf7c9a3bc78adad4e13ee486e975c Author: Ron Rindjunsky Date: Mon May 5 10:22:50 2008 +0800 iwlwifi: remove 4965 prefix from iwl4965_kw and iwl4965_tx_queue This patch removes the 4965 prefix to form iwl_kw and iwl_tx_queue structs, as they are used mostly in iwlcore now. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit d67f5489d8d9be09bc8e1615ec6c57c3120a731d Author: Ron Rindjunsky Date: Mon May 5 10:22:49 2008 +0800 iwlwifi: handle shared memory Rx index access This patch splits ucode's and driver's shared memory Rx index access to match 4965 and 5000 offsets. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 5ec0397679f1c1606199cfd6f3e24351891c60c3 Author: Abhijeet Kolekar Date: Mon May 5 10:22:48 2008 +0800 iwlwifi : Set monitor mode for 3945 The patch leverages mac80211 configure_filter to enable iwl3945 monitor mode. Signed-off-by: Abhijeet Kolekar Signed-off-by: John W. Linville commit 4419e39b6041b213e49bb13fd40fb267de0eb568 Author: Abhijeet Kolekar Date: Mon May 5 10:22:47 2008 +0800 iwlwifi : Set monitor mode for 4965 The patch leverages mac80211 configure_filter to enable iwl4965 monitor mode. Signed-off-by: Abhijeet Kolekar Signed-off-by: John W. Linville commit f3ccc08c8cdeb784087348e67f41a779c787fa0e Author: Emmanuel Grumbach Date: Mon May 5 10:22:45 2008 +0800 iwlwifi: move iwl4965_init_alive_start to iwl-4965.c This patch moves iwl_4965_init_alive_start to iwl-4965.c. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 27aaba0ca099461badb496bf7cde5ab5cdc89b98 Author: Tomas Winkler Date: Mon May 5 10:22:44 2008 +0800 iwlwifi: compile iwl-sta into iwlcore This patch moves iwl-sta into iwl-core. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1053d35f4ed6876ad9d3a14cdae363db0a7e9b0a Author: Ron Rindjunsky Date: Mon May 5 10:22:43 2008 +0800 iwlwifi: move NIC init and Tx queues init to iwlcore This patch does the following: 1 - change hw_nic_init from a handler to a function 2 - move hw_nic_init function to iwlcore 3 - open a new file - iwl-tx.c 4 - move all Tx queues initialization (part of NIC init) to iwl-tx.c 5 - move iwl_rx_init, previously as part of the NIC init, to iwl-rx.c 6 - iwl4965_tfd_frame rename to iwl_tfd_frame Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5a676bbeaf9e534b75286f2294ec57a4c544f1d2 Author: Ron Rindjunsky Date: Mon May 5 10:22:42 2008 +0800 iwlwifi: create disable SCD Tx FIFOs handler This patch moves disabeling Tx FIFOs in NIC SCD to seperate handlers in 4965 and 5000 cards. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 47c5196e4a340667d8d92053380ecca24ed45a9b Author: Tomas Winkler Date: Mon May 5 10:22:41 2008 +0800 iwlwifi: move iwl4965_set_rxon_ht into iwlcore This patch moves iwl4965_set_rxon_ht to iwlcore under name iwl_set_rxon_ht. It also moves collateral changes iwl_is_channel_extension and iwl_is_fat_tx_allowed. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit bf403db8a2f5580a5eb355a109d29b9287ca51e1 Author: Ester Kummer Date: Mon May 5 10:22:40 2008 +0800 iwlwifi: move per driverdebug_level to per device This patch ports the debug_level to iwl_priv and changes the format of the debug prints. Signed-off-by: Ester Kummer Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2469bf2e9938eef3c6ab0951985b050ff1f8c94f Author: Tomas Winkler Date: Mon May 5 10:22:35 2008 +0800 iwlwifi-5000: add build_addsta_hcmd handler for 5000 HW This patch adds iwl5000_build_addsta_hcmd handler. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 133636deffc86809f59a0c8b768408d13237a9a2 Author: Tomas Winkler Date: Mon May 5 10:22:34 2008 +0800 iwlwifi: generalize iwl4965_send_add_station function This patch moves iwl4965_send_add_station to iwlcore under new name iwl_send_add_sta. Function uses build command handler in order to support multiple HWs. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit db11d6343aa14ab61258bfad9178042d4be49333 Author: Tomas Winkler Date: Mon May 5 10:22:33 2008 +0800 iwlwifi: remove 4965 from rx_packet This patch removes 4965 mark from rx_packet. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8dd266ef4eb51d034fa1c5f9307a9ff07547d8e6 Author: Tomas Winkler Date: Mon May 5 10:22:32 2008 +0800 iwlwifi: debugfs EEPROM dump This patch adds EEPROM dump in debugfs. Signed-off-by: Tomas Winkler Signed-off-by: Abhijeet Kolekar Signed-off-by: John W. Linville commit 6def9761f72501e638e79eebcd70afea12a3a93d Author: Tomas Winkler Date: Mon May 5 10:22:31 2008 +0800 iwlwifi: remove 4965 from station_entry This patch removes 4965 mark form the station entry structure. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6b9b34389c2fdb8618fe2c686b6872d26562fd07 Author: Tomas Winkler Date: Mon May 5 10:22:30 2008 +0800 iwlwifi: don't override association channel with control channel This patch fixes override of association channel with HT control channel. The scenario is currently happening because disassociation flow doesn't clean previous association information (such as is_ht and control channel). Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5a835353fb3c68a3da3badcc485614cdfc6e6109 Author: Ron Rindjunsky Date: Mon May 5 10:22:29 2008 +0800 iwlwifi-5000: rename iwl5000_init_nic to iwl5000_init_config Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a55360e458551b0add4ec147ef786d71e163bf50 Author: Tomas Winkler Date: Mon May 5 10:22:28 2008 +0800 iwlwifi: move RX code to iwl-rx.c This patch moves partialy rx code into iwl-rx.c as part of iwlcore. The second part of the code can be merged only with moving of tx code as well. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0d0b2c1c49814ee54f1b4efd2c715a7465219ede Author: Ron Rindjunsky Date: Sun May 4 14:48:18 2008 +0300 iwlwifi: map A-MPDU HW queue to mac80211 A-MPDU SW queue This patch maps A-MPDU HW queue to mac80211 SW queue scheme (as introduced in patch "mac80211: QoS related cleanups"), when trying to perform ieee80211_wake_queue. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 07346f81e87d6e4cca7ae9adfa711d0c61c87b56 Author: Johannes Berg Date: Sat May 3 01:02:02 2008 +0200 mac80211: proper STA info locking As discussed earlier, we can unify locking in struct sta_info and use just a single spinlock protecting all members of the structure that need protection. Many don't, but one of the especially bad ones is the 'flags' member that can currently be clobbered when RX and TX is being processed on different CPUs at the same time. Because having four spinlocks for different, mostly exclusive parts of a single structure is overkill, this patch also kills the ampdu and mesh plink spinlocks and uses just a single one for everything. Because none of the spinlocks are nested, this is safe. It remains to be seen whether or not we should make the sta flags use atomic bit operations instead, for now though this is a safe thing and using atomic operations instead will be very simple using the new static inline functions this patch introduces for accessing sta->flags. Since spin_lock_bh() is used with this lock, there shouldn't be any contention even if aggregation is enabled at around the same time as both requires frame transmission/reception which is in a bh context. Signed-off-by: Johannes Berg Cc: Tomas Winkler Cc: Ron Rindjunsky Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 3434fbd39862d471c92b66c28cd449deea8e9f90 Author: Johannes Berg Date: Sat May 3 00:59:37 2008 +0200 mac80211: require four hardware queues for QoS/HT This patch makes mac80211 only announce QoS/HT support when the underlying hardware has four (or more) queues. Signed-off-by: Johannes Berg Cc: Ron Rindjunksi Signed-off-by: John W. Linville commit ca21614d4c7a176d3723ac211873020b3722dbda Author: Harvey Harrison Date: Fri May 2 13:47:49 2008 -0700 b43legacy: replace limit_value macro with clamp_val kernel-provided clamp_val is identical, delete the private limit_value helper. Signed-off-by: Harvey Harrison Cc: Michael Buesch Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit cdbf0846e2dd5f122f3910d0e2a305fab337744b Author: Harvey Harrison Date: Fri May 2 13:47:48 2008 -0700 b43: replace limit_value macro with clamp_val kernel-provided clamp_val is identical, delete the private limit_value helper. Signed-off-by: Harvey Harrison Cc: Michael Buesch Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 8c046c8c64ba81dd87468ddaf2db4a5d926b988b Author: Harvey Harrison Date: Fri May 2 13:47:45 2008 -0700 mac80211: tkip.c use kernel-provided infrastructure Use kernel-provided bit rotation and unaligned access infrastructure rather than opencoding it. Some minor spacing adjustments as well. Signed-off-by: Harvey Harrison Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit ae7245cbf27ee6b6423bc363cbe01c93e57befda Author: Harvey Harrison Date: Thu May 1 22:19:33 2008 -0700 wireless: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 5a433b3ad497120d80f1045d37bd1a9ce897388f Author: Harvey Harrison Date: Mon Apr 21 10:41:10 2008 -0700 mac80211: remove unnecessary byteshifts in frame control testing Byteswap the constants rather than the frame_control member. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 88787d2842b6e6ff9bdc218445209c5e3c84d6fa Author: Andrew Morton Date: Tue May 13 21:05:50 2008 -0700 wireless: fix "iwlwifi: unify init driver flow" drivers/net/wireless/iwlwifi/iwl-core.c: In function 'iwlcore_init_geos': drivers/net/wireless/iwlwifi/iwl-core.c:323: error: implicit declaration of function 'iwlcore_init_ht_hw_capab' This (or something like it) should be folded into the base patch to avoid breaking bisection, please. Cc: Ron Rindjunsky Cc: Tomas Winkler Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 541b2755c2ef7dd2242ac606c115daa11e43ef69 Author: Michael Ellerman Date: Thu May 8 14:27:23 2008 +1000 [POWERPC] Fix sparse warnings in arch/powerpc/platforms/pseries Don't return void in pseries/iommu.c Make mce_data_buf static in pseries/ras.c Make things static in pseries/rtasd.c Make things static in pseries/setup.c vtermno may as well be static in platforms/pseries/lpar.c Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 3ff1999b2c84e1486e80fbd3ca12b1663dc3408b Author: Michael Ellerman Date: Thu May 8 14:27:21 2008 +1000 [POWERPC] pseries/firmware.c should include pseries/pseries.h The declaration for fw_feature_init() is in pseries.h and implemented in firmware.c, so the latter should include the former. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 1c21a2937b1f342a8f5d580203c3396557d53b6e Author: Michael Ellerman Date: Thu May 8 14:27:19 2008 +1000 [POWERPC] Fix sparse warnings in arch/powerpc/kernel Make a few things static in lparcfg.c Make init and exit routines static in rtas_flash.c Make things static in rtas_pci.c Make some functions static in rtas.c Make fops static in rtas-proc.c Remove unneeded extern for do_gtod in smp.c Make clocksource_init() static in time.c Make last_tick_len and ticklen_to_xs static in time.c Move the declaration of the pvr per-cpu into smp.h Make kexec_smp_down() and kexec_stack static in machine_kexec_64.c Don't return void in arch_teardown_msi_irqs() in msi.c Move declaration of GregorianDay()into asm/time.h Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 1c8950ff87de950a3b6ccfb26650fc0a56278836 Author: Michael Ellerman Date: Thu May 8 14:27:17 2008 +1000 [POWERPC] Make cpus_in_xmon static and remove extern mess from hvc_console.c This is a little messier than I'd like because xmon.h only exists on powerpc and we can't have a static inline and an extern declaration visible at the same time. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 9f1067c2d98ac1c43f0c82892f5647774a6ac759 Author: Michael Ellerman Date: Thu May 8 14:27:16 2008 +1000 [POWERPC] Fix sparse warnings in xmon.c warning: Using plain integer as NULL pointer warning: Using plain integer as NULL pointer warning: symbol 'excprint' was not declared. Should it be static? warning: symbol 'prregs' was not declared. Should it be static? warning: symbol 'cacheflush' was not declared. Should it be static? warning: symbol 'read_spr' was not declared. Should it be static? warning: symbol 'write_spr' was not declared. Should it be static? warning: symbol 'super_regs' was not declared. Should it be static? warning: symbol 'mread' was not declared. Should it be static? warning: symbol 'mwrite' was not declared. Should it be static? warning: symbol 'byterev' was not declared. Should it be static? warning: symbol 'memex' was not declared. Should it be static? warning: symbol 'bsesc' was not declared. Should it be static? warning: symbol 'dump' was not declared. Should it be static? warning: symbol 'prdump' was not declared. Should it be static? warning: symbol 'generic_inst_dump' was not declared. Should it be static? warning: symbol 'ppc_inst_dump' was not declared. Should it be static? warning: symbol 'memops' was not declared. Should it be static? warning: symbol 'memdiffs' was not declared. Should it be static? warning: symbol 'memlocate' was not declared. Should it be static? warning: symbol 'memzcan' was not declared. Should it be static? warning: symbol 'proccall' was not declared. Should it be static? warning: symbol 'scannl' was not declared. Should it be static? warning: symbol 'hexdigit' was not declared. Should it be static? warning: symbol 'flush_input' was not declared. Should it be static? warning: symbol 'inchar' was not declared. Should it be static? warning: symbol 'take_input' was not declared. Should it be static? warning: symbol 'xmon_init' was not declared. Should it be static? Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit af3b74df1b2fa4dbfb0534818167f6393f5ae7c7 Author: Michael Ellerman Date: Thu May 8 14:27:15 2008 +1000 [POWERPC] Move xmon_irq() declaration into xmon.h The typdef for irqreturn_t was moved into its own header a while back, so there's no reason we can't move xmon_irq() into xmon.h now. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 7d9e793463d854073f5c0dedea991a5b63336d6a Author: Michael Ellerman Date: Thu May 8 14:27:13 2008 +1000 [POWERPC] Add a declaration for xmon() Usually we call xmon() via debugger(), so this could be static. Sometimes when debugging it's nice to be able to call xmon() directly though, so add a declaration. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 8fa29d22dcb2aec97f1a508cd3741c6e0b4a9434 Author: Michael Ellerman Date: Thu May 8 14:27:11 2008 +1000 [POWERPC] sysdev/mpic_msi.c should include sysdev/mpic.h Some of the routines defined in mpic_msi.c are declared mpic.h, so the former should include the latter. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit c884116ac375c5dd137109b58acaa9cf50164796 Author: Michael Ellerman Date: Thu May 8 14:27:09 2008 +1000 [POWERPC] Remove duplicate variable definitions in mm/tlb_64.c Somewhere along the way (e28f7faf05159f1cfd564596f5e6178edba6bd49, "Four level pagetables for ppc64") we ended up with duplicate definitions for pte_freelist_cur and pte_freelist_force_free. Somehow this compiles, but it would be better to just have one definition for each. The two definitions we end up with can be static too! Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 572fb578de59efaaa8d197b0183db43b1128a06e Author: Michael Ellerman Date: Thu May 8 14:27:08 2008 +1000 [POWERPC] Move declaration of tce variables into mmu-hash64.h ... instead of having extern declarations in a .c file. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 09de9ff872bca25ba717a7075c9ee49b1bdb56d2 Author: Michael Ellerman Date: Thu May 8 14:27:07 2008 +1000 [POWERPC] Fix sparse warnings in arch/powerpc/mm Make two vmemmap helpers static in init_64.c Make stab variables static in stab.c Make psize defs static in hash_utils_64.c Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 5f25f06529ecb4b20efc7ba00de599f5b9f4b63c Author: Michael Ellerman Date: Thu May 8 14:27:07 2008 +1000 [POWERPC] Move declaration of init_bootmem_done into system.h ... instead of having an extern declaration in a .c file. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 683307da07afd3a7ee55269ee8cb70c8053b0923 Author: Remi Machet Date: Thu May 1 10:40:44 2008 +1000 [POWERPC] Create of_buses for MV64x60 devices For each mv64360 entry in the OpenFirmware database, add the registration of an of_bus to take care of devices connected to the MV64x60 asynchronous devices controller. This change makes it possible for those devices to be detected by drivers that support the of_platform without having a custom call for each of them in the board file. Signed-off-by: Remi Machet Signed-off-by: Paul Mackerras commit 663276b7c6340e755ed62bed67a2b96f4fc3d513 Author: Kumar Gala Date: Wed Apr 30 20:44:53 2008 +1000 [POWERPC] Set lower flag bits in regs->trap to indicate debug level exception We use the low bits of regs->trap as flag bits. We already indicate critical and machine check level exceptions via this mechanism. Extend it to indicate debug level exceptions. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 7a10174eeafe737f3ccfcece5bdff749c3b044e0 Author: Roland McGrath Date: Mon Apr 28 17:30:37 2008 +1000 [POWERPC] Define and use TLF_RESTORE_SIGMASK Replace TIF_RESTORE_SIGMASK with TLF_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 140b932f8cb6cced10b96860651a198b1b89cbb9 Author: Olaf Hering Date: Thu Apr 24 23:16:00 2008 +1000 [POWERPC] Create modalias file in sysfs for of_platform bus Create /sys/bus/of_platform/devices/*/modalias file to allow autoloading of modules. Modalias files are already present for many other bus types. This adds also a newline to the devspec files. Also create a devspec file for mac-io devices. They were created as a side effect. Use correct buffer size for mac-io modalias buffer. Tested on iBook1 and Efika. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 9d5f525b86453da921360727112161254accc8c1 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 24 09:03:02 2008 +1000 [POWERPC] mpic_u3msi: Failed allocation unnoticed bitmap_find_free_region(), called by mpic_msi_alloc_hwirqs() may return signed, but hwirq is unsigned. A failed allocation remains unnoticed. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mackerras commit ee1a08f963c5abb5ec2d8c5defffecee7c3f84c8 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 24 08:32:26 2008 +1000 [POWERPC] mpic_pasemi_msi: Failed allocation unnoticed bitmap_find_free_region(), called by mpic_msi_alloc_hwirqs() may return signed, but hwirq is unsigned. A failed allocation remains unnoticed. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mackerras commit deb1a5f1134e7da0e3dacd37b5d32b7fe0600a7f Author: Nate Case Date: Tue May 13 14:45:29 2008 -0500 [MTD] [NOR] Support for M50FLW080A and M50FLW080B Add support for M50FLW080A and M50FLW080B revisions of LPC flash devices. Signed-off-by: Aaron Lindner Signed-off-by: Nate Case Signed-off-by: David Woodhouse commit 54ef0ec22a39071a4e7fbedd201cecac9ac6e8a7 Author: Becky Bruce Date: Fri May 2 14:40:38 2008 -0500 [POWERPC] Delete unused fec_8xx net driver This driver has been superseded by fs_enet and is no longer in use. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit b2e03ca7485cac033a0667d9e45e28d32fdee9a5 Author: Alexey Dobriyan Date: Tue May 13 08:22:10 2008 -0500 JFS: switch to seq_files Signed-off-by: Alexey Dobriyan Signed-off-by: Dave Kleikamp commit 99dd1a2b8347ac2ae802300b7862f6f7bcf17139 Merge: 7ef43eb... 7d2e3cb... Author: David S. Miller Date: Tue May 13 01:19:43 2008 -0700 Merge branch 'upstream-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 7d2e3cb7000b883a8e489485ac249be572fe17b1 Author: Jeff Garzik Date: Tue May 13 01:41:58 2008 -0400 [netdrvr] Trim trailing whitespace for several drivers Signed-off-by: Jeff Garzik commit 3f8cb098859bbea29d7b3765a3102e4a6bf81b85 Author: Jeff Garzik Date: Tue May 13 01:41:28 2008 -0400 drivers/net/lib8390: fix warning, trim trailing whitespace fix drivers/net/lib8390.c: In function ‘ei_tx_err’: drivers/net/lib8390.c:556: warning: unused variable ‘ei_local’ drivers/net/lib8390.c: In function ‘ei_rx_overrun’: drivers/net/lib8390.c:819: warning: unused variable ‘ei_local’ and also trim whitespace. Signed-off-by: Jeff Garzik commit 94f9d298ce215dada7ceaeb03e62f61d754d5705 Author: Paulius Zaleckas Date: Tue Apr 29 12:44:20 2008 +0300 3c359: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Kill xl_get_stats function, because by default it is used identical internal_stats function from net/core/dev.c Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 4711c841e4547a41f596bcf6c97473bc6a15126d Author: Paulius Zaleckas Date: Tue Apr 29 12:09:38 2008 +0300 3c527: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit aa50911ade012470f3c6fe8f7f7868bfd328a4c2 Author: Paulius Zaleckas Date: Tue Apr 29 11:58:42 2008 +0300 3c523: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 966e37bca6a84299e0c3ed13e741db9c6e0b0f92 Author: Paulius Zaleckas Date: Wed Apr 30 02:03:55 2008 +0300 acenic: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. No need to memset it to 0, because it is allocated by kzalloc. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit de0561c43550f78cd837a24179f1859817f24578 Author: Paulius Zaleckas Date: Wed Apr 30 01:49:15 2008 +0300 6pack: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Kill sp_get_stats function, because by default it is used identical internal_stats function from net/core/dev.c Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit cd65284f6ec482622d2b30cd9996712d830ba228 Author: Paulius Zaleckas Date: Wed Apr 30 01:20:20 2008 +0300 3c589_cs: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 2e8d31d574e26ded7688fb1f5c6a2349c9d427d1 Author: Paulius Zaleckas Date: Wed Apr 30 01:08:26 2008 +0300 3c574_cs: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit e1eac92e4cea32b5254d0b835de16d11e589502c Author: Paulius Zaleckas Date: Mon May 5 16:24:21 2008 +0300 8139too: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 237225f70f159b607382b5ffcd86f36fc8915cfd Author: Paulius Zaleckas Date: Mon May 5 16:05:17 2008 +0300 8139cp: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit ad0e8a4c15d82d55a731056eeef1288bf7e1c4dc Author: Paulius Zaleckas Date: Wed May 7 02:20:45 2008 +0300 8390.h: remove net_device_stats Remove no longer used net_device_stats. Should be applied to mainline only after applying previous two patches. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 244d74ff209b635c10aac2a8fa5249a2a2c8d9d9 Author: Paulius Zaleckas Date: Wed May 7 02:20:40 2008 +0300 lib8390: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 8e2691658f4cd2e24beacb6dcba3c33b2ff10593 Author: Paulius Zaleckas Date: Wed May 7 02:20:36 2008 +0300 axnet_cs: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 7ef43ebaa538e0cc9063cbf84593a05091bcace2 Author: Allan Stephens Date: Mon May 12 15:42:28 2008 -0700 tipc: Fix race condition when creating socket or native port This patch eliminates the (very remote) chance of a crash resulting from a partially initialized socket or native port unexpectedly receiving a message. Now, during the creation of a socket or native port, the underlying generic port's lock is not released until all initialization required to handle incoming messages has been done. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 4e3e6dcb43c3669a8817cb3d0f920f91661afd98 Author: Allan Stephens Date: Mon May 12 15:41:53 2008 -0700 tipc: Enhancements to name table initialization This patch enhances the initialization of TIPC's name table by removing a pointless spinlock operation, and by using kcalloc() to detect requests for an oversized name table. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 88f85a55c0645c2b7e03bf34d2a90eddf6de34fa Author: Marcin Slusarz Date: Mon May 12 16:42:43 2008 -0500 JFS: 0 is not valid errno value so return NULL from jfs_lookup Signed-off-by: Marcin Slusarz Signed-off-by: Dave Kleikamp Cc: jfs-discussion@lists.sourceforge.net Cc: Alexander Viro commit 0327318445d55808991a63137cfb698a90ab6adf Author: Yinghai Lu Date: Fri Apr 18 17:49:15 2008 -0700 x86_64: simplify the memtest parameter setting use CONFIG_MEMTEST only. if it is set, will have memtest=0 (disabled) need to have memtest=4 in command line to test more patterns. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 205f93288093df69f9ab5f6981aef27b91088b28 Author: Dave Jones Date: Mon May 5 17:52:52 2008 -0400 x86: add new cache descriptor The latest rev of Intel doc AP-485 details a new cache descriptor that we don't yet support. A 6MB 24-way assoc L2 cache. Signed-off-by: Dave Jones Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5cb04df8d3f03e37a19f2502591a84156be71772 Author: Ingo Molnar Date: Sun May 4 19:49:04 2008 +0200 x86: defconfig updates refresh 32-bit defconfig too, and update the 64-bit configs as well, the defconfig should be much more useful by default, so most of the updates are the enabling of various options. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b5d958ea66ac11b1190c24f042f517adf9229a98 Author: Auke Kok Date: Wed Apr 9 13:17:39 2008 -0700 e1000e: set CONFIG_E1000E=y in x86 defconfigs This adds to the already default CONFIG_E1000=y in these files. Signed-off-by: Auke Kok Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 622e3f28e50fe30cc199c735440cd7c75e0033b0 Author: Cyrill Gorcunov Date: Sun May 4 19:57:19 2008 +0400 x86: 64-bit defconfig remake The current x86_64_defconfig contains a number of nonexistent symbols. Lets fix it. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f59a9310b97879159ef4d25227bc270278f1ee71 Author: Hiroshi Shimamoto Date: Fri May 2 16:44:52 2008 -0700 x86: nmi and irq counters are unsigned in nmi_64.c __nmi_count, apic_timer_irqs and irq0_irqs are unsigned. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f784946ded3e734524d1f48a6a8286b8a152c3b9 Author: Hiroshi Shimamoto Date: Fri May 2 16:45:08 2008 -0700 x86: use per_cpu data in nmi_32 use per_cpu for per CPU data. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3bb6fbf9969a8bbe4892968659239273d092e78a Author: Pavel Machek Date: Tue Apr 15 12:43:57 2008 +0200 x86 gart: factor out common code Cleanup gart handling on amd64 a bit: move common code into enable_gart_translation , and use symbolic register names where appropriate. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 330fce23dab6e6a3d1979e55f27aba4c0c301331 Author: Yinghai Lu Date: Sat Apr 19 01:31:45 2008 -0700 x86: reserve dma32 early for gart fix we can use free_bootmem() directly. Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 55c0d721df80dcc505dc888e85d4ca51ea150ce9 Author: Yinghai Lu Date: Sat Apr 19 01:31:11 2008 -0700 x86: clean up aperture_64.c 1. use symbolic register names where appropriate. 2. num to bus or slot changing 3. handle for new opteron for bus other than 0 Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7677b2ef6c0c4fddc84f6473f3863f40eb71821b Author: Yinghai Lu Date: Mon Apr 14 20:40:37 2008 -0700 x86_64: allocate gart aperture from 512M because we try to reserve dma32 early, so we have chance to get aperture from 64M. with some sequence aperture allocated from RAM, could become E820_RESERVED. and then if doing a kexec with a big kernel that uncompressed size is above 64M we could have a range conflict with still using gart. So allocate gart aperture from 512M instead. Also change the fallback_aper_order to 5, because we don't have chance to get 2G or 4G aperture. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c9fd91a0dc503f085169d44f4360be025f75224 Author: Yinghai Lu Date: Sun Apr 13 18:42:31 2008 -0700 x86: checking aperture size order some systems are using 32M for gart and agp when memory is less than 4G. Kernel will reject and try to allcate another 64M that is not needed, and we will waste 64M of perfectly good RAM. this patch adds a workaround by checking aper_base/order between NB and agp bridge. If they are the same, and memory size is less than 4G, it will allow it. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1edc1ab3f68168ec6815e6d630f38948a6da005a Author: Yinghai Lu Date: Sun Apr 13 01:11:41 2008 -0700 x86: agp_gart size checking for buggy device while looking at Rafael J. Wysocki's system boot log, I found a funny printout: Node 0: aperture @ de000000 size 32 MB Aperture too small (32 MB) AGP bridge at 00:04:00 Aperture from AGP @ de000000 size 4096 MB (APSIZE 0) Aperture too small (0 MB) Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Mapping aperture over 65536 KB of RAM @ 4000000 ... agpgart: Detected AGP bridge 20 agpgart: Aperture pointing to RAM agpgart: Aperture from AGP @ de000000 size 4096 MB agpgart: Aperture too small (0 MB) agpgart: No usable aperture found. agpgart: Consider rebooting with iommu=memaper=2 to get a good aperture. it means BIOS allocated the correct gart on the NB and AGP bridge, but because a bug in the silicon (the agp bridge reports the wrong order, it wants 4G instead) the kernel will reject that allocation. Also, because the size is only 32MB, and we try to get another 64M for gart, late fix_northbridge can not revert that change because it still reads the wrong size from agp bridge. So try to double check the order value from the agp bridge, before calling aperture_valid(). [ mingo@elte.hu: 32-bit fix. ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa134f1b09df6beaa4d031a50d5fda1f3cebce6c Author: Pavel Machek Date: Tue Apr 8 10:49:03 2008 +0200 x86: iommu: use symbolic constants, not hardcoded numbers Move symbolic constants into gart.h, and use them instead of hardcoded constant. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f8096f92b87d81c55ed63964d27baa9ce5ffe508 Author: Jan Beulich Date: Tue Apr 22 16:27:29 2008 +0100 x86: separate cmpxchg8b checking from PAE checking .. allowing the former to be use in non-PAE kernels, too. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 77b52b4c5c66175553ee59eb43f74366f1e54bde Author: Venki Pallipadi Date: Mon May 5 19:09:10 2008 -0700 x86: add "debugpat" boot option enable debug messages by a boot option "debugpat". Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 988f7b5789ccf5cfed14c72e28573a49f0cb4809 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:22 2008 -0700 x86: PAT export resource_wc in pci sysfs For the ranges with IORESOURCE_PREFETCH, export a new resource_wc interface in pci /sysfs along with resource (which is uncached). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 403d8efc94cd02ae36e7db13c4edf1d06d7b7fac Author: Thomas Gleixner Date: Mon May 5 18:13:50 2008 +0200 x86: irq_32 move 4kstacks code to one place Move the 4KSTACKS related code to one place. This allows to un#ifdef do_IRQ() and share the executed on stack for the stack overflow printk and the softirq call. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit de9b10af1287bf25b9c0433de53a2e95ef611aa7 Author: Thomas Gleixner Date: Mon May 5 15:58:15 2008 +0200 x86: janitor stack overflow warning patch Add KERN_WARNING to the printk as this could not be done in the original patch, which allegedly only moves code around. Un#ifdef do_IRQ. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 04b361abfdc522239e3a071f3afdebf5787d9f03 Author: Andi Kleen Date: Mon May 5 12:36:38 2008 +0200 i386: Execute stack overflow warning on interrupt stack v2 Previously the reporting printk would run on the process stack, which risks overflow an already low stack. Instead execute it on the interrupt stack. This makes it more likely for the printk to make it actually out. It adds one not taken test/branch more to the interrupt path when stack overflow checking is enabled. We could avoid that by duplicating more code, but that seemed not worth it. Based on an observation by Eric Sandeen. v2: Fix warnings in some configs Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ce17833183bf0a08ce3d174a2088eff0a06f2080 Author: Alan Mayer Date: Wed Apr 16 15:17:20 2008 -0500 x86: change FIRST_SYSTEM_VECTOR to a variable, fix Fixes the build error introduced by my FIRST_SYSTEM_VECTOR patch Signed-off-by: Alan Mayer Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 305b92a2323eeaa4b481f409d54f778dd7e21a46 Author: Alan Mayer Date: Tue Apr 15 15:36:56 2008 -0500 x86: change FIRST_SYSTEM_VECTOR to a variable The SGI UV system needs several more system vectors than a vanilla x86_64 system. Rather than burden the other archs with extra system vectors that they don't use, change FIRST_SYSTEM_VECTOR to a variable, so that it can be dynamic. Signed-off-by: Alan Mayer Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a331957efd214fc3a84f70956dfaec65e70c031 Author: Thomas Gleixner Date: Sat May 3 00:30:50 2008 +0200 x86: move eisa_set_level_irq declaration to header Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 88a83350bc1955fa9d8fca059e19bc360fcef2ba Author: Thomas Gleixner Date: Fri May 2 23:19:26 2008 +0200 x86: declare setup_apic_routing Global functions need a prototype. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 22067d4501bfb47c8ca34144f68fad734178914d Author: Thomas Gleixner Date: Fri May 2 22:14:44 2008 +0200 x86: unify irq.h Not much difference in those files. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 22dc12d1f694b9af88e616ab758ff90c69d0fc83 Author: Thomas Gleixner Date: Fri May 2 22:10:39 2008 +0200 x86: unify hwirq.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 97e7b6f54c0d66586a658e985630cd63040311fb Author: Thomas Gleixner Date: Fri May 2 22:02:25 2008 +0200 x86: unify apic interrupt function declarations Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0bc471d93051a19545257909bc2ed2ad3b389b54 Author: Thomas Gleixner Date: Fri May 2 21:55:12 2008 +0200 x86: move BUILD_IRQ macro magic to i8259_64.c i8259_64.c is the only place which uses those macros. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9b7dc567d03d74a1fbae84e88949b6a60d922d82 Author: Thomas Gleixner Date: Fri May 2 20:10:09 2008 +0200 x86: unify interrupt vector defines The interrupt vector defines are copied 4 times around with minimal differences. Move them all into asm-x86/irq_vectors.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2e0884362d1fe36ef2d673d763d6ce35e2044e66 Author: Thomas Gleixner Date: Fri May 2 19:00:30 2008 +0200 x86: move common declarations to hw_irq.h Move the common declarations from hw_irq_32/64 into hw_irq.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6859a8402945cf1d74af75a2e1aa4e327a506ab4 Author: Alan Mayer Date: Wed Mar 26 16:11:31 2008 -0500 x86: resize NR_IRQS for large machines On machines with very large numbers of cpus, tables that are dimensioned by NR_IRQS get very large, especially the irq_desc table. They are also very sparsely used. When the cpu count is > MAX_IO_APICS, use MAX_IO_APICS to set NR_IRQS, otherwise use NR_CPUS. Signed-off-by: Alan Mayer Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 41b3eae669fb1ef6ae4acaa937b4e4617a1aa078 Author: Jan Beulich Date: Tue Apr 22 16:29:26 2008 +0100 x86: minor polishing to top-level arch Makefile Use build target when creating compatibility link, and use $(boot) where possible. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 8a6c160a2a13d82c75a50af7282b906cce948df5 Author: Ingo Molnar Date: Wed Apr 30 22:13:44 2008 +0200 x86: redo thread_info.h change redo Roland's "signals: x86 TS_RESTORE_SIGMASK" ontop of the unified thread_info.h file. Signed-off-by: Ingo Molnar commit b84200b3a0fafa167185201319940d8df62a8c7b Author: Christoph Lameter Date: Mon Apr 28 18:52:40 2008 -0700 x86: thread_info: merge thread_info allocation Make them similar so that both use THREAD_ORDER and THREAD_FLAGS and have a THREAD_SIZE definition that is setup in asm/page_xx.h Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 00c1bb133cf351fa3904b00a48a9cf535d018de6 Author: Christoph Lameter Date: Mon Apr 28 18:52:39 2008 -0700 x86: thread_info: merge tif masks The TIF masks are basically the same. x86_32 also has _TIF_SYSCALL_EMU which is zero for the 64 bit case. The tif masks become the same. x86_64 has an additional _TIF_DONOTIFY_MASK. Does not hurt for the 32 bit case since it is only used in x86_64 arch code. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e57549b017552f7a493b366f5ccd4781801083e4 Author: Christoph Lameter Date: Mon Apr 28 18:52:38 2008 -0700 x86: thread_info: merge TIF_ flags. Both TIF lists are essentially the same. x86_32 also has TIF_SYSCALL_EMU which must be undefined for the 64 bit case. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 24e2de6e28a453cd114b06215df2f9931cd0c342 Author: Christoph Lameter Date: Mon Apr 28 18:52:37 2008 -0700 x86: thread_info: PREEMPT_ACTIVE Same for both 32 and 64 bit so simply put it in to the common area. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3351cc03c0762353225a79507e38db4c1e656d52 Author: Christoph Lameter Date: Mon Apr 28 18:52:36 2008 -0700 x86: threadinfo: merge INIT_THREAD_INFO Both definitions are the same. So move to common x86 area. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 006c484bb3d9547e82a33a09668c9b54b912c8fb Author: Christoph Lameter Date: Mon Apr 28 18:52:35 2008 -0700 x86: common thread_info definitions Merge the thread_info definition into one structure definition for both arches. The __u32 is equal to unsigned long for 32 bit. sysenter_return is used both for the IA32 emulation for 64 and x86_32. Avoid complicated #ifdef by simply always including it. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f2ea3b1d4d7ab66d86da57899993282f3deb1f74 Author: Christoph Lameter Date: Mon Apr 28 18:52:34 2008 -0700 x86: threadinfo: merge thread sync state definitions Merge both. x86_64 has an additional TS_COMPAT that is harmless for 32 bit. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12a638e13c68bbe187782518dab375f4fa800fc4 Author: Christoph Lameter Date: Mon Apr 28 18:52:33 2008 -0700 x86: threadinfo: common include files Move shared includes to a common area in thread_info.h Adds asm/types.h for x86_64 and linux/compiler.h for x86_32. Not needed but we can avoid some ifdeffing and it simplifies later joining. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2052e8d40ad58b1d364f900e70edfda62caa0874 Author: Christoph Lameter Date: Mon May 12 15:43:41 2008 +0200 x86: merge thread_info.h Simple merge of both thread_info_32.h and thread_info_64.h into thread_info.h. Comments for #ifndef __ASM_THREAD_INFO_H and #ifdef __KERNEL__ are the same. Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar commit 1c7d06d419dbe82c76fbb4d3e1fa61b2da2dc00b Author: Ingo Molnar Date: Wed Apr 30 22:12:05 2008 +0200 revert: thread_info.h change temporarily revert parts of "signals: x86 TS_RESTORE_SIGMASK". Signed-off-by: Ingo Molnar commit 8edc5cc5ec880c96de8e6686fb0d7a5231e91c05 Author: Venki Pallipadi Date: Mon May 12 15:43:34 2008 +0200 x86: remove 6 bank limitation in 64 bit MCE reporting code Eliminate the 6 bank restriction in 64 bit mce reporting code. This restriction is artificial (due to static creation of sysfs files) and 32 bit code does not have any such restriction. This change helps in reporting the details of machine checks on a machine check exception with errors in bank 6 and above on CPUs that support those banks. Without the patch, machine check errors in those banks are not reported. We still have 128 (MCE_EXTENDED_BANK) bank restriction instead of max 256 supported in hardware. That is not changed in the patch below as it will have some user level mcelog utility dependency, with bank 128 being used for thermal reporting currently. The patch below does not create sysfs control (bankNctl) for banks higher than 6 as well. That needs some pre-cleanup in /sysfs mce layout, removal of per cpu /sysfs entries for bankctl as they are really global system level control today. That change will follow. This basic change is critical to report the detailed errors on banks higher than 6. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 7c4728f4a865067d96fb84f1d9c65e0ccd1f355d Author: Thomas Gleixner Date: Sat May 10 21:42:14 2008 +0200 x86: print info about available HPET quirk We have a lot of HPET quirks available which might force enable HPET even when the BIOS does not enable it. Some of those quirks depend on the command line option "hpet=force". Andrew pointed out that hoping that the user will find out about this boot option is not really helpful. Emit a kernel info which informs the user about the "hpet=force" boot option when we enter a quirk which depends on this option and the user did not provide it. Signed-off-by: Thomas Gleixner commit e8aa4667baf74dfd85fbaab86861465acb811085 Author: Andreas Herrmann Date: Fri May 9 11:49:11 2008 +0200 x86: enable hpet=force for AMD SB400 Add quirk to allow forced usage of HPET on ATI SB400. I stumbled over machines where HPET is enabled but not reported by BIOS. This patch configures the HPET base address and makes it known to the OS. Signed-off-by: Andreas Herrmann Signed-off-by: Thomas Gleixner commit 6fd592daae2182adc47f405e20d07f34f52d07dd Author: Carlos R. Mafra Date: Mon May 5 20:11:22 2008 -0300 x86: clean up computation of HPET .mult variables While reading through the HPET code I realized that the computation of .mult variables could be done with less lines of code, resulting in a 1.6% text size saving for hpet.o So I propose the following patch, which applies against today's Linus -git tree. >From 0c6507e400e9ca5f7f14331e18f8c12baf75a9d3 Mon Sep 17 00:00:00 2001 From: Carlos R. Mafra Date: Mon, 5 May 2008 19:38:53 -0300 The computation of clocksource_hpet.mult tmp = (u64)hpet_period << HPET_SHIFT; do_div(tmp, FSEC_PER_NSEC); clocksource_hpet.mult = (u32)tmp; can be streamlined if we note that it is equal to clocksource_hpet.mult = div_sc(hpet_period, FSEC_PER_NSEC, HPET_SHIFT); Furthermore, the computation of hpet_clockevent.mult uint64_t hpet_freq; hpet_freq = 1000000000000000ULL; do_div(hpet_freq, hpet_period); hpet_clockevent.mult = div_sc((unsigned long) hpet_freq, NSEC_PER_SEC, hpet_clockevent.shift); can also be streamlined with the observation that hpet_period and hpet_freq are inverse to each other (in proper units). So instead of computing hpet_freq and using (schematically) div_sc(hpet_freq, 10^9, shift) we use the trick of calling with the arguments in reverse order, div_sc(10^6, hpet_period, shift). The different power of ten is due to frequency being in Hertz (1/sec) and the period being in units of femtosecond. Explicitly, mult = (hpet_freq * 2^shift)/10^9 (before) mult = (10^6 * 2^shift)/hpet_period (after) because hpet_freq = 10^15/hpet_period. The comments in the code are also updated to reflect the changes. As a result, text data bss dec hex filename 2957 425 92 3474 d92 arch/x86/kernel/hpet.o 3006 425 92 3523 dc3 arch/x86/kernel/hpet.o.old a 1.6% reduction in text size. Signed-off-by: Carlos R. Mafra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 150c9173031d43746d70582a17931350f3da8932 Author: Russell King Date: Mon May 12 17:37:21 2008 +0100 dyntick: remove deferences from SH SH does not have a configuration option for NO_IDLE_HZ their Kconfig files, yet their defconfig files lists them. Remove those references. Signed-off-by: Russell King commit ee9c578527a93c66becb526c4a122c5358a959c5 Author: Russell King Date: Sun Apr 20 13:59:33 2008 +0100 dyntick: Remove last reminants of dyntick support Remove the last reminants of dyntick support from the generic kernel. Signed-off-by: Russell King commit 205bee6ad804d7034773b5978c74dde495df2301 Author: Russell King Date: Sun Apr 20 13:57:26 2008 +0100 [ARM] dyntick: Remove obsolete and unused ARM dyntick support dyntick is superseded by the clocksource/clockevent infrastructure, using the NO_HZ configuration option. No one implements dyntick on ARM anymore, so it's pointless keeping it around. Remove dyntick support. Signed-off-by: Russell King commit 20c2c1fd6c842caf70dcb1d94b9d58861949fd3d Author: Neil Horman Date: Fri May 9 15:14:50 2008 -0700 sctp: add sctp/remaddr table to complete RFC remote address table OID Add support for RFC3873 remote address table OID. +--(5) sctpAssocRemAddrTable | | | |--(-) sctpAssocId (shared index) | | | +--(1) sctpAssocRemAddrType (index) . | . +--(2) sctpAssocRemAddr (index) . | +--(3) sctpAssocRemAddrActive | +--(4) sctpAssocRemAddrHBActive | +--(5) sctpAssocRemAddrRTO | +--(6) sctpAssocRemAddrMaxPathRtx | +--(7) sctpAssocRemAddrRtx | +--(8) sctpAssocRemAddrStartTime This patch places all the requsite data in /proc/net/sctp/remaddr. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 88a0a948e752bb9b617a8c55417a9fd9b0257199 Author: Vlad Yasevich Date: Fri May 9 15:14:11 2008 -0700 sctp: Support the new specification of sctp_connectx() The specification of sctp_connectx() has been changed to return an association id. We've added a new socket option that will return the association id as the return value from the setsockopt() call. The library that implements sctp_connectx() interface will implement both socket options. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d364d9276b54af16fcb4db83f1315b620daec102 Author: Wei Yongjun Date: Fri May 9 15:13:26 2008 -0700 sctp: Bring SCTP_DELAYED_ACK socket option into API compliance Brings delayed_ack socket option set/get into line with the latest ietf socket extensions API draft, while maintaining backwards compatibility. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5c5e12898af0978a780991950be12d0d73c02f04 Author: Johannes Berg Date: Sat May 3 00:44:09 2008 +0200 mac80211: fix wme code In commit e100bb64bf7cdeae7f742a65ee1985649a7fd1b4 (mac80211: QoS related cleanups) I accidentally changed a variable from int to u16 causing a warning that a comparison for < 0 was always false. John thought this was a missing deletion of code and removed the warning by deleting the never executed branch of code in commit 3df5ee60f1ee559b1417397461891f8b483e8089 (wireless: fix warning introduced by "mac80211: QoS related cleanups") but the problem really was my mistake of using a u16 variable for the queue variable when that variable can also contain an error code. This patch restores the original code and variable type. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3df5ee60f1ee559b1417397461891f8b483e8089 Author: John W. Linville Date: Thu May 1 17:07:32 2008 -0400 wireless: fix warning introduced by "mac80211: QoS related cleanups" net/mac80211/wme.c: In function ‘wme_qdiscop_enqueue’: net/mac80211/wme.c:219: warning: comparison is always false due to limited range of data type drivers/net/wireless/p54/p54common.c: In function ‘p54_conf_tx’: drivers/net/wireless/p54/p54common.c:947: warning: comparison is always false due to limited range of data type Signed-off-by: John W. Linville commit 3a4d3af700b3d78904775d9a9efe0858b5e1e955 Author: Ivo van Doorn Date: Mon Apr 21 19:01:40 2008 +0200 rt2x00: Clarify supported chipsets in Kconfig As reported by Filipus Klutiero , the rt2x00 Kconfig entries should be updated with specific chipset notifications. This cleans up Kconfig by explicitly mentioning the supported chipsets for each drivers, and uses the same chipset family names as mentioned on the Ralink website. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 652e3f208619dfe75867349d6164afe735eaf159 Author: Holger Schurig Date: Wed Apr 30 10:51:15 2008 +0200 libertas: allow removal of card at any time This fixes several problems I had: * when removing the card while the card was scanning or associtating, it could happen that destroy_workqueue() stuck and didn't return. * make sure the command function doesn't run while we remove the list of pending commands * for still unknown reason, I had calls to lbs_stop_card() with priv==NULL Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit a63e5cb22fcc8590abc7d5050118a6d3589ed95f Author: Holger Schurig Date: Wed Apr 30 10:50:39 2008 +0200 libertas: make some functions void They don't return anything meaningfull and no-one cares about their results. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5f505d90250c136e1cf63e3ae85e7d3ff3077c1d Author: Holger Schurig Date: Wed Apr 30 10:50:07 2008 +0200 libertas: debug output tweaks for lbs_thread * make debug output match the variable name * always report that lbs_remove_rtap() has has been exited Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit e100bb64bf7cdeae7f742a65ee1985649a7fd1b4 Author: Johannes Berg Date: Wed Apr 30 18:51:21 2008 +0200 mac80211: QoS related cleanups This * makes the queue number passed to drivers a u16 (as it will be with skb_get_queue_mapping) * removes the useless queue number defines * splits hw->queues into hw->queues/ampdu_queues * removes the debugfs files for per-queue counters * removes some dead QoS code * removes the beacon queue configuration for IBSS so that the drivers now never get a queue number bigger than (hw->queues + hw->ampdu_queues - 1) for tx and only in the range 0..hw->queues-1 for conf_tx. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36fc6757fe711def63ea3686bf6ed475d714e114 Author: Johannes Berg Date: Tue Apr 29 17:19:00 2008 +0200 mac80211: remove queue info from ieee80211_tx_status The queue info in struct ieee80211_tx_status is never used. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 57ffc589a92424f9def74fe0d49b2f7763ff07fd Author: Johannes Berg Date: Tue Apr 29 17:18:59 2008 +0200 mac80211: clean up get_tx_stats callback The callback takes a ieee80211_tx_queue_stats with a contained array of ieee80211_tx_queue_stats_data, remove the former, rename the latter to ieee80211_tx_queue_stats and make tx_stats() take the array directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e0d4cb12f6fd97193a455b49125398b2231c87c Author: Tomas Winkler Date: Thu Apr 24 11:55:38 2008 -0700 iwlwifi: rename iwl-4965.h to iwl-dev.h This patch renames iwl-4965.h to iwl-dev.h Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5a36ba0e412a0e12a8bf2648a075226c1dd7870d Author: Tomas Winkler Date: Thu Apr 24 11:55:37 2008 -0700 iwlwifi: rename iwl-4965-commands to iwl-commands.h This patch renames iwl-4965-commands to iwl-commands.h Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e86fe9f64d7cc3da9f445f3d0a2c5fd265fcd445 Author: Tomas Winkler Date: Thu Apr 24 11:55:36 2008 -0700 iwlwifi-5000: add nic config handler for 5000 HW This patch adds nic config handler for 5000 HW Family Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f1f6941500602504fa9cd97294bfb3df7f22384f Author: Tomas Winkler Date: Thu Apr 24 11:55:35 2008 -0700 iwlwifi-5000: add eeprom check version handler This patch adds implementation for eeprom check version handler for 5000 HW Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7839fc03862704677902be2d63c0482fee3deae3 Author: Emmanuel Grumbach Date: Thu Apr 24 11:55:34 2008 -0700 iwlwifi-5000: update the byte count in SCD This patch udpates the byte count of the frame in the registers of the scheduler. This patch also moves two defines in iwl-4965.h to a more appropriate area in the file. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d4100dd985dcc13cc7bd1712ce10dea51b7c8261 Author: Ron Rindjunsky Date: Thu Apr 24 11:55:33 2008 -0700 iwlwifi-5000: add iwl 5000 shared memory handlers This patch fills the needed handlers for shared memory for iwl 5000 family Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fcf623df17197adf10e22ddeba90c56504edce0f Author: Tomas Winkler Date: Thu Apr 24 11:55:32 2008 -0700 iwlwifi-5000: Add HW REV of 5000 HW family This patch adds values fo CSR_HW_REV for 5000 HW family Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1179f18df9fa3449ae6011042df50d9b9b012814 Author: Tomas Winkler Date: Thu Apr 24 11:55:31 2008 -0700 iwlwifi-5000: adjust antennas names in 5000 HW family This patch use new defines for antennas Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 33fd503346ad86bd7470a0f8c4c3080393d14233 Author: Emmanuel Grumbach Date: Thu Apr 24 11:55:30 2008 -0700 iwlwifi-5000: add run time calibrations for 5000 This patch adds support for run time calibrations for the 5000 family HW. Those calibrations are sensitivity calibration, and chain noise calibration. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit c031bf806fef4854b02266a4105f55ed31f2d1a8 Author: Emmanuel Grumbach Date: Thu Apr 24 11:55:29 2008 -0700 iwlwifi-5000: update the CT-Kill value for 5000 series This patch upadtes the CT-Kill value for 5000 series. Signed-off-by: Assaf Krauss Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fdd3e8a4ff96d03121b21946bfa684f3b5d783c6 Author: Tomas Winkler Date: Thu Apr 24 11:55:28 2008 -0700 iwlwifi-5000: adding iwl5000 HW parameters This patch adds iwl 5000 HW parameters Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 25ae3986d7ed4303fabc883a87b74956bd59c22c Author: Tomas Winkler Date: Thu Apr 24 11:55:27 2008 -0700 iwlwifi-5000: EEPROM settings for 5000 This patch adds eeprom handlers and values for 5000 HW family Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 88acbd3b32692ae786019ce642c6150b355f4b1e Author: Tomas Winkler Date: Thu Apr 24 11:55:26 2008 -0700 iwlwifi-5000: use iwl4965_set_pwr_src in 5000 This patch makes use of iwl4965_set_pwr_src in 5000 HW family Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 30d59260d54686681e36d3055ff58c58ca3617da Author: Tomas Winkler Date: Thu Apr 24 11:55:25 2008 -0700 iwlwifi-5000: add apm_init handler for 5000 HW family This patch adds apm_init handler for 5000 HW family Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit da8dec29d7928dcc4ddf6b41d7c4c9cef522c9df Author: Tomas Winkler Date: Thu Apr 24 11:55:24 2008 -0700 iwlwifi-5000: add ops infrastructure for 5000 This patch adds handler framework for 5000 family HW Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5a6a256e195380c062100dffad15f984656772c2 Author: Tomas Winkler Date: Thu Apr 24 11:55:23 2008 -0700 iwlwifi-5000: adding initial recognition for the 5000 family This patch adds initial support for recognizing the iwl 5000 family of NICs ID Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 694cc56dbb818fe689f721fb53452eb5ad3f8e9a Author: Tomas Winkler Date: Thu Apr 24 11:55:22 2008 -0700 iwlwifi: wrapping nic configuration in iwl core handler This patch wraps nic hw configuration in a iwl core handler Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e4d18d817f0ffc830bce57906b2a7dd9e713c388 Author: Tomas Winkler Date: Thu Apr 24 11:55:21 2008 -0700 iwlwifi: remove unnecessary apmg settings This patch remove settings of APMG_PS_CTRL_VAL_RESET_REQ from 4965 this should be used only for 3945 Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d4789efe5627858c212753bbac4316198f819486 Author: Emmanuel Grumbach Date: Thu Apr 24 11:55:20 2008 -0700 iwlwifi: move hw_rx_handler_setup to iwl-4965.c This patch moves hw_rx_handler_setup to iwl-4965.c Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a395b92024d9b8f9403c06f9ea8d425f1883d7d8 Author: Tomas Winkler Date: Thu Apr 24 11:55:19 2008 -0700 iwlwifi: remove 49 prefix from general CSR values This patch change CSR49_ to CSR_ for values used in other HW Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b0692f2ff308f2645a43b415393d934eb939cc6c Author: Emmanuel Grumbach Date: Thu Apr 24 11:55:18 2008 -0700 iwlwifi: move verify_ucode functions to iwl-core This patch moves verify_ucode functions to iwl-core. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5b28d3c156472cfb713fafecdf398739d22a0738 Author: Ivo van Doorn Date: Mon Apr 21 19:02:35 2008 +0200 rt2x00: Release rt2x00 2.1.5 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9a46d44eda55ad87a727fe351b0ab27c23d4555c Author: Ivo van Doorn Date: Mon Apr 21 19:02:17 2008 +0200 rt2x00: Fix kernel-doc Add missing kernel-doc variables for structures/functions. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bd394a74a0e81efb15feaa8d7d10a0eaa8f4bf07 Author: Ivo van Doorn Date: Mon Apr 21 19:01:58 2008 +0200 rt2x00: Add helper macros Add some helper macro's to help determining the the timeout for USB register access. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e58c6aca99357d7f85f18e0b661d8c5a87f926a9 Author: Ivo van Doorn Date: Mon Apr 21 19:00:47 2008 +0200 rt2x00: Use rt2x00 queue numbering Use the rt2x00 queue enumeration as much as possible, removing the usage of the mac80211 queue numbering wherever it is possible. This makes it easier for mac80211 to change it queue identification scheme without having to deal with big changes in the rt2x00 code. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 62e70cf8568151a41e8525ddf0e56c0380a71cfd Author: Ivo van Doorn Date: Mon Apr 21 18:59:54 2008 +0200 rt2x00: Remove DRIVER_SUPPORT_MIXED_INTERFACES A lot more is needed to support mixed interfaces then just this flag, such things need new redesigns in rt2x00lib to actually make it happen. So far there doesn't exist a Ralink chipset that can handle it, so we might as well remove the flag for now and see what should be done whenever a device appears that can handle it. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2d9ccf842905063f774c28f329ac5ab3a84d3571 Author: Ivo van Doorn Date: Mon Apr 21 18:59:48 2008 +0200 rt2x00: Support hardware RTS and CTS-to-self frames If the driver has set the set_rts_threshold() callback function to mac80211 it is capable of generating RTS and CTS-to-self frames inside the hardware and rt2x00lib doesn't have to create them in software. Only rt2800pci and rt2800usb support this feature. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e40ac414c0130358f9eb068f4993a37f013621be Author: Michael Buesch Date: Fri Apr 25 21:10:54 2008 +0200 b43: Don't disable IRQs in mac_suspend This patch removes the IRQ-disable from mac_suspend. The main advantage of this is to get rid of the IRQ-sync call in mac_suspend. We need to remove the MAC suspend bit from the IRQ service mask, as otherwise the IRQ handler would race with us. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f93d65feb3dc48fe5e285fa5a35dacea3601835f Author: Tomas Winkler Date: Wed Apr 23 17:15:08 2008 -0700 iwlwifi: 3945 remove unused SCD definitions This patch remove SCD definitions form iwl-3945-hw.h The values from iwl-prph.h are used Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4b52c39dc6fa4ffa598c778e72850f9a8ccca584 Author: Emmanuel Grumbach Date: Wed Apr 23 17:15:07 2008 -0700 iwlwifi: move Flow Handlers define to iwl-fh.h This patch moves Flow Handlers define to a new file iwl-fh.h Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 11bf925aa31f72b9a88b2dca47f3c2e06c42dbac Author: Ron Rindjunsky Date: Wed Apr 23 17:15:06 2008 -0700 iwlwifi: iwl-sta redundant includes clean up This patch cleans unnecessary includes in iwl-sta.[hc] Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit c7de35cd1c8b135398899f42475fa8e9d672d46e Author: Ron Rindjunsky Date: Wed Apr 23 17:15:05 2008 -0700 iwlwifi: unify init driver flow This patch does the following: 1 - moving init_drv from handler to regular function call 2 - move the init driver flow from iwl4965 to iwlcore, thus unify it to all iwl family as a single flow 3 - move some general purpose functions from iwl4965 to iwlcore Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 038669e49c30867956a7fa0d06c6e0e72bb38fa8 Author: Emmanuel Grumbach Date: Wed Apr 23 17:15:04 2008 -0700 iwlwifi: clean up register names and defines This patch cleans up and renames some of the SCD registers. It move SCD definitions into iwl-prhp.h file Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 07bc28ed87424af13f622b7c4e2a1bff06112d94 Author: Guy Cohen Date: Wed Apr 23 17:15:03 2008 -0700 iwlwifi: more RS improvements Main changes: 1. no need to re-calculate expected_tpt when only toggling antenna 2. changing the code to be more strict on input and status of variables 3. enhanced debug prints 4. move to search table only if improving tpt (don't move if SR is improved but tpt is not) Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f935a6daa07ac78a35d1513fc61c88774b628a4c Author: Guy Cohen Date: Wed Apr 23 17:15:02 2008 -0700 iwlwifi: rate sacaling fixes 1. Fixing support for tx in antenna C 2. Enable stay_in_column expiration after 2 seconds Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 69fdb3090846de1cdc4fcb4f7e74533f5acbfa98 Author: Guy Cohen Date: Wed Apr 23 17:15:01 2008 -0700 iwlwifi: rs fix wrong parenthesizing in rs_get_lower_rate function Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 3195cdb7424b4207f6903f1f3ddadcab49fa22f2 Author: Tomas Winkler Date: Wed Apr 23 17:15:00 2008 -0700 iwlwifi: reorganize TX RX constatns This patch moves TX/RX constants in 4969 headers Signed-off-by: Tomas Winkler Signed-off-by: Emmanuel Grumbach Signed-off-by: John W. Linville commit aade00cee60d8a2b1682b6804664049d7a369ac2 Author: Guy Cohen Date: Wed Apr 23 17:14:59 2008 -0700 iwlwifi: rate scale restructure toggle_antenna functions This patch add support for toggeling of A/B/C and AB/BC/AC antennas Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit eecd6e5705fdea75c354559339a2b1f22ec400a0 Author: Guy Cohen Date: Wed Apr 23 17:14:58 2008 -0700 iwlwifi: rate scale module cleanups This patch does following changes 1. rs_get_expected_tpt_table: changed get to set 2. changed IWL_DEBUG_HT to IWL_DEBUG_RATE as appropriate 3. changed rs_get_supported_rates to be returning value function Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 39e885049d9d5e6a65bb2543f82e136c02c253b5 Author: Guy Cohen Date: Wed Apr 23 17:14:57 2008 -0700 iwlwifi: TLC modifications 1. Merge TLC fixes from AP support code 2. Remove struct iwl4965_rate 3. Misc code restructuring Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 399f490067992715044cbf2be1923e2f613b2e18 Author: Ron Rindjunsky Date: Wed Apr 23 17:14:56 2008 -0700 iwlwifi: handle shared memory This patch generalize the use of shared memory, as size of this memory is now allocated and freed by handlers, and also changes the location of those actions for better resource management Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8614f360bdc7db8d35609a9c771601f1d45539e5 Author: Tomas Winkler Date: Wed Apr 23 17:14:55 2008 -0700 iwlwifi: check eeprom version in pci probe time This patch move eeprom version checking into pci probe stage Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b661c8190e91c0baeebf813fec7ff8e99e155a54 Author: Tomas Winkler Date: Wed Apr 23 17:14:54 2008 -0700 iwlwifi: add iwl_hw_detect function to iwl core This patch add iwl_hw_detect function to iwl core Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 91238714affef7603446207ad03a594d95d2eb9d Author: Tomas Winkler Date: Wed Apr 23 17:14:53 2008 -0700 iwlwifi: add apm init handler This patch add apm init handler to iwlcore handler Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fde0db310fd4979e0d8e6ba009975d23cc7e65ac Author: Guy Cohen Date: Mon Apr 21 15:42:01 2008 -0700 iwlwifi: HT antenna/chains overhaul 1. This patch restructures rate scale algorithm to support SISO, MIMO2, MIMO3 2. It adds support for detailed valid TX and RX antennas settings 3. It removes few unesfull antenna definitions Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d1141dfb3ab5545491e3aa15b7f0d7330a186281 Author: Emmanuel Grumbach Date: Mon Apr 21 15:42:00 2008 -0700 iwlwifi: HT IE in probe request clean up This patch cleans up the scan flow. This patch cleans up the insertion of the HT IE in the probe request. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit cc2a8ea82ef869532cb7764b9eac30338773fe88 Author: Ron Rindjunsky Date: Mon Apr 21 15:41:59 2008 -0700 iwlwifi: support 64 bit DMA masks This patch adds consistent DMA masks for 64 bit Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b73cdf27e0f412bcd01802287bb9710e6b74fca5 Author: Emmanuel Grumbach Date: Mon Apr 21 15:41:58 2008 -0700 iwlwifi: CT-Kill configuration fix This patch fixes the configuration of CT-Kill. Signed-off-by: Assaf Krauss Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fe7c4040c3d8b7de521e9a48ae583580f8e31127 Author: Guy Cohen Date: Mon Apr 21 15:41:56 2008 -0700 iwlwifi: remove support for Narrow Channel (10Mhz) Setting Narrow Channel bit in the scan command caused the device not to send probe request on all the channels Signed-off-by: Guy Cohen Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 9e5b806ce3f3943964d3f95415a21223c1983933 Author: Emmanuel Grumbach Date: Mon Apr 21 15:41:55 2008 -0700 iwlwifi: remove uneeded callback This patch removes callbacks that can be replaced by the generic one. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 82c78925eef1edc7bf96816074eae1ee59047d9a Author: Tomas Winkler Date: Mon Apr 21 15:41:54 2008 -0700 iwlwifi: remove includes to net/ieee80211.h this patch removes remaining includes to net/ieee80211.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 099b40b743df80372236ba1df9796f59ba297b1d Author: Ron Rindjunsky Date: Mon Apr 21 15:41:53 2008 -0700 iwlwifi: expanding HW parameters control This patch adds several parameters to priv.hw_params, for better control over HW capabilities variants Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 073d3f5f1b3b6512eb82a3d40c84dedb14dc6f73 Author: Tomas Winkler Date: Mon Apr 21 15:41:52 2008 -0700 iwlwifi: changing EEPROM layout handling This patch 1. changes the current EEPROM handling through a single HW struct layout representation, to more general approach, treating the EEPROM image as a flat bytes array, handling this image through ops functions and offsets. 2. Eeprom is dynamically allocated accroding HW type Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 5da4b55f78fb2ed40926b775d4f7c791594ecbd7 Author: Mohamed Abbas Date: Mon Apr 21 15:41:51 2008 -0700 iwlwifi: Add power level support Add power level support Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7eafd25d9559bd0f652449c222d38d63412e3d4a Author: Adrian Bunk Date: Mon Apr 21 11:48:34 2008 +0300 remove ieee80211_wx_{get,set}_auth() After the bcm43xx removal ieee80211_wx_{get,set}_auth() were no longer used. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit c12cf2109702c052688391f4171f239effb241bf Author: Adrian Bunk Date: Mon Apr 21 11:48:28 2008 +0300 remove ieee80211_tx_frame() After the softmac removal ieee80211_tx_frame() was no longer used. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 712590de5e5c977ff96efa3a16fcc03b0e976c3c Author: Adrian Bunk Date: Mon Apr 21 11:47:51 2008 +0300 make sta_rx_agg_session_timer_expired() static sta_rx_agg_session_timer_expired() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit f4440e8a47e216adfe32d96a35bef6d13d498b58 Author: Michael Buesch Date: Sun Apr 20 16:23:26 2008 +0200 b43: Remove some dead code This patch removes some dead code from the driver. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f5eda47f45e90dfa38e25d569b9ac84ba94f8301 Author: Michael Buesch Date: Sun Apr 20 16:03:32 2008 +0200 b43: Rewrite LO calibration algorithm This patch distributes the Local Oscillator calibration bursts over time, so that calibration only happens when it's actually needed. Currently we periodically perform a recalibration of the whole table. The table is huge and this takes lots of time. Additionally only small bits of the table are actually needed at a given time. So instead of maintaining a huge table with all possible calibration values, we create dynamic calibration settings that a) We only calibrate when they are actually needed. b) Are cached for some time until they expire. So a recalibration might happen if we need a calibration setting that's not cached, or if the active calibration setting expires. Currently the expire timeout is set to 30 seconds. We may raise that in future. This patch reduces overall memory consumption by nuking the huge static calibration tables. This patch has been tested on several 4306, 4311 and 4318 flavours. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2afc49015db927fea7bc6ca33c0a60bf5d7c2c5f Author: Larry.Finger@lwfinger.net Date: Sat Apr 19 16:24:09 2008 +0200 ssb: Allow reading of 440-byte SPROM that is not rev 4 The current code checks for the special signature that signifies a revision 4 SPROM. Now that a rev. 8 SPROM with a 440-byte length has been found that may not have any special code, this check could be relaxed. With this patch, if the CRC is incorrect for a 256-byte SPROM, the code will immediately check for a 440-byte SPROM. If there is still a CRC error, the size is set to 440 bytes, which allows dumping of most of any 512-byte SPROM if one is encountered. Signed-off-by: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3acea5b616c6d85008700a9d51cb02a81b2d0c67 Author: Ester Kummer Date: Thu Apr 17 16:05:14 2008 -0700 mac80211: correct skb allocation This patch corrects the allocation of skb in ADDBA req/resp and DELBA it removes redundant space u.addba_* are already counted in sizeof(*mgmt) Signed-off-by: Ester Kummer Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 079a253383c711d388adce527b57bd09297ee83c Author: Tomas Winkler Date: Thu Apr 17 16:03:39 2008 -0700 iwlwifi: export int iwl4965_set_pwr_src This handler is universal for most of the HW Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a693f187facbf25925bbcf201db88c5384468646 Author: Tomas Winkler Date: Thu Apr 17 16:03:38 2008 -0700 iwlwifi: define ANA_PLL values in iwl-csr.h This patch defines ANA_PLL values in iwl-csr.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe07aa7acd9ec221d4440a38ffc9a58776cb34bc Author: Ron Rindjunsky Date: Thu Apr 17 16:03:37 2008 -0700 iwlwifi: arranging aggregation actions This patch makes some renaming of the ampdu_action functions inside iwlwifi, and adds checks for correct station id in Rx flows Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 3ec47732a0be038f15a0b8d852a4e4ff9c5b0196 Author: Emmanuel Grumbach Date: Thu Apr 17 16:03:36 2008 -0700 iwlwifi: HW crypto acceleration fixes This patch fixes several issues in security: 1) the uCode doesn't know about TKIP-MMIC failure, if uCode set RX_RES_STATUS_BAD_ICV_MIC, it means ICV failure: drop the packet silently. 2) do not allocate room in the key table of the uCode is the set_key call is a replacement of an old key 3) check the keyidx of the key in the uCode before removing it upon disable_key call Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit c6adbd2158fee972adcc6232de5e2ef375f1f782 Author: Ivo van Doorn Date: Thu Apr 17 21:11:18 2008 +0200 mac80211: Add IEEE80211_KEY_FLAG_PAIRWISE This adds a new flag to the ieee80211_key_conf structure. This flag will inform the driver the key is pairwise rather then a shared key. This is important for drivers who support both types of keys, and need to be informed which type of key this is. Alternative would be drivers checking the address argument of set_key(), but it will be safer when mac80211 is more explicit. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 988c0f723d0b1abb399e6e71d8bf3f8bf1949a70 Author: Johannes Berg Date: Thu Apr 17 19:21:22 2008 +0200 mac80211: a few code cleanups This has some code cleanups (some inspired by checkpatch), I got bored at probably a third of the output though so if somebody else wants to... Signed-off-by: Johannes Berg commit 1c014420583564ac09e3b67006f2e7050861e66b Author: Ivo van Doorn Date: Thu Apr 17 19:41:02 2008 +0200 mac80211: Replace ieee80211_tx_control->key_idx with ieee80211_key_conf The hw_key_idx inside the ieee80211_key_conf structure does not provide all the information drivers might need to perform hardware encryption. This is in particular true for rt2x00 who needs to know the key algorithm and whether it is a shared or pairwise key. By passing the ieee80211_key_conf pointer it assures us that drivers can make full use of all information that it should know about a particular key. Additionally this patch updates all drivers to grab the hw_key_idx from the ieee80211_key_conf structure. v2: Removed bogus u16 cast v3: Add warning about ieee80211_tx_control pointers v4: Update warning about ieee80211_tx_control pointers Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 6f4083aadd57e3da12fa4e67fcadaec23138a315 Author: Tomas Winkler Date: Wed Apr 16 16:34:49 2008 -0700 iwlwifi: cleanup set_pwr_src This patch cleans up semantic of set_pwr_src set_pwr_src is now part of apm handlers group in iwlcore Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 947b13a7ccd31d8adbf41f466d6a1c770461596a Author: Tomas Winkler Date: Wed Apr 16 16:34:48 2008 -0700 iwlwifi: move find station to iwl-sta.c This patch move iwl_find_station into iwl-sta.c file Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f0832f137c21d130998a0f97f97ac01a2d97210b Author: Emmanuel Grumbach Date: Wed Apr 16 16:34:47 2008 -0700 iwlwifi: HW dependent run time calibration This patch does several things: 1) rename CONFIG_IWL4965_SENSITIVITY to IWL4965_RUN_TIME_CALIB which is better semantic 2) move all the run time calibration to a new file: iwl-calib.c 3) simplify the sensitivity calibration flow and make it HW dependent 4) make the chain noise calibration flow HW dependent Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7022b15e2a9f878fd5184586064c63352c3dd225 Merge: aaad2b0... a153063... Author: Jiri Kosina Date: Tue May 6 16:57:55 2008 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 91949d64548ead31df51c9fb6f7201ca8ffc9b51 Author: Alexander Belyakov Date: Sun May 4 14:32:58 2008 +0400 [MTD] [NOR] Remove cfi_cmdset_0001.c erase suspend fixup typo Fix typo in erase suspend while write fixup code leading to compile time error if CMDSET0001_DISABLE_ERASE_SUSPEND_ON_WRITE was defined. drivers/mtd/chips/cfi_cmdset_0001.c: In function 'fixup_intel_strataflash': drivers/mtd/chips/cfi_cmdset_0001.c:212: error: 'struct cfi_pri_amdstd' has no member named 'SuspendCmdSupport' Signed-off-by: Alexander Belyakov Signed-off-by: David Woodhouse commit a7ca0268b5dfffcaa8a1fe40c6eccdeac50fa3ea Author: Allan Stephens Date: Mon May 5 01:24:36 2008 -0700 tipc: Update version number to TIPC 1.6.4 This patch updates TIPC's version number to 1.6.4. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 48c971394626173eaf1c33441ea1d900c88b21a3 Author: Allan Stephens Date: Mon May 5 01:24:06 2008 -0700 tipc: Exclude debug-only print buffer code when not debugging This patch modifies TIPC to only exclude debug-related print buffer routines when debugging capabilities are not required. It also fixes up some related #defines that exceed 80 characters. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 6063da9d74d4da812ae0d8f233b7e320e15765e3 Author: Allan Stephens Date: Mon May 5 01:23:34 2008 -0700 tipc: Cosmetic cleanup of system & debug output declarations This patch contains changes to make TIPC's system & debug message declarations more readable. Declarations have been regrouped and recommented to make it easier to understand what output is generated in both standard and debugging modes. In addition, oversize lines have been fixed to respect the 80 character upper bound used in the kernel. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 7d3aa71239f588215b5a7c359f05155b192d8081 Author: Allan Stephens Date: Mon May 5 01:22:59 2008 -0700 [TIPC]: Cosmetic cleanup of print buffer code This patch contains changes to make TIPC's print buffer code conform more closely to Linux kernel coding guidelines. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit c89039850bdf8047472b4ee6132048dacef2cf5a Author: Allan Stephens Date: Mon May 5 01:22:30 2008 -0700 tipc: Elimination of print buffer chaining This patch revamps TIPC's print buffer subsystem to eliminate support for arbitrary chains of print buffers, which were rarely needed and difficult to use safely. In its place, print buffers can now be configured to echo their output to the system console. This provides an equivalent for the only chaining currently utilized by TIPC, in a faster and more compact manner. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 40dbfae440abe6860167f12e0296bd7a1a599839 Author: Allan Stephens Date: Mon May 5 01:21:54 2008 -0700 tipc: Fix null pointer dereference in debug code This patch eliminates an obsolete use of the DBG_OUTPUT print buffer which could lead to a null pointer crash in tipc_printf() if TIPC's debugging capabilities are configured. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 93758c3da19e99f5377cc1413c27320882b18f4b Author: Allan Stephens Date: Mon May 5 01:21:12 2008 -0700 tipc: Fix recursive spinlock invocation in print buffer code This patch fixes two routines that allow the global print buffer spinlock to be taken recursively. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit fb98ec71c7f81b6db9b793aeb9d53823b6960d8b Author: Allan Stephens Date: Mon May 5 01:20:42 2008 -0700 tipc: Provide feedback when log buffer resizing fails This patch provides feedback to the user when TIPC is unable to set its log buffer to the requested size. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 025adbe8e58290798001b472aec3eb618d8fc930 Author: Allan Stephens Date: Mon May 5 01:20:04 2008 -0700 tipc: Simplify log buffer resizing This patch simplifies & standardizes the way TIPC's print buffer log is resized. Code to terminate use of the log buffer is eliminated by simply setting the log buffer size to 0 bytes. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e055d5bff318845f99c0fbf93245767fab8dce88 Author: Adrian Bunk Date: Tue Apr 22 01:43:27 2008 +0100 [ARM] 5015/1: arm: remove ARCH_CO285 Trying to compile a kerel for ARCH_CO285 fails with the following error: <-- snip --> ... CC arch/arm/mach-footbridge/dc21285.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c: In function 'dc21285_base_address': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:54: error: 'PCICFG0_BASE' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:54: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:54: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:57: error: 'PCICFG1_BASE' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c: In function 'dc21285_scan_bus': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/arm/mach-footbridge/dc21285.c:286: error: implicit declaration of function 'pci_scan_bus' ... make[2]: *** [arch/arm/mach-footbridge/dc21285.o] Error 1 <-- snip --> This does not seem to be a recent breakage. The ARCH_CO285 support is old - kernel 2.2.0 contains first traces of it, an it seems to have been pretty complete in later 2.2 kernels. Since it seems to be completely dead code now this patch therefore removes it. Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit aaad2b0c757f3e6e02552cb0bdcd91a5ec0d6305 Author: Jiri Kosina Date: Wed Apr 23 16:39:43 2008 +0200 HID: fix report descriptor handling for MS Wireless model 1028 Fix a typo in report descriptor fixup, which results in improper substitution and leaving old value in place. Reported-by: Juha Motorsportcom Signed-off-by: Jiri Kosina commit 7e36e2f5355ab87f8946041d044b34cda01e2077 Author: Rod Whitby Date: Tue Apr 1 10:53:23 2008 +0100 [ARM] 4874/2: ixp4xx: Add support for the Freecom FSG-3 board The Freecom-FSG3 is a small network-attached-storage device with the following feature set: * Intel IXP422 * 4MB Flash (ixp4xx flash driver) * 64MB RAM * 4 USB 2.0 host ports (ehci and ohci drivers) * 1 WAN (eth1) and 3 LAN (eth0) ethernet ports * Supported by the open source ixp4xx ethernet driver * Via VT6421 disk controller (libata and sata-via drivers) * Internal hard disk (PATA supported, SATA not yet supported) * External SATA port (not yet supported) * ISL1208 RTC chip * Winbond 83782 temp sensor and fan controller * MiniPCI slot The ixp4xx_defconfig is also updated to support this device (the leds-fsg driver is to be submitted separately via the leds tree after this initial support is merged, as it depends on header gpio defines). Signed-off-by: Rod Whitby Signed-off-by: Russell King